Class NameMatchCacheOperationSource
java.lang.Object
org.springframework.cache.interceptor.NameMatchCacheOperationSource
- All Implemented Interfaces:
Serializable
,CacheOperationSource
public class NameMatchCacheOperationSource
extends Object
implements CacheOperationSource, Serializable
Simple
CacheOperationSource
implementation that allows attributes to be matched
by registered name.- Since:
- 3.1
- Author:
- Costin Leau
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected static final org.apache.commons.logging.Log
Logger available to subclasses. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addCacheMethod
(String methodName, Collection<CacheOperation> ops) Add an attribute for a cacheable method.boolean
getCacheOperations
(Method method, @Nullable Class<?> targetClass) Return the collection of cache operations for this method, ornull
if the method contains no cacheable annotations.int
hashCode()
protected boolean
Return if the given method name matches the mapped name.void
setNameMap
(Map<String, Collection<CacheOperation>> nameMap) Set a name/attribute map, consisting of method names (for example, "myMethod") and CacheOperation instances (or Strings to be converted to CacheOperation instances).toString()
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.springframework.cache.interceptor.CacheOperationSource
hasCacheOperations, isCandidateClass
-
Field Details
-
logger
protected static final org.apache.commons.logging.Log loggerLogger available to subclasses.Static for optimal serialization.
-
-
Constructor Details
-
NameMatchCacheOperationSource
public NameMatchCacheOperationSource()
-
-
Method Details
-
setNameMap
Set a name/attribute map, consisting of method names (for example, "myMethod") and CacheOperation instances (or Strings to be converted to CacheOperation instances).- See Also:
-
addCacheMethod
Add an attribute for a cacheable method.Method names can be exact matches, or of the pattern "xxx*", "*xxx" or "*xxx*" for matching multiple methods.
- Parameters:
methodName
- the name of the methodops
- operation associated with the method
-
getCacheOperations
public @Nullable Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass) Description copied from interface:CacheOperationSource
Return the collection of cache operations for this method, ornull
if the method contains no cacheable annotations.- Specified by:
getCacheOperations
in interfaceCacheOperationSource
- 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
-
isMatch
Return if the given method name matches the mapped name.The default implementation checks for "xxx*", "*xxx" and "*xxx*" matches, as well as direct equality. Can be overridden in subclasses.
- Parameters:
methodName
- the method name of the classmappedName
- the name in the descriptor- Returns:
- if the names match
- See Also:
-
equals
-
hashCode
public int hashCode() -
toString
-