Top Description Fields Constructors Methods
org.hibernate.validator.internal.engine.resolver

public Class JPATraversableResolver

extends Object
implements TraversableResolver
Class Inheritance
All Implemented Interfaces
jakarta.validation.TraversableResolver
Imports
java.lang.annotation.ElementType, java.lang.invoke.MethodHandles, jakarta.persistence.Persistence, jakarta.validation.Path, .TraversableResolver, org.hibernate.validator.internal.util.logging.Log, .LoggerFactory

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.

Authors
Hardy Ferentschik, Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private static final Log

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public final boolean
isCascadable(Object
object hosting traversableProperty or null if validateValue is called
traversableObject
,
Path.Node
the traversable property
traversableProperty
,
Class<?>
type of the root object passed to the Validator or hosting the method or constructor validated
rootBeanType
,
Path
path from the root object to traversableObject (using the path specification defined by Bean Validation)
pathToTraversableObject
,
ElementType
either FIELD or METHOD
elementType
)

Implements jakarta.validation.TraversableResolver.isCascadable.

Determines if the Jakarta Bean Validation provider is allowed to cascade validation on the bean instance returned by the property value marked as @Valid.
public final boolean
isReachable(Object
object hosting traversableProperty or null if validateValue is called
traversableObject
,
Path.Node
the traversable property
traversableProperty
,
Class<?>
type of the root object passed to the Validator or hosting the method or constructor validated
rootBeanType
,
Path
path from the root object to traversableObject (using the path specification defined by Bean Validation)
pathToTraversableObject
,
ElementType
either FIELD or METHOD
elementType
)

Implements jakarta.validation.TraversableResolver.isReachable.

Determines if the Jakarta Bean Validation provider is allowed to reach the property state.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

LOGback to summary
private static final Log LOG

Constructor Detail

JPATraversableResolverback to summary
public JPATraversableResolver()

Method Detail

isCascadableback to summary
public final boolean isCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)

Implements jakarta.validation.TraversableResolver.isCascadable.

Doc from jakarta.validation.TraversableResolver.isCascadable.

Determines 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 isReachable(Object, jakarta.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.

Parameters
traversableObject:Object

object hosting traversableProperty or null if validateValue is called

traversableProperty:Path.Node

the traversable property

rootBeanType:Class<?>

type of the root object passed to the Validator or hosting the method or constructor validated

pathToTraversableObject:Path

path from the root object to traversableObject (using the path specification defined by Bean Validation)

elementType:ElementType

either FIELD or METHOD

Returns:boolean

true if the Jakarta Bean Validation provider is allowed to cascade validation, false otherwise

Annotations
@Override
isReachableback to summary
public final boolean isReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType)

Implements jakarta.validation.TraversableResolver.isReachable.

Doc from jakarta.validation.TraversableResolver.isReachable.

Determines if the Jakarta Bean Validation provider is allowed to reach the property state.

Parameters
traversableObject:Object

object hosting traversableProperty or null if validateValue is called

traversableProperty:Path.Node

the traversable property

rootBeanType:Class<?>

type of the root object passed to the Validator or hosting the method or constructor validated

pathToTraversableObject:Path

path from the root object to traversableObject (using the path specification defined by Bean Validation)

elementType:ElementType

either FIELD or METHOD

Returns:boolean

true if the Jakarta Bean Validation provider is allowed to reach the property state, false otherwise

Annotations
@Override