Interface CacheOperationSource
- All Known Implementing Classes:
AbstractFallbackCacheOperationSource
,AnnotationCacheOperationSource
,CompositeCacheOperationSource
,NameMatchCacheOperationSource
public interface CacheOperationSource
Interface used by
CacheInterceptor
. Implementations know how to source
cache operation attributes, whether from configuration, metadata attributes at
source level, or elsewhere.- Since:
- 3.1
- Author:
- Costin Leau, Juergen Hoeller
-
Method Summary
Modifier and TypeMethodDescriptiongetCacheOperations
(Method method, Class<?> targetClass) Return the collection of cache operations for this method, ornull
if the method contains no cacheable annotations.default boolean
hasCacheOperations
(Method method, Class<?> targetClass) Determine whether there are cache operations for the given method.default boolean
isCandidateClass
(Class<?> targetClass) Determine whether the given class is a candidate for cache operations in the metadata format of thisCacheOperationSource
.
-
Method Details
-
isCandidateClass
Determine whether the given class is a candidate for cache operations in the metadata format of thisCacheOperationSource
.If this method returns
false
, the methods on the given class will not get traversed forgetCacheOperations(java.lang.reflect.Method, java.lang.Class<?>)
introspection. Returningfalse
is therefore an optimization for non-affected classes, whereastrue
simply means that the class needs to get fully introspected for each method on the given class individually.- Parameters:
targetClass
- the class to introspect- Returns:
false
if the class is known to have no cache operation metadata at class or method level;true
otherwise. The default implementation returnstrue
, leading to regular introspection.- Since:
- 5.2
- See Also:
-
hasCacheOperations
Determine whether there are cache operations for the given method.- Parameters:
method
- the method to introspecttargetClass
- the target class (can benull
, in which case the declaring class of the method must be used)- Since:
- 6.2
- See Also:
-
getCacheOperations
@Nullable Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass) Return the collection of cache operations for this method, ornull
if the method contains no cacheable annotations.- Parameters:
method
- the method to introspecttargetClass
- the target class (can benull
, in which case the declaring class of the method must be used)- Returns:
- all cache operations for this method, or
null
if none found
-