Class JPATraversableResolver
java.lang.Object
org.hibernate.validator.internal.engine.resolver.JPATraversableResolver
- All Implemented Interfaces:
TraversableResolver
An implementation of
TraversableResolver which is aware of JPA 2 and utilizes PersistenceUtil to
query the reachability of a property.
This resolver will be automatically enabled if JPA 2 is on the classpath and the default TraversableResolver is
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 -
Method Summary
Modifier and TypeMethodDescriptionfinal 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.final 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.
-
Constructor Details
-
JPATraversableResolver
public JPATraversableResolver()
-
-
Method Details
-
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
-