On 2010-06-04 19.32, Niclas Hedhman wrote:
I have no strong GutFeeling(tm) either way on this.

But perhaps slightly more inclined towards;

* All declared concerns and side-effects are executed for public
methods regardless of where the call is originating from.

Seems to be easiest to explain that way.

I have implemented this now.

The implementation is basically that public methods in a mixin are overridden, and calls to them will route the call to the proxy. After having gone through concerns the mixin is invoked on a generated method with name "_methodname()", which then calls "super.methodname()". This avoids infinite loops which otherwise would occur if simply "methodname()" was invoked.

As a side-effect it *seems* as though the performance is actually improved by this. It could be that using the mixin-class-methods for the invoke rather than the interface method is faster, but I'm not sure.

In any case, it works now. All tests pass.

/Rickard

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to