[ https://issues.apache.org/jira/browse/ISIS-1001?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood closed ISIS-1001. ------------------------------------- > [WON'T FIX] For hard-coded methods such as title(), iconName(), and > cssClass(), hidden(), disabled(), validate(), provide an alternative > mechanism to specify such methods. > ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: ISIS-1001 > URL: https://issues.apache.org/jira/browse/ISIS-1001 > Project: Isis > Issue Type: New Feature > Components: Isis Applib (programming model) > Affects Versions: core-1.7.0 > Reporter: Daniel Keir Haywood > Assignee: Daniel Keir Haywood > Priority: Minor > Fix For: 2.0.0-M5 > > > 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: > {code} > @Hook(HookType.TITLE) > String someOtherMethodActingLikeTitle() { ... } > @Hook(HookType.ICON_NAME) > String someMethodActingLikeIconName() { .... } > @Hook(HookType.CSS_CLASS) > String someMethodActingLikeCssClass() { ... } > {code} > If an annotation doesn't appeal, we could instead define a special prefix, eg > "__isis_xxx" (cf JUnit3's testXxx). For example: > {code} > String __isis_title() { ... } > String __isis_iconName() { ... } > String __isis_cssClass() { ... } -- This message was sent by Atlassian Jira (v8.3.4#803005)