public class CompositeCacheOperationSource extends Object implements CacheOperationSource, Serializable
CacheOperationSource
implementation that iterates
over a given array of CacheOperationSource
instances.Constructor and Description |
---|
CompositeCacheOperationSource(CacheOperationSource... cacheOperationSources)
Create a new CompositeCacheOperationSource for the given sources.
|
Modifier and Type | Method and Description |
---|---|
Collection<CacheOperation> |
getCacheOperations(Method method,
Class<?> targetClass)
Return the collection of cache operations for this method,
or
null if the method contains no cacheable annotations. |
CacheOperationSource[] |
getCacheOperationSources()
Return the
CacheOperationSource instances that this
CompositeCacheOperationSource combines. |
boolean |
isCandidateClass(Class<?> targetClass)
Determine whether the given class is a candidate for cache operations
in the metadata format of this
CacheOperationSource . |
public CompositeCacheOperationSource(CacheOperationSource... cacheOperationSources)
cacheOperationSources
- the CacheOperationSource instances to combinepublic final CacheOperationSource[] getCacheOperationSources()
CacheOperationSource
instances that this
CompositeCacheOperationSource
combines.public boolean isCandidateClass(Class<?> targetClass)
CacheOperationSource
CacheOperationSource
.
If this method returns false
, the methods on the given class
will not get traversed for CacheOperationSource.getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>)
introspection.
Returning false
is therefore an optimization for non-affected
classes, whereas true
simply means that the class needs to get
fully introspected for each method on the given class individually.
isCandidateClass
in interface CacheOperationSource
targetClass
- the class to introspectfalse
if the class is known to have no cache operation
metadata at class or method level; true
otherwise. The default
implementation returns true
, leading to regular introspection.@Nullable public Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass)
CacheOperationSource
null
if the method contains no cacheable annotations.getCacheOperations
in interface CacheOperationSource
method
- the method to introspecttargetClass
- the target class (may be null
, in which case
the declaring class of the method must be used)null
if none found