Annotation Type Computed


  • @Target({TYPE,FIELD})
    @Retention(RUNTIME)
    @Inherited
    public @interface Computed
    This annotation marks a type or feature as computed. This means, that the persistent contents of that type or feature are not allowed to be modified by human users directly, using some generic editing facility. Typically such a type or feature is modified (computed) by some application logic instead.

    Types
    A generic editing facility for human users MUST NOT allow the human user to directly cause creation or deletion of items of any computed type.

    Making a type computed does not imply, that the type's features are computed as well.

    Features
    A generic editing facility for human users MUST NOT allow the human user to directly specify the value of any computed feature. This applies both to creation and modification of items.

    A generic editing facility for human users MAY allow human users to trigger application logic that (indirectly) modifies computed types or features.

    This annotation does not specify, whether a feature or type shall be shown to a human user.