public class AnnotationCacheOperationSource extends AbstractFallbackCacheOperationSource implements 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(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 Collection<CacheOperation> |
determineCacheOperations(AnnotationCacheOperationSource.CacheOperationProvider provider)
Determine the cache operation(s) for the given
AnnotationCacheOperationSource.CacheOperationProvider. |
boolean |
equals(Object other) |
protected Collection<CacheOperation> |
findCacheOperations(Class<?> clazz)
Subclasses need to implement this to return the caching attribute
for the given class, if any.
|
protected Collection<CacheOperation> |
findCacheOperations(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(Set<CacheAnnotationParser> annotationParsers)
annotationParsers - the CacheAnnotationParser to useprotected Collection<CacheOperation> findCacheOperations(Class<?> clazz)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourceclazz - the class to retrieve the attribute fornull if none)protected Collection<CacheOperation> findCacheOperations(Method method)
AbstractFallbackCacheOperationSourcefindCacheOperations in class AbstractFallbackCacheOperationSourcemethod - the method to retrieve the attribute fornull if none)protected 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 AbstractFallbackCacheOperationSource