Class JPATraversableResolver
- java.lang.Object
-
- org.hibernate.validator.internal.engine.resolver.JPATraversableResolver
-
- All Implemented Interfaces:
TraversableResolver
public class JPATraversableResolver extends Object implements TraversableResolver
An implementation ofTraversableResolverwhich is aware of JPA 2 and utilizesPersistenceUtilto query the reachability of a property. This resolver will be automatically enabled if JPA 2 is on the classpath and the defaultTraversableResolveris used.This class needs to be public as it's instantiated via a privileged action that is not in this package.
- Author:
- Hardy Ferentschik, Emmanuel Bernard
-
-
Constructor Summary
Constructors Constructor Description JPATraversableResolver()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)Determines if the Jakarta Bean Validation provider is allowed to cascade validation on the bean instance returned by the property value marked as@Valid.booleanisReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)Determines if the Jakarta Bean Validation provider is allowed to reach the property state.
-
-
-
Method Detail
-
isReachable
public final boolean isReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)
Description copied from interface:TraversableResolverDetermines if the Jakarta Bean Validation provider is allowed to reach the property state.- Specified by:
isReachablein interfaceTraversableResolver- Parameters:
traversableObject- object hostingtraversablePropertyornullifvalidateValueis calledtraversableProperty- the traversable propertyrootBeanType- type of the root object passed to the Validator or hosting the method or constructor validatedpathToTraversableObject- path from the root object totraversableObject(using the path specification defined by Bean Validation)elementType- eitherFIELDorMETHOD- Returns:
trueif the Jakarta Bean Validation provider is allowed to reach the property state,falseotherwise
-
isCascadable
public final boolean isCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)
Description copied from interface:TraversableResolverDetermines if the Jakarta Bean Validation provider is allowed to cascade validation on the bean instance returned by the property value marked as@Valid.Note that this method is called only if
TraversableResolver.isReachable(Object, jakarta.validation.Path.Node, Class, Path, java.lang.annotation.ElementType)returnstruefor the same set of arguments and if the property is marked asValid.- Specified by:
isCascadablein interfaceTraversableResolver- Parameters:
traversableObject- object hostingtraversablePropertyornullifvalidateValueis calledtraversableProperty- the traversable propertyrootBeanType- type of the root object passed to the Validator or hosting the method or constructor validatedpathToTraversableObject- path from the root object totraversableObject(using the path specification defined by Bean Validation)elementType- eitherFIELDorMETHOD- Returns:
trueif the Jakarta Bean Validation provider is allowed to cascade validation,falseotherwise
-
-