Class AnnotationJCacheOperationSource
java.lang.Object
org.springframework.cache.jcache.interceptor.AbstractFallbackJCacheOperationSource
org.springframework.cache.jcache.interceptor.AnnotationJCacheOperationSource
- All Implemented Interfaces:
JCacheOperationSource
- Direct Known Subclasses:
DefaultJCacheOperationSource
Implementation of the
JCacheOperationSource interface that reads
the JSR-107 CacheResult, CachePut, CacheRemove and
CacheRemoveAll annotations.- Since:
- 4.1
- Author:
- Stephane Nicoll, Juergen Hoeller
-
Field Summary
Fields inherited from class AbstractFallbackJCacheOperationSource
logger -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.springframework.cache.jcache.interceptor.CachePutOperationcreateCachePutOperation(Method method, @Nullable javax.cache.annotation.CacheDefaults defaults, javax.cache.annotation.CachePut ann) protected org.springframework.cache.jcache.interceptor.CacheRemoveAllOperationcreateCacheRemoveAllOperation(Method method, @Nullable javax.cache.annotation.CacheDefaults defaults, javax.cache.annotation.CacheRemoveAll ann) protected org.springframework.cache.jcache.interceptor.CacheRemoveOperationcreateCacheRemoveOperation(Method method, @Nullable javax.cache.annotation.CacheDefaults defaults, javax.cache.annotation.CacheRemove ann) protected org.springframework.cache.jcache.interceptor.CacheResultOperationcreateCacheResultOperation(Method method, @Nullable javax.cache.annotation.CacheDefaults defaults, javax.cache.annotation.CacheResult ann) protected StringdetermineCacheName(Method method, @Nullable javax.cache.annotation.CacheDefaults defaults, String candidate) protected @Nullable javax.cache.annotation.CacheResolverFactorydetermineCacheResolverFactory(@Nullable javax.cache.annotation.CacheDefaults defaults, Class<? extends javax.cache.annotation.CacheResolverFactory> candidate) protected org.springframework.cache.interceptor.KeyGeneratordetermineKeyGenerator(@Nullable javax.cache.annotation.CacheDefaults defaults, Class<? extends javax.cache.annotation.CacheKeyGenerator> candidate) protected @Nullable JCacheOperation<?> findCacheOperation(Method method, @Nullable Class<?> targetType) Subclasses need to implement this to return the caching operation for the given method, if any.protected StringgenerateDefaultCacheName(Method method) Generate a default cache name for the specifiedMethod.protected abstract <T> TLocate or create an instance of the specified cache strategytype.protected @Nullable javax.cache.annotation.CacheDefaultsgetCacheDefaults(Method method, @Nullable Class<?> targetType) protected org.springframework.cache.interceptor.CacheResolvergetCacheResolver(@Nullable javax.cache.annotation.CacheResolverFactory factory, javax.cache.annotation.CacheMethodDetails<?> details) protected abstract org.springframework.cache.interceptor.CacheResolverReturn the defaultCacheResolverif none is set.protected abstract org.springframework.cache.interceptor.CacheResolverReturn the default exceptionCacheResolverif none is set.protected abstract org.springframework.cache.interceptor.KeyGeneratorReturn the defaultKeyGeneratorif none is set.protected org.springframework.cache.interceptor.CacheResolvergetExceptionCacheResolver(@Nullable javax.cache.annotation.CacheResolverFactory factory, javax.cache.annotation.CacheMethodDetails<javax.cache.annotation.CacheResult> details) booleanisCandidateClass(Class<?> targetClass) Determine whether the given class is a candidate for cache operations in the metadata format of thisJCacheOperationSource.Methods inherited from class AbstractFallbackJCacheOperationSource
allowPublicMethodsOnly, getCacheOperation, hasCacheOperation
-
Constructor Details
-
AnnotationJCacheOperationSource
public AnnotationJCacheOperationSource()
-
-
Method Details
-
isCandidateClass
Description copied from interface:JCacheOperationSourceDetermine whether the given class is a candidate for cache operations in the metadata format of thisJCacheOperationSource.If this method returns
false, the methods on the given class will not get traversed forJCacheOperationSource.getCacheOperation(Method, Class)introspection. Returningfalseis therefore an optimization for non-affected classes, whereastruesimply means that the class needs to get fully introspected for each method on the given class individually.- Parameters:
targetClass- the class to introspect- Returns:
falseif the class is known to have no cache operation metadata at class or method level;trueotherwise. The default implementation returnstrue, leading to regular introspection.- See Also:
-
findCacheOperation
protected @Nullable JCacheOperation<?> findCacheOperation(Method method, @Nullable Class<?> targetType) Description copied from class:AbstractFallbackJCacheOperationSourceSubclasses need to implement this to return the caching operation for the given method, if any.- Specified by:
findCacheOperationin classAbstractFallbackJCacheOperationSource- Parameters:
method- the method to retrieve the operation fortargetType- the target class- Returns:
- the cache operation associated with this method
(or
nullif none)
-
getCacheDefaults
-
createCacheResultOperation
-
createCachePutOperation
-
createCacheRemoveOperation
-
createCacheRemoveAllOperation
-
getCacheResolver
protected org.springframework.cache.interceptor.CacheResolver getCacheResolver(@Nullable javax.cache.annotation.CacheResolverFactory factory, javax.cache.annotation.CacheMethodDetails<?> details) -
getExceptionCacheResolver
protected org.springframework.cache.interceptor.CacheResolver getExceptionCacheResolver(@Nullable javax.cache.annotation.CacheResolverFactory factory, javax.cache.annotation.CacheMethodDetails<javax.cache.annotation.CacheResult> details) -
determineCacheResolverFactory
-
determineKeyGenerator
-
determineCacheName
-
generateDefaultCacheName
-
getBean
Locate or create an instance of the specified cache strategytype.- Parameters:
type- the type of the bean to manage- Returns:
- the required bean
-
getDefaultCacheResolver
protected abstract org.springframework.cache.interceptor.CacheResolver getDefaultCacheResolver()Return the defaultCacheResolverif none is set. -
getDefaultExceptionCacheResolver
protected abstract org.springframework.cache.interceptor.CacheResolver getDefaultExceptionCacheResolver()Return the default exceptionCacheResolverif none is set. -
getDefaultKeyGenerator
protected abstract org.springframework.cache.interceptor.KeyGenerator getDefaultKeyGenerator()Return the defaultKeyGeneratorif none is set.
-