Description
TO UPDATE: we are now thinking to simplify this to two uptions (As per https://the-asf.slack.com/archives/CFC42LWBV/p1625209487155700?thread_ts=1624911448.097500&cid=CFC42LWBV):
- annotations all explicit: the rigorous and strict recommended way, with the benefit of supporting non-public members and member supporters
- annotations all optional: only supporting public members and member supporters, and also less rigorous MM validation
We already have this for actions (https://apache-isis-committers.github.io/isis-nightly/refguide/latest/config/sections/isis.applib.html#isis.applib.annotation.action.explicit ).
This is for symmetry, but also to work with ISIS-2774 or two which is to be able to read direct from fields and support non-public supporting mehods; all of this would allow us to reduce boilerplate still further, and remove the use for @Programmatic if explicit=true for all of actions, properties and collections and supporting methods.
- isis.applib.annotation.action.explicit=true|false
- isis.applib.annotation.property.explicit=true|false
- isis.applib.annotation.collection.explicit=true|false
- isis.applib.annotation.memberSupport.explicit=true|false
and also one for all, with the ability go ignore selected packages (eg if 3rd party)
- isis.applib.annotation.all.explicit=true|false
- isis.applib.annotation.all.explicitExceptions=com.foo,com.bar
See also discussion: https://the-asf.slack.com/archives/CFC42LWBV/p1625205578149000?thread_ts=1624911448.097500&cid=CFC42LWBV