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 useprotected java.util.Collection<CacheOperation> findCacheOperations(java.lang.Class<?> clazz)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourceclazz - the class to retrieve the attribute fornull if none)protected java.util.Collection<CacheOperation> findCacheOperations(java.lang.reflect.Method method)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourcemethod - the method to retrieve the attribute fornull if none)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