Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
core-1.7.0
-
None
Description
The methods involved are:
- title()
- iconName()
- cssClass() (introduced in
ISIS-1000)
and the (probably to be deprecated) callback methods:
- loaded()
- saving()/persisting()
- saved()/persisted()
- updating()
- updated()
- removing()/deleting()
- deleted()/deleted()
In all cases, if the method is annotated with @Action (ISIS-990) or with @Programmatic then it no facet should be installed (that is, action takes precedence).
Also, if there is a clashing action, then an annotation should indicate the method (analogous to junit's @Test annotation). Since these are all hook methods for Isis to call, I suggest the annotation is called @Hook, eg:
@Hook(HookType.TITLE) String someOtherMethodActingLikeTitle() { ... } @Hook(HookType.ICON_NAME) String someMethodActingLikeIconName() { .... } @Hook(HookType.CSS_CLASS) String someMethodActingLikeCssClass() { ... }
If an annotation doesn't appeal, we could instead define a special prefix, eg "__isis_xxx" (cf JUnit3's testXxx). For example:
String __isis_title()
{ ... }String __isis_iconName() { ... }
String __isis_cssClass()
{ ... }