[
https://issues.apache.org/jira/browse/ISIS-2161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16935805#comment-16935805
]
Andi Huber commented on ISIS-2161:
----------------------------------
Proposed new behavior:
{code:java}
public class Object1 {
@Property @Getter @Setter
private String myProperty;
// proper supporting-method naming, will get picked up by the framework and
added
// to the metamodel (no annotation required)
public boolean hideMyProperty() {
return false;
}
}
public class Object2 {
@Property @Getter @Setter
private String myProperty;
// allowed, nothing wrong with that, might either be picked up as an action
// or gets ignored, depending on the framework's configuration,
// whether the @Action annotation is mandatory or not;
// however, this is no supporting-method!
public boolean hideWhatever() {
return false;
}
}
public class Object3 {
@Property @Getter @Setter
private String myProperty;
// will fail, because this method is clearly orphaned
@Model
public boolean hideWhatever() {
return false;
}
}
{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)