Class 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
    • Method Detail

      • forAllBuiltinConstraints

        public static ConstraintHelper forAllBuiltinConstraints()
      • getBuiltinConstraints

        public static Set<String> getBuiltinConstraints()
      • getAllValidatorDescriptors

        public <A extends AnnotationList<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 AnnotationList<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 AnnotationList<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()