javax.validation
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.

Author:
Emmanuel Bernard

Method Summary
 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.
 

Method Detail

isReachable

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.

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(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.

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


Copyright © 2007-2013 Red Hat Inc. All Rights Reserved. Released under the Apache Software License 2.0.