Interface ConstraintValidator<A extends java.lang.annotation.Annotation,T>



  • public interface ConstraintValidator<A extends java.lang.annotation.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.

    • Method Detail

      • initialize

        void initialize​(A constraintAnnotation)
        Initializes the validator in preparation for isValid(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.

        Parameters:
        constraintAnnotation - annotation instance for a given constraint declaration
      • isValid

        boolean isValid​(T value,
                        ConstraintValidatorContext context)
        Implements the validation logic. The state of value must not be altered.

        This method can be accessed concurrently, thread-safety must be ensured by the implementation.

        Parameters:
        value - object to validate
        context - context in which the constraint is evaluated
        Returns:
        false if value does not pass the constraint