Interface Validator


public interface Validator
Validates bean instances. Implementations of this interface must be thread-safe.
Author:
Emmanuel Bernard, Hardy Ferentschik, Gunnar Morling
  • Method Details

    • validate

      <T> Set<ConstraintViolation<T>> validate(T object, Class<?>... groups)
      Validates all constraints on object.
      Type Parameters:
      T - the type of the object to validate
      Parameters:
      object - object to validate
      groups - the group or list of groups targeted for validation (defaults to Default)
      Returns:
      constraint violations or an empty set if none
      Throws:
      IllegalArgumentException - if object is null or if null is passed to the varargs groups
      ValidationException - if a non recoverable error happens during the validation process
    • validateProperty

      <T> Set<ConstraintViolation<T>> validateProperty(T object, String propertyName, Class<?>... groups)
      Validates all constraints placed on the property of object named propertyName.
      Type Parameters:
      T - the type of the object to validate
      Parameters:
      object - object to validate
      propertyName - property to validate (i.e. field and getter constraints)
      groups - the group or list of groups targeted for validation (defaults to Default)
      Returns:
      constraint violations or an empty set if none
      Throws:
      IllegalArgumentException - if object is null, if propertyName is null, empty or not a valid object property or if null is passed to the varargs groups
      ValidationException - 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 named propertyName of the class beanType would the property value be value.

      ConstraintViolation objects return null for ConstraintViolation.getRootBean() and ConstraintViolation.getLeafBean().

      Type Parameters:
      T - the type of the object to validate
      Parameters:
      beanType - the bean type
      propertyName - property to validate
      value - property value to validate
      groups - the group or list of groups targeted for validation (defaults to Default).
      Returns:
      constraint violations or an empty set if none
      Throws:
      IllegalArgumentException - if beanType is null, if propertyName is null, empty or not a valid object property or if null is passed to the varargs groups
      ValidationException - if a non recoverable error happens during the validation process
    • getConstraintsForClass

      BeanDescriptor getConstraintsForClass(Class<?> clazz)
      Returns the descriptor object describing bean constraints.

      The returned object (and associated objects including ConstraintDescriptors) are immutable.

      Parameters:
      clazz - class or interface type evaluated
      Returns:
      the bean descriptor for the specified class
      Throws:
      IllegalArgumentException - if clazz is null
      ValidationException - if a non recoverable error happens during the metadata discovery or if some constraints are invalid.
    • unwrap

      <T> T unwrap(Class<T> type)
      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