You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2016/01/04 10:05:39 UTC

[jira] [Updated] (ISIS-844) Support custom annotations as higher-level semantics (a la BeanVal)

     [ https://issues.apache.org/jira/browse/ISIS-844?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood updated ISIS-844:
-----------------------------
    Fix Version/s:     (was: 1.12.0)
                   1.13.0

> Support custom annotations as higher-level semantics (a la BeanVal)
> -------------------------------------------------------------------
>
>                 Key: ISIS-844
>                 URL: https://issues.apache.org/jira/browse/ISIS-844
>             Project: Isis
>          Issue Type: New Feature
>          Components: Core
>    Affects Versions: core-1.6.0
>            Reporter: Dan Haywood
>            Assignee: Dan Haywood
>            Priority: Minor
>             Fix For: 1.13.0
>
>
> For example, a contributed collection requires:
> import org.apache.isis.applib.annotations.*;
> @ActionSemantics(Of.SAFE)
> @NotContributed(As.ASSOCIATION)
> @NotInServiceMenu
> @Render(Type.EAGERLY)
> public List<Foo> getFoos() { ... }
> it would be nice to allow the user to simplify the programming model.  For example:
> package com.mycompany.isis;
> import org.apache.isis.applib.annotations.*;
> @ActionSemantics(Of.SAFE)
> @NotContributed(As.ASSOCIATION)
> @NotInServiceMenu
> @Render(Type.EAGERLY)
> public @interface ContributedCollection {}
> and then:
> import com.mycompany.isis.*;
> @ContributedCollection
> public List<Foo> getFoos() { ... }
> ~~~
> Thus, Isis continues to define the base "primitive" semantics, but the end-programmer is free to introduce higher-level semantics/abstractions if they so wish.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)