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 (e.g.toString()Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.springframework.cache.interceptor.CacheOperationSource
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 (e.g. "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 (may 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
-