public class JPATraversableResolver extends Object implements TraversableResolver
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.
Constructor and Description |
---|
JPATraversableResolver() |
Modifier and Type | Method and Description |
---|---|
boolean |
isCascadable(Object traversableObject,
Path.Node traversableProperty,
Class<?> rootBeanType,
Path pathToTraversableObject,
ElementType elementType)
Determines if the Bean Validation provider is allowed to cascade validation on
the bean instance returned by the property value
marked as
@Valid . |
boolean |
isReachable(Object traversableObject,
Path.Node traversableProperty,
Class<?> rootBeanType,
Path pathToTraversableObject,
ElementType elementType)
Determines if the Bean Validation provider is allowed to reach the property state.
|
public final boolean isReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)
TraversableResolver
isReachable
in interface TraversableResolver
traversableObject
- object hosting traversableProperty
or null
if validateValue
is 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 to
traversableObject
(using the path specification defined by Bean Validator)elementType
- either FIELD
or METHOD
true
if the Bean Validation provider is allowed to
reach the property state, false
otherwisepublic final boolean isCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)
TraversableResolver
@Valid
.
Note that this method is called only if
TraversableResolver.isReachable(Object, javax.validation.Path.Node, Class, Path, java.lang.annotation.ElementType)
returns true
for the same set of arguments and if the property
is marked as Valid
.
isCascadable
in interface TraversableResolver
traversableObject
- object hosting traversableProperty
or null
if validateValue
is 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 to
traversableObject
(using the path specification defined by Bean Validator)elementType
- either FIELD
or METHOD
true
if the Bean Validation provider is allowed to
cascade validation, false
otherwiseCopyright © 2019 JBoss by Red Hat. All rights reserved.