Interface TraversableResolver



  • public interface TraversableResolver
    Contract determining if a property can be accessed by the 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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean isCascadable​(java.lang.Object traversableObject, Path.Node traversableProperty, java.lang.Class<?> rootBeanType, Path pathToTraversableObject, java.lang.annotation.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​(java.lang.Object traversableObject, Path.Node traversableProperty, java.lang.Class<?> rootBeanType, Path pathToTraversableObject, java.lang.annotation.ElementType elementType)
      Determines if the Bean Validation provider is allowed to reach the property state.
    • Method Detail

      • isReachable

        boolean isReachable​(java.lang.Object traversableObject,
                            Path.Node traversableProperty,
                            java.lang.Class<?> rootBeanType,
                            Path pathToTraversableObject,
                            java.lang.annotation.ElementType elementType)
        Determines if the Bean Validation provider is allowed to reach the property state.
        Parameters:
        traversableObject - object hosting traversableProperty or null if validateValue is called
        traversableProperty - the traversable property
        rootBeanType - type of the root object passed to the Validator or hosting the method or constructor validated
        pathToTraversableObject - path from the root object to traversableObject (using the path specification defined by Bean Validator)
        elementType - either FIELD or METHOD
        Returns:
        true if the Bean Validation provider is allowed to reach the property state, false otherwise
      • isCascadable

        boolean isCascadable​(java.lang.Object traversableObject,
                             Path.Node traversableProperty,
                             java.lang.Class<?> rootBeanType,
                             Path pathToTraversableObject,
                             java.lang.annotation.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.

        Note that this method is called only if 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.

        Parameters:
        traversableObject - object hosting traversableProperty or null if validateValue is called
        traversableProperty - the traversable property
        rootBeanType - type of the root object passed to the Validator or hosting the method or constructor validated
        pathToTraversableObject - path from the root object to traversableObject (using the path specification defined by Bean Validator)
        elementType - either FIELD or METHOD
        Returns:
        true if the Bean Validation provider is allowed to cascade validation, false otherwise