public interface CacheOperationSource
CacheInterceptor
. Implementations know how to source
cache operation attributes, whether from configuration, metadata attributes at
source level, or elsewhere.Modifier and Type | Method and Description |
---|---|
java.util.Collection<CacheOperation> |
getCacheOperations(java.lang.reflect.Method method,
java.lang.Class<?> targetClass)
Return the collection of cache operations for this method,
or
null if the method contains no cacheable annotations. |
default boolean |
isCandidateClass(java.lang.Class<?> targetClass)
Determine whether the given class is a candidate for cache operations
in the metadata format of this
CacheOperationSource . |
default boolean isCandidateClass(java.lang.Class<?> targetClass)
CacheOperationSource
.
If this method returns false
, the methods on the given class
will not get traversed for getCacheOperations(java.lang.reflect.Method, java.lang.Class<?>)
introspection.
Returning false
is therefore an optimization for non-affected
classes, whereas true
simply means that the class needs to get
fully introspected for each method on the given class individually.
targetClass
- the class to introspectfalse
if the class is known to have no cache operation
metadata at class or method level; true
otherwise. The default
implementation returns true
, leading to regular introspection.@Nullable java.util.Collection<CacheOperation> getCacheOperations(java.lang.reflect.Method method, @Nullable java.lang.Class<?> targetClass)
null
if the method contains no cacheable annotations.method
- the method to introspecttargetClass
- the target class (may be null
, in which case
the declaring class of the method must be used)null
if none found