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
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCacheMethod(String methodName, Collection<CacheOperation> ops) Add an attribute for a cacheable method.booleangetCacheOperations(Method method, Class<?> targetClass) Return the collection of cache operations for this method, ornullif the method contains no cacheable annotations.inthashCode()protected booleanReturn if the given method name matches the mapped name.voidsetNameMap(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, waitMethods inherited from interface org.springframework.cache.interceptor.CacheOperationSource
hasCacheOperations, isCandidateClass
-
Field Details
-
logger
Logger 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
@Nullable public Collection<CacheOperation> getCacheOperations(Method method, @Nullable Class<?> targetClass) Description copied from interface:CacheOperationSourceReturn the collection of cache operations for this method, ornullif the method contains no cacheable annotations.- Specified by:
getCacheOperationsin 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
nullif 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
-