Submodules - yes, that's a good point, I hadn't considered that at all. I suppose it also makes sense to be able to specify using the Module interface as well, to create some sort of search hierarchy : class -> module -> global.
But perhaps one step at a time. Thx! Dan On Fri, 28 Dec 2018 at 11:27, Patrick Pliessnig <[email protected]> wrote: > Hi Dan > > In a reuse scenario a local configuration of the annotation property is > certainly useful. I guess that if you want to integrate an existing > subdomain module into a destination application, a configuration > property at the class or module level could ease the job. > > Patrick > > > Am 28.12.2018 um 11:54 schrieb Dan Haywood: > > Hi folks, > > > > ... and happy holidays! > > > > We currently have the configuration property > > "isis.reflector.explicitAnnotations.action" which if specified > > requires @Action to be added as an annotation for all public methods that > > don't represent properties/collections or supporting methods. If this is > > enabled then there's generally no need to annotate public methods that > > aren't meant to be in the metamodel with the @Programmatic annotation. > > > > Andi and I have just been discussing this (off-list) and wondering if we > > should extend this in v2. Our idea is maybe to allow this to be > specified > > at the class level, and to also have three levels rather than two: > > > > - explicit : all properties, collections and actions must be annotated > > - actions : actions must be annotated, but properties and collections > need > > not. This is the behavior if the above configuration property is > specified. > > - implicit : no annotations are required. This is the current default > > > > So, we were thinking to add a value to @DomainObject, eg > > > > @DomainObject(metamodelDiscoveryStrategy = EXPLICIT | ACTIONS | IMPLICIT > | > > AS_CONFIGURED) > > > > where "AS_CONFIGURED" would read a new configuration property that would > > take these three values (replacing the existing > > "isis.reflector.explicitAnnotations.action". > > > > Two questions: > > > > 1. is the idea of a new level to explicitly annotate everything > (properties > > and collections as well as actions) useful ? > > 2. is there a need to configure this on a class-by-class basis, or is a > > global configuration property sufficient? > > > > Thx > > Dan > > > >
