org.hibernate.validator.internal.metadata.core
Class ConstraintHelper

java.lang.Object
  extended by 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

Constructor Summary
ConstraintHelper()
           
 
Method Summary
<A extends Annotation>
List<Annotation>
getMultiValueConstraints(A annotation)
          Checks whether a given annotation is a multi value constraint and returns the contained constraints if so.
<A extends Annotation>
List<Class<? extends ConstraintValidator<A,?>>>
getValidatorClasses(Class<A> annotationType)
          Returns the constraint validator classes for the given constraint annotation type, as retrieved from Constraint.validatedBy(), internally registered validators for built-in constraints and XML configuration. The result is cached internally.
 boolean isConstraintAnnotation(Class<? extends Annotation> annotationType)
          Checks whether the specified annotation is a valid constraint annotation.
 boolean isConstraintComposition(Class<? extends Annotation> annotationType)
           
 boolean isMultiValueConstraint(Class<? extends Annotation> annotationType)
          Checks whether a given annotation is a multi value constraint or not.
<A extends Annotation>
void
putValidatorClasses(Class<A> annotationType, List<Class<? extends ConstraintValidator<A,?>>> definitionClasses, boolean keepDefaultClasses)
          Registers the given validator classes with the given constraint annotation type.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstraintHelper

public ConstraintHelper()
Method Detail

getValidatorClasses

public <A extends Annotation> List<Class<? extends ConstraintValidator<A,?>>> getValidatorClasses(Class<A> annotationType)
Returns the constraint validator classes for the given constraint annotation type, as retrieved from The result is cached internally.

Parameters:
annotationType - The constraint annotation type.
Returns:
The validator classes for the given type.

putValidatorClasses

public <A extends Annotation> void putValidatorClasses(Class<A> annotationType,
                                                       List<Class<? extends ConstraintValidator<A,?>>> definitionClasses,
                                                       boolean keepDefaultClasses)
Registers the given validator classes with the given constraint annotation type.

Parameters:
annotationType - The constraint annotation type
definitionClasses - The validators to register
keepDefaultClasses - Whether any default 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.

getMultiValueConstraints

public <A extends Annotation> List<Annotation> getMultiValueConstraints(A annotation)
Checks whether a given annotation is a multi value constraint and returns the contained constraints if so.

Parameters:
annotation - the annotation to check.
Returns:
A list of constraint annotations or the empty list if annotation is not a multi constraint annotation.

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:

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)


Copyright © 2007-2013 Red Hat Middleware, LLC. All Rights Reserved