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