Package jakarta.validation
Interface TraversableResolver
public interface TraversableResolver
Contract determining if a property can be accessed by the Jakarta Bean 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 TypeMethodDescriptionbooleanisCascadable(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 Details
-
isReachable
boolean isReachable(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.- 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
boolean isCascadable(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.Note that this method is called only if
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.- 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
-