[ 
https://issues.apache.org/jira/browse/ISIS-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Keir Haywood updated ISIS-2774:
--------------------------------------
    Description: 
Rationale here is: encapsulation, "tell not ask".

Thus:
 * Our definition of a property or collection should be _either_ with a 
publicly available getter or setter, or a field annotated with @Property or 
@Collection.
 * Our definition of an action should be _either_ a publicly available method 
(if explicit actions config property not set), _or_ a method with any 
visibility and annotated with @Action.
 * Our definition of a supporting method is either one with public visibility 
or with some other visibility but annotated with @MemberSupport.

See this blog 
[https://thorben-janssen.com/access-strategies-in-jpa-and-hibernate/] for 
reasons as to why field-level annotations are also recommended for ORMs (JPA in 
this case).

  was:
Our definition of a property or collection should be _either_ with a publicly 
available getter or setter, or a field annotated with @Property or @Collection.

See this blog 
[https://thorben-janssen.com/access-strategies-in-jpa-and-hibernate/] for 
reasons as to why this is also recommended for ORMs (JPA in this case).

Our definition of a supporting method is either one with public visibility or 
with some other visibility but annotated with @MemberSupport.


> Allow members (and their supporting methods).  Allow properties/collections 
> to have no getters & setters.
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: ISIS-2774
>                 URL: https://issues.apache.org/jira/browse/ISIS-2774
>             Project: Isis
>          Issue Type: Improvement
>          Components: Isis Core
>    Affects Versions: 2.0.0-M5
>            Reporter: Daniel Keir Haywood
>            Priority: Major
>             Fix For: 2.0.0-M6
>
>
> Rationale here is: encapsulation, "tell not ask".
> Thus:
>  * Our definition of a property or collection should be _either_ with a 
> publicly available getter or setter, or a field annotated with @Property or 
> @Collection.
>  * Our definition of an action should be _either_ a publicly available method 
> (if explicit actions config property not set), _or_ a method with any 
> visibility and annotated with @Action.
>  * Our definition of a supporting method is either one with public visibility 
> or with some other visibility but annotated with @MemberSupport.
> See this blog 
> [https://thorben-janssen.com/access-strategies-in-jpa-and-hibernate/] for 
> reasons as to why field-level annotations are also recommended for ORMs (JPA 
> in this case).



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

Reply via email to