Class CompositeCacheOperationSource
java.lang.Object
org.springframework.cache.interceptor.CompositeCacheOperationSource
- All Implemented Interfaces:
Serializable, CacheOperationSource
public class CompositeCacheOperationSource
extends Object
implements CacheOperationSource, Serializable
Composite
CacheOperationSource implementation that iterates
over a given array of CacheOperationSource instances.- Since:
- 3.1
- Author:
- Costin Leau, Juergen Hoeller
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCompositeCacheOperationSource(CacheOperationSource... cacheOperationSources) Create a new CompositeCacheOperationSource for the given sources. -
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.final CacheOperationSource[]Return theCacheOperationSourceinstances that thisCompositeCacheOperationSourcecombines.booleanhasCacheOperations(Method method, @Nullable Class<?> targetClass) Determine whether there are cache operations for the given method.booleanisCandidateClass(Class<?> targetClass) Determine whether the given class is a candidate for cache operations in the metadata format of thisCacheOperationSource.
-
Constructor Details
-
CompositeCacheOperationSource
Create a new CompositeCacheOperationSource for the given sources.- Parameters:
cacheOperationSources- the CacheOperationSource instances to combine
-
-
Method Details
-
getCacheOperationSources
Return theCacheOperationSourceinstances that thisCompositeCacheOperationSourcecombines. -
isCandidateClass
Description copied from interface:CacheOperationSourceDetermine 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 forCacheOperationSource.getCacheOperations(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.- Specified by:
isCandidateClassin interfaceCacheOperationSource- 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.- See Also:
-
hasCacheOperations
Description copied from interface:CacheOperationSourceDetermine whether there are cache operations for the given method.- Specified by:
hasCacheOperationsin interfaceCacheOperationSource- Parameters:
method- the method to introspecttargetClass- the target class (can benull, in which case the declaring class of the method must be used)- See Also:
-
getCacheOperations
public @Nullable Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass) Description copied from interface:CacheOperationSourceReturn the collection of cache operations for this method, ornullif the method contains no cacheable annotations.- Specified by:
getCacheOperationsin interfaceCacheOperationSource- 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
-