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 2014/07/28 15:50:39 UTC

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

Dan Haywood created ISIS-844:
--------------------------------

             Summary: 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: core-2.0.0


For example, a contributed collection requires:

@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;

@ActionSemantics(Of.SAFE)
@NotContributed(As.ASSOCIATION)
@NotInServiceMenu
@Render(Type.EAGERLY)
public @interface ContributedCollection {}

and then:

@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.2#6252)