МетодОписание
Set>validate(T object, Class… groups)Валидирует все ограничения, применяемые с объектом
Set>validateProperty(T object, String propName, Class… groups)Валидирует все ограничения, касающиеся свойства
Set>validateValue(Class beanType, String propName, Object value,Class… groups)Валидирует все ограничения, применяемые к свойству при заданном значении
BeanDescriptor getConstraintsForClass(Class clazz)Возвращает объект дескриптора, описывающий ограничения компонента
ExecutableValidator forExecutables()Возвращает делегат для валидации параметров и возвращаемых значений у методов и конструкторов

Если в ходе этой процедуры валидации происходит какая-либо неисправимая ошибка, то выдается исключение ValidationException. Это исключение может быть специализированным и может указывать на конкретные ситуации (недопустимое определение группы, недопустимое определение ограничения, недопустимое объявление ограничения).

Методы validate, validateProperty и validateValue используются соответственно для валидации целого компонента, свойства или свойства при заданном значении. Все методы принимают параметр varargs, позволяющий указывать группы для валидации. Метод forExecutables предоставляет доступ к ExecutableValidator для валидации методов, параметров конструктора и валидации возвращаемого значения. В табл. 3.5 описан API ExecutableValidator.

Таблица 3.5. Методы для интерфейса ExecutableValidator
МетодОписание
Set>validateParameters(T object, MethodВалидирует все ограничения, применяемые с параметрами метода
method, Object[] params, Class… groups)
Set>validateReturnValue(T object, Method method, Object returnValue, Class… groups)Валидирует все ограничения возвращаемого значения, применяемые с методом
Set>validateConstructorParameters (Constructor constructor, Object[] params, Class… groups)Валидирует все ограничения, связанные с параметрами конструктора
Set>validateConstructorReturnValue (Constructor constructor, T createdObject, Class… groups)Валидирует все ограничения возвращаемых значений, связанные с конструктором
ConstraintViolation

Все валидационные методы, перечисленные в табл. 3.4 и 3.5, возвращают множество ConstraintViolation, которое можно перебирать и при этом просматривать, какие ошибки возникли при валидации. Если это множество пустое — значит, валидация прошла успешно. При ошибках в это множество добавляется по экземпляру ConstraintViolation для каждого нарушенного ограничения. ConstraintViolation описывает единую ошибку, связанную с ограничением, а его API дает множество полезной информации о причине ошибки. В табл. 3.6 сделан обзор этого API.

Таблица 3.6. Методы интерфейса ConstraintViolation
Перейти на страницу:

Похожие книги