Hey,

With the idea that the Constraint implementation should be declarable in 
the annotation that drives it (e.g. @NotNull specifies 
@Constraints(NotNullConstraint.class)) it opens up for the question if 
this should be done for SideEffects and Concerns as well. Taking the 
previous executor example:
@SideEffects(ExecutorSideEffect.class)
@Mixins(TestMixin.class)
public interface TestComposite
     extends Composite
{
     @ExecuteSideEffect( LogCall.class)
     String doStuff();
}
---
would become:
@Mixins(TestMixin.class)
public interface TestComposite
     extends Composite
{
     @ExecuteSideEffect( LogCall.class)
     String doStuff();
}
and the ExecuteSideEffect would declare 
@SideEffects(ExecutorSideEffect.class) instead.

This I don't have so much problem with really. It just makes it easier 
to use annotation-triggered side-effects. However, if this is taken one 
step further to Concerns it gets a little worse, since Concern ordering 
is usually important. Then the order will be dependenant on the order of 
annotations on methods, which seems kind of fragile. But it would 
certainly simplify the declaration of the concerns.

Any thoughts on this?

/Rickard

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

Reply via email to