Class SpringCacheAnnotationParser
- java.lang.Object
- org.springframework.cache.annotation.SpringCacheAnnotationParser
- All Implemented Interfaces:
Serializable,CacheAnnotationParser
public class SpringCacheAnnotationParser extends Object implements CacheAnnotationParser, Serializable
Strategy implementation for parsing Spring'sCaching,Cacheable,CacheEvict, andCachePutannotations.- Since:
- 3.1
- Author:
- Costin Leau, Juergen Hoeller, Chris Beams, Phillip Webb, Stephane Nicoll, Sam Brannen
- See Also:
- Serialized Form
Constructor Summary
Constructors Constructor Description SpringCacheAnnotationParser()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object other)inthashCode()booleanisCandidateClass(Class<?> targetClass)Determine whether the given class is a candidate for cache operations in the annotation format of thisCacheAnnotationParser.Collection<CacheOperation>parseCacheAnnotations(Class<?> type)Parse the cache definition for the given class, based on an annotation type understood by this parser.Collection<CacheOperation>parseCacheAnnotations(Method method)Parse the cache definition for the given method, based on an annotation type understood by this parser.
Constructor Detail
SpringCacheAnnotationParser
public SpringCacheAnnotationParser()
Method Detail
isCandidateClass
public boolean isCandidateClass(Class<?> targetClass)
Description copied from interface:CacheAnnotationParserDetermine whether the given class is a candidate for cache operations in the annotation format of thisCacheAnnotationParser.If this method returns
false, the methods on the given class will not get traversed for#parseCacheAnnotationsintrospection. 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 interfaceCacheAnnotationParser- Parameters:
targetClass- the class to introspect- Returns:
falseif the class is known to have no cache operation annotations at class or method level;trueotherwise. The default implementation returnstrue, leading to regular introspection.
parseCacheAnnotations
@Nullable public Collection<CacheOperation> parseCacheAnnotations(Class<?> type)
Description copied from interface:CacheAnnotationParserParse the cache definition for the given class, based on an annotation type understood by this parser.This essentially parses a known cache annotation into Spring's metadata attribute class. Returns
nullif the class is not cacheable.- Specified by:
parseCacheAnnotationsin interfaceCacheAnnotationParser- Parameters:
type- the annotated class- Returns:
- the configured caching operation, or
nullif none found - See Also:
AnnotationCacheOperationSource.findCacheOperations(Class)
parseCacheAnnotations
@Nullable public Collection<CacheOperation> parseCacheAnnotations(Method method)
Description copied from interface:CacheAnnotationParserParse the cache definition for the given method, based on an annotation type understood by this parser.This essentially parses a known cache annotation into Spring's metadata attribute class. Returns
nullif the method is not cacheable.- Specified by:
parseCacheAnnotationsin interfaceCacheAnnotationParser- Parameters:
method- the annotated method- Returns:
- the configured caching operation, or
nullif none found - See Also:
AnnotationCacheOperationSource.findCacheOperations(Method)