public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements java.io.Serializable
CacheOperationSource interface for working with caching metadata in annotation format.
 This class reads Spring's Cacheable, CachePut and CacheEvict
 annotations and exposes corresponding caching operation definition to Spring's cache
 infrastructure. This class may also serve as base class for a custom
 CacheOperationSource.
| Modifier and Type | Class and Description | 
|---|---|
protected static interface  | 
AnnotationCacheOperationSource.CacheOperationProvider
Callback interface providing  
CacheOperation instance(s) based on
 a given CacheAnnotationParser. | 
logger| Constructor and Description | 
|---|
AnnotationCacheOperationSource()
Create a default AnnotationCacheOperationSource, supporting public methods
 that carry the  
Cacheable and CacheEvict annotations. | 
AnnotationCacheOperationSource(boolean publicMethodsOnly)
Create a default  
AnnotationCacheOperationSource, supporting public methods
 that carry the Cacheable and CacheEvict annotations. | 
AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
Create a custom AnnotationCacheOperationSource. 
 | 
AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
Create a custom AnnotationCacheOperationSource. 
 | 
AnnotationCacheOperationSource(java.util.Set<CacheAnnotationParser> annotationParsers)
Create a custom AnnotationCacheOperationSource. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
protected boolean | 
allowPublicMethodsOnly()
By default, only public methods can be made cacheable. 
 | 
protected java.util.Collection<CacheOperation> | 
determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
Determine the cache operation(s) for the given  
AnnotationCacheOperationSource.CacheOperationProvider. | 
boolean | 
equals(java.lang.Object other)  | 
protected java.util.Collection<CacheOperation> | 
findCacheOperations(java.lang.Class<?> clazz)
Subclasses need to implement this to return the caching attribute for the
 given class, if any. 
 | 
protected java.util.Collection<CacheOperation> | 
findCacheOperations(java.lang.reflect.Method method)
Subclasses need to implement this to return the caching attribute for the
 given method, if any. 
 | 
int | 
hashCode()  | 
getCacheKey, getCacheOperationspublic AnnotationCacheOperationSource()
Cacheable and CacheEvict annotations.public AnnotationCacheOperationSource(boolean publicMethodsOnly)
AnnotationCacheOperationSource, supporting public methods
 that carry the Cacheable and CacheEvict annotations.publicMethodsOnly - whether to support only annotated public methods
 typically for use with proxy-based AOP), or protected/private methods as well
 (typically used with AspectJ class weaving)public AnnotationCacheOperationSource(CacheAnnotationParser annotationParser)
annotationParser - the CacheAnnotationParser to usepublic AnnotationCacheOperationSource(CacheAnnotationParser... annotationParsers)
annotationParsers - the CacheAnnotationParser to usepublic AnnotationCacheOperationSource(java.util.Set<CacheAnnotationParser> annotationParsers)
annotationParsers - the CacheAnnotationParser to use@Nullable protected java.util.Collection<CacheOperation> findCacheOperations(java.lang.Class<?> clazz)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourceclazz - the class to retrieve the attribute fornull if none@Nullable protected java.util.Collection<CacheOperation> findCacheOperations(java.lang.reflect.Method method)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourcemethod - the method to retrieve the attribute fornull if none@Nullable protected java.util.Collection<CacheOperation> determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
AnnotationCacheOperationSource.CacheOperationProvider.
 This implementation delegates to configured
 CacheAnnotationParsers
 for parsing known annotations into Spring's metadata attribute class.
 
Can be overridden to support custom annotations that carry caching metadata.
provider - the cache operation provider to usenull if none foundprotected boolean allowPublicMethodsOnly()
allowPublicMethodsOnly in class AbstractFallbackCacheOperationSourcepublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Object