Package org.apache.bval.jsr.resolver
Class CachingTraversableResolver
- java.lang.Object
-
- org.apache.bval.jsr.resolver.CachingTraversableResolver
-
- All Implemented Interfaces:
javax.validation.TraversableResolver,CachingRelevant
public class CachingTraversableResolver extends Object implements javax.validation.TraversableResolver, CachingRelevant
Cache results of a delegated traversable resovler to optimize calls It works only for a single validate* call and should not be used if the TraversableResolver is accessed concurrently Date: 25.11.2009
Time: 13:56:18- Author:
- Roman Stumm (based on the code of Emmanuel Bernard)
-
-
Constructor Summary
Constructors Constructor Description CachingTraversableResolver(javax.validation.TraversableResolver delegate)Create a new CachingTraversableResolver instance.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static javax.validation.TraversableResolvercacheFor(javax.validation.TraversableResolver traversableResolver)If necessary, return a caching wrapper for the specifiedTraversableResolver.booleanisCascadable(Object traversableObject, javax.validation.Path.Node traversableProperty, Class<?> rootBeanType, javax.validation.Path pathToTraversableObject, ElementType elementType)booleanisReachable(Object traversableObject, javax.validation.Path.Node traversableProperty, Class<?> rootBeanType, javax.validation.Path pathToTraversableObject, ElementType elementType)booleanneedsCaching()Learn whether the results of theTraversableResolvershould be cached.static booleanneedsCaching(javax.validation.TraversableResolver resolver)Convenience method to check whether caching is necessary on a givenTraversableResolver.
-
-
-
Method Detail
-
needsCaching
public static boolean needsCaching(javax.validation.TraversableResolver resolver)
Convenience method to check whether caching is necessary on a givenTraversableResolver.- Parameters:
resolver- to check- Returns:
- true when a CachingTraversableResolver is to be used during validation
-
cacheFor
public static javax.validation.TraversableResolver cacheFor(javax.validation.TraversableResolver traversableResolver)
If necessary, return a caching wrapper for the specifiedTraversableResolver.- Parameters:
traversableResolver-- Returns:
TraversableResolver- See Also:
needsCaching(TraversableResolver)
-
isReachable
public boolean isReachable(Object traversableObject, javax.validation.Path.Node traversableProperty, Class<?> rootBeanType, javax.validation.Path pathToTraversableObject, ElementType elementType)
- Specified by:
isReachablein interfacejavax.validation.TraversableResolver
-
isCascadable
public boolean isCascadable(Object traversableObject, javax.validation.Path.Node traversableProperty, Class<?> rootBeanType, javax.validation.Path pathToTraversableObject, ElementType elementType)
- Specified by:
isCascadablein interfacejavax.validation.TraversableResolver
-
needsCaching
public boolean needsCaching()
Learn whether the results of theTraversableResolvershould be cached.- Specified by:
needsCachingin interfaceCachingRelevant- Returns:
- boolean
-
-