public interface TraversableResolver
Contract determining if a property can be accessed by the Jakarta Validation provider.
This contract is called for each property that is being either validated or cascaded.
A traversable resolver implementation must be thread-safe.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
isCascadable
(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType) Determines if the Jakarta 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 Jakarta Validation provider is allowed to reach the property state.
-
Method Details
-
isReachable
boolean isReachable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType) Determines if the Jakarta Validation provider is allowed to reach the property state.- Parameters:
traversableObject
- object hostingtraversableProperty
ornull
ifvalidateValue
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 totraversableObject
(using the path specification defined by Validation)elementType
- eitherFIELD
orMETHOD
- Returns:
true
if the Jakarta Validation provider is allowed to reach the property state,false
otherwise
-
isCascadable
boolean isCascadable(Object traversableObject, Path.Node traversableProperty, Class<?> rootBeanType, Path pathToTraversableObject, ElementType elementType) Determines if the Jakarta 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)
returnstrue
for the same set of arguments and if the property is marked asValid
.- Parameters:
traversableObject
- object hostingtraversableProperty
ornull
ifvalidateValue
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 totraversableObject
(using the path specification defined by Validation)elementType
- eitherFIELD
orMETHOD
- Returns:
true
if the Jakarta Validation provider is allowed to cascade validation,false
otherwise
-