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, Class<?> targetClass) Return the collection of cache operations for this method, ornullif the method contains no cacheable annotations.final CacheOperationSource[]Return theCacheOperationSourceinstances that thisCompositeCacheOperationSourcecombines.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(java.lang.reflect.Method, java.lang.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.
-
getCacheOperations
@Nullable public 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 (may benull, in which case the declaring class of the method must be used)- Returns:
- all cache operations for this method, or
nullif none found
-