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

ASF subversion and git services commented on ISIS-1548:
-------------------------------------------------------

Commit 147f4c5d4a4eb7541b06a628b7d666bc5169c4f5 in isis's branch 
refs/heads/maint-1.13.2 from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=147f4c5 ]

ISIS-1548: extends @Mixin and @DomainObject to accept (mixin)method() 
attribute; updates facets; updates algorithm for inferring mixin name/id based 
on when the name of the method being processed matches this attribute (rather 
than hard-coded "$$" as previously).

Also, supports using "$" (as well as "_") as the separator for 
MixinType_mixinName (ie for nested static classes).

Most of the stuff in ObjectMemberAbstract, plus the three Mixin classes, 
ObjectActionMixedIn, OneToOneAssociationMixedIn, OneToManyAssociationMixedIn.


> Allow @Mixin annotation to specify the method name to use (instead of '$$') 
> meaning to infer the mixin name from the mixin type.  Also, allow '$' to be 
> used as separator of the mixin type.
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-1548
>                 URL: https://issues.apache.org/jira/browse/ISIS-1548
>             Project: Isis
>          Issue Type: Improvement
>    Affects Versions: 1.13.1
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: 1.13.2
>
>
> The current mixin conventions gives rise to code such as:
> {code}
> mixin(Invoice._approve.class, invoice).$$();
> {code}
> where:
> {code}
> public class Invoice {
>     ...
>     @Mixin
>     public static class _approve {
>         ...
>         public Invoice $$() { ... }
>     }
> }
> {code}
> We'd like it instead to read:    
> {code}
> mixin(Invoice.Approve.class, invoice).exec();
> {code}
> ie:
> * change "$$" to "exec" (or any other verb)
> * not require the leading "_" in the mixin name
> * allow the class to be capitalized
> Suggestion is:
> {code}
> public class Invoice {
>     ...
>     @Mixin(method="exec")
>     public static class Approve {
>         public void exec() { ... }
>     }
> }
> {code}
> or (if using `@DomainObject`)
> {code}
> public class Invoice {
>     ...
>     @DomainObject(nature=MIXIN, mixinMethod="exec")
>     public static class Approve {
>         public void exec() { ... }
>     }
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to