Hi guys,
There's not been much update lately, as I've been able to (finally) have
some vacation. Now I'm back in business, and have continued working on
the Qi4j 2.0 updates.
The internal engine has been significantly simplified, ripping out all
assembly algorithms into the assembly. As a consequence of this, lots of
classes went away, as all the polymorphism on how to handle different
types of composites now resides in the assembly code instead of in the
model.
I've also changed so that composites that you develop do not have to
extend *Composite interfaces. Whereas before you had to do:
interface MyComposite
extends TransientComposite
{
... methods
}
you can now register this:
interface MyComposite
{
... methods
}
The Qi4j engine will notice this, and add TransientComposite to the
final proxy class anyway, so "obj instanceof TransientComposite" will
still be true. The majority of methods in *Composite have been removed
and put into descriptors accessible through the Qi4j API, so there are
no "special methods" in those *Composite interface that needs to be
implemented.
As a consequence of this, all the algorithms for determining where to
find mixin implementations, concerns/sideeffects, etc. have been
simplified, and I think some bugs have been squashed as well, as it is
more consistent now in how these lookups work.
If you want to check it out, do a pull on "v2.0" branch.
/Rickard
_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev