Class AbstractCacheResolver
- java.lang.Object
- org.springframework.cache.interceptor.AbstractCacheResolver
- All Implemented Interfaces:
InitializingBean,CacheResolver
- Direct Known Subclasses:
NamedCacheResolver,SimpleCacheResolver,SimpleExceptionCacheResolver
public abstract class AbstractCacheResolver extends Object implements CacheResolver, InitializingBean
A baseCacheResolverimplementation that requires the concrete implementation to provide the collection of cache name(s) based on the invocation context.- Since:
- 4.1
- Author:
- Stephane Nicoll, Juergen Hoeller
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractCacheResolver()Construct a newAbstractCacheResolver.protectedAbstractCacheResolver(CacheManager cacheManager)Construct a newAbstractCacheResolverfor the givenCacheManager.
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidafterPropertiesSet()Invoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.CacheManagergetCacheManager()Return theCacheManagerthat this instance uses.protected abstract Collection<String>getCacheNames(CacheOperationInvocationContext<?> context)Provide the name of the cache(s) to resolve against the current cache manager.Collection<? extends Cache>resolveCaches(CacheOperationInvocationContext<?> context)Return the cache(s) to use for the specified invocation.voidsetCacheManager(CacheManager cacheManager)Set theCacheManagerthat this instance should use.
Constructor Detail
AbstractCacheResolver
protected AbstractCacheResolver()
Construct a newAbstractCacheResolver.
AbstractCacheResolver
protected AbstractCacheResolver(CacheManager cacheManager)
Construct a newAbstractCacheResolverfor the givenCacheManager.- Parameters:
cacheManager- the CacheManager to use
Method Detail
setCacheManager
public void setCacheManager(CacheManager cacheManager)
Set theCacheManagerthat this instance should use.
getCacheManager
public CacheManager getCacheManager()
Return theCacheManagerthat this instance uses.
afterPropertiesSet
public void afterPropertiesSet()
Description copied from interface:InitializingBeanInvoked by the containingBeanFactoryafter it has set all bean properties and satisfiedBeanFactoryAware,ApplicationContextAwareetc.This method allows the bean instance to perform validation of its overall configuration and final initialization when all bean properties have been set.
- Specified by:
afterPropertiesSetin interfaceInitializingBean
resolveCaches
public Collection<? extends Cache> resolveCaches(CacheOperationInvocationContext<?> context)
Description copied from interface:CacheResolverReturn the cache(s) to use for the specified invocation.- Specified by:
resolveCachesin interfaceCacheResolver- Parameters:
context- the context of the particular invocation- Returns:
- the cache(s) to use (never
null)
getCacheNames
protected abstract Collection<String> getCacheNames(CacheOperationInvocationContext<?> context)
Provide the name of the cache(s) to resolve against the current cache manager.It is acceptable to return
nullto indicate that no cache could be resolved for this invocation.- Parameters:
context- the context of the particular invocation- Returns:
- the cache name(s) to resolve, or
nullif no cache should be resolved