Для свойств конфигурационных интерфейсов могут быть заданы значения по умолчанию. Эти значения будут возвращаться вместо null
, если данный параметр не задан в месте хранения - в БД или в app.properties
.
Значение по умолчанию может быть задано в виде строки с помощью аннотации @Default
, либо в виде конкретного типа с помощью других аннотаций пакета com.haulmont.cuba.core.config.defaults
:
@Property("cuba.email.adminAddress") @Default("address@company.com") String getAdminAddress(); @Property("cuba.email.delayCallCount") @Default("2") int getDelayCallCount(); @Property("cuba.email.defaultSendingAttemptsCount") @DefaultInt(10) int getDefaultSendingAttemptsCount(); @Property("cuba.test.dateProp") @Default("2013-12-12 00:00:00.000") @Factory(factory = DateFactory.class) Date getDateProp(); @Property("cuba.test.integerList") @Default("1 2 3") @Factory(factory = IntegerListTypeFactory.class) List<Integer> getIntegerList(); @Property("cuba.test.stringList") @Default("aaa|bbb|ccc") @Factory(factory = StringListTypeFactory.class) List<String> getStringList();
Для сущностей значение по умолчанию задается строкой вида {entity_name}-{id}-{optional_view_name}
, например:
@Default("sec$User-98e5e66c-3ac9-11e2-94c1-3860770d7eaf-browse") User getAdminUser(); @Default("sec$Role-a294aef0-3ac9-11e2-9433-3860770d7eaf") Role getAdminRole();