Hiding properties

The hidden() element attribute indicates where (in the UI) the property should be hidden from the user.

The acceptable values for the where parameter are:

  • Where.EVERYWHERE or Where.ANYWHERE

    The property should be hidden everywhere.

  • Where.ANYWHERE

    Synonym for everywhere.

  • Where.OBJECT_FORMS

    The property should be hidden when displayed within an object form.

  • Where.PARENTED_TABLES

    The property should be hidden when displayed as a column of a table within a parent object’s collection.

  • Where.STANDALONE_TABLES

    The property should be hidden when displayed as a column of a table showing a standalone list of objects, for example as returned by a repository query.

  • Where.ALL_TABLES

    The property should be hidden when displayed as a column of a table, either an object’s * collection or a standalone list. This combines PARENTED_TABLES and STANDALONE_TABLES.

  • Where.NOWHERE

    The property should not be hidden, overriding any other metadata/conventions that would normally cause the property to be hidden.

The RestfulObjects viewer has only partial support for these Where enums.

Examples

For example:

import lombok.Getter;
import lombok.Setter;

public class Customer {

    @PropertyLayout(
        hidden=Where.ALL_TABLES
    )
    @Getter @Setter
    private int internalId;

    // ...
}

As one specific use case, if a property is annotated with @Title, then normally this should be hidden from all tables. Annotating with @Property(where=Where.NOWHERE) overrides this.

Alternatives

It is also possible to use @PropertyLayout#hidden to hide a property at the domain layer.