You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2021/09/01 05:32:00 UTC
[jira] [Commented] (ISIS-2774) Allow members (and their supporting
methods) to have non-public visibility. Allow properties/collections to
have no getters & setters, or non-public getters and setters.
[ https://issues.apache.org/jira/browse/ISIS-2774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17407831#comment-17407831 ]
ASF subversion and git services commented on ISIS-2774:
-------------------------------------------------------
Commit 32c8522ba9cbab4e93dfd6a8d29324b94bf4f13e in isis's branch refs/heads/master from Andi Huber
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=32c8522 ]
ISIS-2774: cheat sheet: typos, corrections, add array as coll. type
> Allow members (and their supporting methods) to have non-public visibility. Allow properties/collections to have no getters & setters, or non-public getters and 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
> Assignee: Andi Huber
> Priority: Major
> Fix For: 2.0.0-M7
>
>
> See also ISIS-2782, which is closely related. And discussion at https://the-asf.slack.com/archives/CFC42LWBV/p1625205578149000?thread_ts=1624911448.097500&cid=CFC42LWBV
>
> ~~~~~~
> 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)