Interface CacheOperationSource
- All Known Implementing Classes:
AbstractFallbackCacheOperationSource, AnnotationCacheOperationSource, CompositeCacheOperationSource, NameMatchCacheOperationSource
public interface CacheOperationSource
Interface used by
CacheInterceptor. Implementations know how to source
cache operation attributes, whether from configuration, metadata attributes at
source level, or elsewhere.- Since:
- 3.1
- Author:
- Costin Leau, Juergen Hoeller
-
Method Summary
Modifier and TypeMethodDescriptiongetCacheOperations(Method method, @Nullable Class<?> targetClass) Return the collection of cache operations for this method, ornullif the method contains no cacheable annotations.default booleanhasCacheOperations(Method method, @Nullable Class<?> targetClass) Determine whether there are cache operations for the given method.default booleanisCandidateClass(Class<?> targetClass) Determine whether the given class is a candidate for cache operations in the metadata format of thisCacheOperationSource.
-
Method Details
-
isCandidateClass
Determine whether the given class is a candidate for cache operations in the metadata format of thisCacheOperationSource.If this method returns
false, the methods on the given class will not get traversed forgetCacheOperations(Method, Class)introspection. Returningfalseis therefore an optimization for non-affected classes, whereastruesimply means that the class needs to get fully introspected for each method on the given class individually.- Parameters:
targetClass- the class to introspect- Returns:
falseif the class is known to have no cache operation metadata at class or method level;trueotherwise. The default implementation returnstrue, leading to regular introspection.- Since:
- 5.2
- See Also:
-
hasCacheOperations
Determine whether there are cache operations for the given method.- Parameters:
method- the method to introspecttargetClass- the target class (can benull, in which case the declaring class of the method must be used)- Since:
- 6.2
- See Also:
-
getCacheOperations
@Nullable Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass) Return the collection of cache operations for this method, ornullif the method contains no cacheable annotations.- Parameters:
method- the method to introspecttargetClass- the target class (can benull, in which case the declaring class of the method must be used)- Returns:
- all cache operations for this method, or
nullif none found
-