Цель @NotNull.Список
когда я посмотрел среди стандартных ограничения в API проверки бобов (JSR-303) я нашел NotNull.List
Примечание. Описание:
определяет несколько аннотаций @NotNull на одном элементе
это допустимый синтаксис:
@NotNull.List({@NotNull, @NotNull})
private Object myObject;
но это не имеет смысла. Любой объект имеет значение null или нет. Когда вы будете использовать эту аннотацию?
есть несколько других подобных аннотаций, таких как AssertFalse.List
и AssertTrue.List
.
2 ответов
вы можете иметь несколько аннотаций @NotNull, которые являются взаимоисключающими на основе атрибута group.
@NotNull.List({@NotNull(groups=Foo.class,message="Some message!"),
@NotNull(groups=bar.class, message="Some other message!"})
private Object myObject;
Я согласен, что это немного глупо для этого примера, так как только полезная нагрузка и сообщение могут быть затронуты, но, вероятно, они должны оставаться согласованными с другими аннотациями.
посмотреть здесь для получения более подробной информации.
Что касается случая @NotNull, может потребоваться несколько аннотаций @NotNull для разных групп проверки, как объяснил @dfb. Но то же самое может быть осуществляется путем перечисления этих групп в группы атрибутов. Это хорошо объясняется здесь с тестовыми случаями
в API проверки бобов javadoc, для каждой аннотации ограничения, есть соответствующие .Список аннотаций. Например, для @NotNull, есть @NotNull.Список, для которого JavaDoc говорит:
определяет несколько аннотаций @NotNull на одном элементе
Что бы вы сделали с несколькими аннотациями @NotNull, которые вы не удается выполнить с одним @NotNull?