Package jakarta.validation
Interface ConstraintValidator<A extends java.lang.annotation.Annotation,T>
-
- Type Parameters:
A
- the annotation type handled by an implementationT
- the target type supported by an implementation
public interface ConstraintValidator<A extends java.lang.annotation.Annotation,T>
Defines the logic to validate a given constraintA
for a given object typeT
.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 aConstraintValidator
implementation to mark it as supporting cross-parameter constraints. Check outSupportedValidationTarget
andConstraint
for more information.- Author:
- Emmanuel Bernard, Hardy Ferentschik
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
initialize(A constraintAnnotation)
Initializes the validator in preparation forisValid(Object, ConstraintValidatorContext)
calls.boolean
isValid(T value, ConstraintValidatorContext context)
Implements the validation logic.
-
-
-
Method Detail
-
initialize
default void initialize(A constraintAnnotation)
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
boolean isValid(T value, ConstraintValidatorContext context)
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
-
-