isis-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dan Haywood <...@haywood-associates.co.uk>
Subject Re: v2 - explicit vs implicit annotations
Date Fri, 28 Dec 2018 11:48:00 GMT
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 <p.pliessnig@gmx.net> 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
> >
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message