Class AbstractCacheResolver

java.lang.Object
org.springframework.cache.interceptor.AbstractCacheResolver
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, CacheResolver
Direct Known Subclasses:
NamedCacheResolver, SimpleCacheResolver

public abstract class AbstractCacheResolver extends Object implements CacheResolver, org.springframework.beans.factory.InitializingBean
A base CacheResolver implementation 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 Details

  • Method Details

    • setCacheManager

      public void setCacheManager(CacheManager cacheManager)
      Set the CacheManager that this instance should use.
    • getCacheManager

      public CacheManager getCacheManager()
      Return the CacheManager that this instance uses.
    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
    • resolveCaches

      public Collection<? extends Cache> resolveCaches(CacheOperationInvocationContext<?> context)
      Description copied from interface: CacheResolver
      Return the cache(s) to use for the specified invocation.
      Specified by:
      resolveCaches in interface CacheResolver
      Parameters:
      context - the context of the particular invocation
      Returns:
      the cache(s) to use (never null)
    • getCacheNames

      @Nullable 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 null to 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 null if no cache should be resolved