You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Daniel Keir Haywood (Jira)" <ji...@apache.org> on 2021/01/17 18:55:00 UTC
[jira] [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.
[ 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)