javax.validation

## Interface ConstraintValidator<A extends Annotation,T>

-     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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `initialize(A constraintAnnotation)` Initializes the validator in preparation for `isValid(Object, ConstraintValidatorContext)` calls.
    `boolean` | `isValid(T value, ConstraintValidatorContext context)` Implements the validation logic.

- - ### 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

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.