[ 
https://issues.apache.org/jira/browse/ISIS-2161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16937607#comment-16937607
 ] 

Andi Huber commented on ISIS-2161:
----------------------------------

It turns out that we can solve this issue, without having to introduce any new 
concepts (or extending the programming model):

Simply allow explicitly annotated members to be named with currently reserved 
prefixes.
{code:java}
// should be a valid action name, even though 'disable' is reserved
@Action
public void disableUser(User user) { 
...
}
{code}

> Remove domain-object member naming restrictions (reserved prefixes)
> -------------------------------------------------------------------
>
>                 Key: ISIS-2161
>                 URL: https://issues.apache.org/jira/browse/ISIS-2161
>             Project: Isis
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Andi Huber
>            Assignee: Andi Huber
>            Priority: Major
>             Fix For: 2.0.0
>
>
> Currently the prefixes 'hide', 'validate', 'disable', etc are reserved for 
> supporting-methods and may not be used for Actions and Properties.
> We can lift this restriction:
>  * If a member is annotated Action/Property/Collection, then we allow any 
> names for this member, even if these collide with the 'reserved' prefixes!
> It is inconvenient, when misspelling support-methods eg. using 'verify' 
> instead of 'validate', that one has to troubleshoot the application later, 
> only to find out that one made a sloppy mistake.
>  * We can improve on this by introducing a new annotation eg. 'Model' to 
> enforce a meta-model check on the correct naming of supporting-methods.
> {code:java}
> @Action
> void placeOrder(X x, Y y, Z z) {...}
> @Model // <-- enforces a meta-model check on this supporting-method
> boolean hidePlaceOrder() {...}
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to