@Retention(value=RUNTIME) @Target(value={FIELD,PARAMETER}) @Documented @InjectionScope public @interface ConcernFor
The type of the field must be of the same type as the Concern itself, or an InvocationHandler.
Example;
public interface MyStuff
{
void doSomething();
}
public class MyStuffConcern
implements MyStuff
{
@ConcernFor MyStuff next;
public void doSomething()
{
// HERE DO THE MODIFIER STUFF.
// Delegate to the underlying mixin/modifier.
next.doSomething();
}
}