Skip to content

Qi4j ordering concern stack and call stack revisited (Rickard - this is homework for you...

the left and up principle...

(the most specific ones will be called first - which is in most cases (but nok all) wrong...

/* * Alternative strategies /

// Inheriting @Concerns, imporant.. super concerns first @Concern(Security.class,Transaction.class) public interface MyCompanyComposite{}

@Concern(MyApplicationConcern.class) public interface MyApplicationComposite extends MyCompanyComposite{}

// Inheriting @Concerns not allowed @Concern(Security.class,Transaction.class) public @interface MyCompanyConcerns{}

@MyCompanyConcern @Concern(MyApplicationConcern.class) public interface MyApplicationComposite extends MyCompanyComposite{}

// Explicit ordering with implicit super concerns as first element if omitted @Concern(Security.class,Transaction.class) public interface MyCompanyComposite{}

@Concern(Security.class,MyApplicationConcern.class,SuperConcerns.class) public interface MyApplicationComposite extends MyCompanyComposite{}