[ https://issues.apache.org/jira/browse/ISIS-1846?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16334084#comment-16334084 ]
Andi Huber edited comment on ISIS-1846 at 1/22/18 10:03 AM: ------------------------------------------------------------ One possible solution: We consolidate all internal utility classes in *isis-core-applib* under *org.apache.isis.applib.internal.xxx*, put some 'Please do not use, will be removed with Java9' warnings into each classes java-doc and ignore the fact, that some developers might accidentally use these classes. We could use a class naming convention for 'internal' classes like prefixing with the dollar character ... * $StringExtenstions * $NullSafe * $Casts to further reduce the risk of misuse. ... was (Author: hobrom): One possible solution: We consolidate all internal utility classes in *isis-core-applib* under *org.apache.isis.applib.internal.xxx*, put some 'Please do not use, will be removed with Java9' warnings into each classes java-doc and ignore the fact, that some developers might accidentally use these classes. > API Cleanup: code deduplication > ------------------------------- > > Key: ISIS-1846 > URL: https://issues.apache.org/jira/browse/ISIS-1846 > Project: Isis > Issue Type: Sub-task > Components: Core > Reporter: Andi Huber > Priority: Major > Fix For: 2.0.0-M1 > > > isis-core-applib would be the perfect place to consolidate any internal > utility classes such as > NullSafe (common null check idioms), StringExtensions, ordering algorithms, > etc ... > but we would want to keep these classes contained, meaning they should not be > available for public use, just for internal use within Isis' code-base. > Java 9 has the perfect solution for this. But what can we do in the meantime > (with Java 8)? -- This message was sent by Atlassian JIRA (v7.6.3#76005)