Gang (esp Rickard),

As the code is right now; If I declare a EntityComposite as a private
mixin, the runtime will try to "link it up" with mixins declared for
the Composite it resides in.

For instance;

public interface Abc
{
    void doSomething();
}

@Mixins( AbcMixin.class )
public interface AbcComposite extends Abc, Composite
{}

public class AbcMixin
    implements Abc
{
    @This SomeOtherComposite privateMixin;
}

However, if SomeOtherComposite is an EntityComposite, then EntityMixin
is not available in the AbcComposite, and hence will fail since the
EntityMixin is built into the EntityMixinsModel.

Now, we could either do a lookup in the ModuleModel, or parse the
Entity type again.

A lot depends on the semantics.

If the private mixin really IS private, then it sounds strange that it
needs to be declared in the ModuleAssembly, hence a lookup in
ModuleModel may fail. But we also like the idea that things are
visible in the assembly, so I am a bit split on the issue, and don't
know which way to go here...


Cheers
Niclas

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

Reply via email to