org.hibernate.validator.internal.engine
Class ValidationContext<T,C extends javax.validation.ConstraintViolation<T>>

java.lang.Object
  extended by org.hibernate.validator.internal.engine.ValidationContext<T,C>
Direct Known Subclasses:
MethodValidationContext, StandardValidationContext

public abstract class ValidationContext<T,C extends javax.validation.ConstraintViolation<T>>
extends Object

Context object keeping track of all important data for a top level Validator.validate(Object, Class[]) }, Validator.validateValue(Class, String, Object, Class[]) } or Validator.validateProperty(Object, String, Class[]) call.

We use this object to collect all failing constraints, but also to cache the caching traversable resolver for a full stack call.

Author:
Hardy Ferentschik, Emmanuel Bernard, Gunnar Morling

Field Summary
protected  javax.validation.MessageInterpolator messageInterpolator
          The message resolver which should be used in this context.
 
Constructor Summary
protected ValidationContext(Class<T> rootBeanClass, T rootBean, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
 
Method Summary
 void addConstraintFailures(Set<C> failingConstraintViolations)
           
abstract
<U,V> C
createConstraintViolation(ValueContext<U,V> localContext, MessageAndPath messageAndPath, javax.validation.metadata.ConstraintDescriptor<?> descriptor)
           
<U,V> List<C>
createConstraintViolations(ValueContext<U,V> localContext, ConstraintValidatorContextImpl constraintValidatorContext)
           
 javax.validation.ConstraintValidatorFactory getConstraintValidatorFactory()
           
static
<T> ValidationContext<T,javax.validation.ConstraintViolation<T>>
getContextForValidate(T object, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
static
<T> MethodValidationContext<T>
getContextForValidateParameter(Method method, int parameterIndex, T object, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
static
<T> MethodValidationContext<T>
getContextForValidateParameters(Method method, T object, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
static
<T> ValidationContext<T,javax.validation.ConstraintViolation<T>>
getContextForValidateProperty(T rootBean, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
static
<T> ValidationContext<T,javax.validation.ConstraintViolation<T>>
getContextForValidateValue(Class<T> rootBeanClass, javax.validation.MessageInterpolator messageInterpolator, javax.validation.ConstraintValidatorFactory constraintValidatorFactory, javax.validation.TraversableResolver traversableResolver, boolean failFast)
           
 Set<C> getFailingConstraints()
           
 T getRootBean()
           
 Class<T> getRootBeanClass()
           
 javax.validation.TraversableResolver getTraversableResolver()
           
 boolean isAlreadyValidated(Object value, Class<?> group, PathImpl path)
           
 boolean isFailFastModeEnabled()
           
 void markProcessed(Object value, Class<?> group, PathImpl path)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

messageInterpolator

protected final javax.validation.MessageInterpolator messageInterpolator
The message resolver which should be used in this context.

Constructor Detail

ValidationContext

protected ValidationContext(Class<T> rootBeanClass,
                            T rootBean,
                            javax.validation.MessageInterpolator messageInterpolator,
                            javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                            javax.validation.TraversableResolver traversableResolver,
                            boolean failFast)
Method Detail

getContextForValidate

public static <T> ValidationContext<T,javax.validation.ConstraintViolation<T>> getContextForValidate(T object,
                                                                                                     javax.validation.MessageInterpolator messageInterpolator,
                                                                                                     javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                                                                                                     javax.validation.TraversableResolver traversableResolver,
                                                                                                     boolean failFast)

getContextForValidateProperty

public static <T> ValidationContext<T,javax.validation.ConstraintViolation<T>> getContextForValidateProperty(T rootBean,
                                                                                                             javax.validation.MessageInterpolator messageInterpolator,
                                                                                                             javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                                                                                                             javax.validation.TraversableResolver traversableResolver,
                                                                                                             boolean failFast)

getContextForValidateValue

public static <T> ValidationContext<T,javax.validation.ConstraintViolation<T>> getContextForValidateValue(Class<T> rootBeanClass,
                                                                                                          javax.validation.MessageInterpolator messageInterpolator,
                                                                                                          javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                                                                                                          javax.validation.TraversableResolver traversableResolver,
                                                                                                          boolean failFast)

getContextForValidateParameter

public static <T> MethodValidationContext<T> getContextForValidateParameter(Method method,
                                                                            int parameterIndex,
                                                                            T object,
                                                                            javax.validation.MessageInterpolator messageInterpolator,
                                                                            javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                                                                            javax.validation.TraversableResolver traversableResolver,
                                                                            boolean failFast)

getContextForValidateParameters

public static <T> MethodValidationContext<T> getContextForValidateParameters(Method method,
                                                                             T object,
                                                                             javax.validation.MessageInterpolator messageInterpolator,
                                                                             javax.validation.ConstraintValidatorFactory constraintValidatorFactory,
                                                                             javax.validation.TraversableResolver traversableResolver,
                                                                             boolean failFast)

getRootBean

public final T getRootBean()

getRootBeanClass

public final Class<T> getRootBeanClass()

getTraversableResolver

public final javax.validation.TraversableResolver getTraversableResolver()

isFailFastModeEnabled

public final boolean isFailFastModeEnabled()

createConstraintViolation

public abstract <U,V> C createConstraintViolation(ValueContext<U,V> localContext,
                                                  MessageAndPath messageAndPath,
                                                  javax.validation.metadata.ConstraintDescriptor<?> descriptor)

createConstraintViolations

public final <U,V> List<C> createConstraintViolations(ValueContext<U,V> localContext,
                                                      ConstraintValidatorContextImpl constraintValidatorContext)

getConstraintValidatorFactory

public final javax.validation.ConstraintValidatorFactory getConstraintValidatorFactory()

isAlreadyValidated

public boolean isAlreadyValidated(Object value,
                                  Class<?> group,
                                  PathImpl path)

markProcessed

public void markProcessed(Object value,
                          Class<?> group,
                          PathImpl path)

addConstraintFailures

public final void addConstraintFailures(Set<C> failingConstraintViolations)

getFailingConstraints

public Set<C> getFailingConstraints()


Copyright © 2012 Oracle Corporation. All Rights Reserved.