Interface Validator


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

      • 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 Bean 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