Class ConstraintHelper

java.lang.Object
org.hibernate.validator.internal.metadata.core.ConstraintHelper

public class ConstraintHelper extends Object
Keeps track of builtin constraints and their validator implementations, as well as already resolved validator definitions.
Author:
Hardy Ferentschik, Alaa Nassef, Gunnar Morling, Guillaume Smet
  • Field Details

  • Method Details

    • forAllBuiltinConstraints

      public static ConstraintHelper forAllBuiltinConstraints()
    • forBuiltinConstraints

      public static ConstraintHelper forBuiltinConstraints(Set<String> enabledConstraints)
    • getBuiltinConstraints

      public static Set<String> getBuiltinConstraints()
    • getAllValidatorDescriptors

      public <A extends Annotation> List<ConstraintValidatorDescriptor<A>> getAllValidatorDescriptors(Class<A> annotationType)
      Returns the constraint validator classes for the given constraint annotation type, as retrieved from The result is cached internally.
      Type Parameters:
      A - the type of the annotation
      Parameters:
      annotationType - The constraint annotation type.
      Returns:
      The validator classes for the given type.
    • findValidatorDescriptors

      public <A extends Annotation> List<ConstraintValidatorDescriptor<A>> findValidatorDescriptors(Class<A> annotationType, ValidationTarget validationTarget)
      Returns those validator descriptors for the given constraint annotation matching the given target.
      Type Parameters:
      A - the type of the annotation
      Parameters:
      annotationType - The annotation of interest.
      validationTarget - The target, either annotated element or parameters.
      Returns:
      A list with matching validator descriptors.
    • putValidatorDescriptors

      public <A extends Annotation> void putValidatorDescriptors(Class<A> annotationType, List<ConstraintValidatorDescriptor<A>> validatorDescriptors, boolean keepExistingClasses)
      Registers the given validator descriptors with the given constraint annotation type.
      Type Parameters:
      A - the type of the annotation
      Parameters:
      annotationType - The constraint annotation type
      validatorDescriptors - The validator descriptors to register
      keepExistingClasses - Whether already-registered validators should be kept or not
    • isMultiValueConstraint

      public boolean isMultiValueConstraint(Class<? extends Annotation> annotationType)
      Checks whether a given annotation is a multi value constraint or not.
      Parameters:
      annotationType - the annotation type to check.
      Returns:
      true if the specified annotation is a multi value constraints, false otherwise.
    • getConstraintsFromMultiValueConstraint

      public <A extends Annotation> List<Annotation> getConstraintsFromMultiValueConstraint(A multiValueConstraint)
      Returns the constraints which are part of the given multi-value constraint.

      Invoke isMultiValueConstraint(Class) prior to calling this method to check whether a given constraint actually is a multi-value constraint.

      Type Parameters:
      A - the type of the annotation
      Parameters:
      multiValueConstraint - the multi-value constraint annotation from which to retrieve the contained constraints
      Returns:
      A list of constraint annotations, may be empty but never null.
    • isConstraintAnnotation

      public boolean isConstraintAnnotation(Class<? extends Annotation> annotationType)
      Checks whether the specified annotation is a valid constraint annotation. A constraint annotation has to fulfill the following conditions:
      • Must be annotated with Constraint
      • Define a message parameter
      • Define a group parameter
      • Define a payload parameter
      Parameters:
      annotationType - The annotation type to test.
      Returns:
      true if the annotation fulfills the above conditions, false otherwise.
    • isConstraintComposition

      public boolean isConstraintComposition(Class<? extends Annotation> annotationType)
    • isJdkAnnotation

      public boolean isJdkAnnotation(Class<? extends Annotation> annotation)
    • clear

      public void clear()