Итак, вот моя проблема: я ищу способ проверки специальных (и, возможно, вложенных) карт, похожий на способ проверки Java-бина с использованием инфраструктуры на основе аннотаций.Если бы у меня были полнофункциональные bean-компоненты для каждого из моих объектов запроса, я бы аннотировал их и проверял их, используя что-то вроде Hibernate Validator или OVal.
Где компонент может иметь аннотации, подобные этой:
public class MyBean {
@NotEmpty(message = "Name can't be empty!")
@Length(max = 255, message = "Name can't have more than 255 characters!")
private String name;
}
Я ищу способ создания валидатора, который может выглядеть следующим образом:
Validator validator = new Validator()
.addConstraint("name", new NotEmptyConstraint("Name can't be empty!"))
.addConstraint("name", new LengthConstraint(0, 255, "Name can't have more than 255 characters!"));
Хитрость здесь заключается в том, что значения свойств не должны различать карты или объекты.Таким образом, выражения Velocity или Freemarker пересекают Карты или компоненты с одинаковым синтаксисом.Там будут бонусные баллы за возможность параметризовать сообщение и подставить недопустимое значение в.
Кто-нибудь знает о такой структуре?Спасибо миллион!