public interface Validator
Validates bean instances. Implementations of this interface must be thread-safe.
-
Method Summary
Modifier and TypeMethodDescriptionReturns the contract for validating parameters and return values of methods and constructors.getConstraintsForClass
(Class<?> clazz) Returns the descriptor object describing bean constraints.<T> T
Returns an instance of the specified type allowing access to provider-specific APIs.<T> Set
<ConstraintViolation<T>> Validates all constraints onobject
.<T> Set
<ConstraintViolation<T>> validateProperty
(T object, String propertyName, Class<?>... groups) Validates all constraints placed on the property ofobject
namedpropertyName
.<T> Set
<ConstraintViolation<T>> validateValue
(Class<T> beanType, String propertyName, Object value, Class<?>... groups) Validates all constraints placed on the property namedpropertyName
of the classbeanType
would the property value bevalue
.
-
Method Details
-
validate
Validates all constraints onobject
.- Type Parameters:
T
- the type of the object to validate- Parameters:
object
- object to validategroups
- the group or list of groups targeted for validation (defaults toDefault
)- Returns:
- constraint violations or an empty set if none
- Throws:
IllegalArgumentException
- if object isnull
or ifnull
is passed to the varargs groupsValidationException
- if a non recoverable error happens during the validation process
-
validateProperty
Validates all constraints placed on the property ofobject
namedpropertyName
.- Type Parameters:
T
- the type of the object to validate- Parameters:
object
- object to validatepropertyName
- property to validate (i.e. field and getter constraints)groups
- the group or list of groups targeted for validation (defaults toDefault
)- Returns:
- constraint violations or an empty set if none
- Throws:
IllegalArgumentException
- ifobject
isnull
, ifpropertyName
isnull
, empty or not a valid object property or ifnull
is passed to the varargs groupsValidationException
- if a non recoverable error happens during the validation process
-
validateValue
<T> Set<ConstraintViolation<T>> validateValue(Class<T> beanType, String propertyName, Object value, Class<?>... groups) Validates all constraints placed on the property namedpropertyName
of the classbeanType
would the property value bevalue
.ConstraintViolation
objects returnnull
forConstraintViolation.getRootBean()
andConstraintViolation.getLeafBean()
.- Type Parameters:
T
- the type of the object to validate- Parameters:
beanType
- the bean typepropertyName
- property to validatevalue
- property value to validategroups
- the group or list of groups targeted for validation (defaults toDefault
).- Returns:
- constraint violations or an empty set if none
- Throws:
IllegalArgumentException
- ifbeanType
isnull
, ifpropertyName
isnull
, empty or not a valid object property or ifnull
is passed to the varargs groupsValidationException
- if a non recoverable error happens during the validation process
-
getConstraintsForClass
Returns the descriptor object describing bean constraints.The returned object (and associated objects including
ConstraintDescriptor
s) are immutable.- Parameters:
clazz
- class or interface type evaluated- Returns:
- the bean descriptor for the specified class
- Throws:
IllegalArgumentException
- if clazz isnull
ValidationException
- if a non recoverable error happens during the metadata discovery or if some constraints are invalid.
-
unwrap
Returns an instance of the specified type allowing access to provider-specific APIs.If the Jakarta Validation provider implementation does not support the specified class,
ValidationException
is thrown.- Type Parameters:
T
- the type of the object to be returned- Parameters:
type
- the class of the object to be returned- Returns:
- an instance of the specified class
- Throws:
ValidationException
- if the provider does not support the call
-
forExecutables
ExecutableValidator forExecutables()Returns the contract for validating parameters and return values of methods and constructors.- Returns:
- contract for method and constructor validation
- Since:
- 1.1
-