Package jakarta.validation
Interface ConstraintValidator<A extends Annotation,T>
- Type Parameters:
A
- the annotation type handled by an implementationT
- the target type supported by an implementation
public interface ConstraintValidator<A extends Annotation,T>
Defines the logic to validate a given constraint
A
for a given object type T
.
Implementations must comply to the following restriction:
T
must resolve to a non parameterized type- or generic parameters of
T
must be unbounded wildcard types
The annotation SupportedValidationTarget
can be put on a
ConstraintValidator
implementation to mark it as supporting
cross-parameter constraints. Check out SupportedValidationTarget
and Constraint
for more information.
- Author:
- Emmanuel Bernard, Hardy Ferentschik
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
initialize
(A constraintAnnotation) Initializes the validator in preparation forisValid(Object, ConstraintValidatorContext)
calls.boolean
isValid
(T value, ConstraintValidatorContext context) Implements the validation logic.
-
Method Details
-
initialize
Initializes the validator in preparation forisValid(Object, ConstraintValidatorContext)
calls. The constraint annotation for a given constraint declaration is passed.This method is guaranteed to be called before any use of this instance for validation.
The default implementation is a no-op.
- Parameters:
constraintAnnotation
- annotation instance for a given constraint declaration
-
isValid
Implements the validation logic. The state ofvalue
must not be altered.This method can be accessed concurrently, thread-safety must be ensured by the implementation.
- Parameters:
value
- object to validatecontext
- context in which the constraint is evaluated- Returns:
false
ifvalue
does not pass the constraint
-