isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Pliessnig <p.pliess...@gmx.net>
Subject Re: v2 - explicit vs implicit annotations
Date Fri, 28 Dec 2018 11:27:06 GMT
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
>


Mime
View raw message