Class AbstractCacheManager

java.lang.Object
org.springframework.cache.support.AbstractCacheManager
All Implemented Interfaces:
InitializingBean, CacheManager
Direct Known Subclasses:
AbstractTransactionSupportingCacheManager, SimpleCacheManager

public abstract class AbstractCacheManager extends Object implements CacheManager, InitializingBean
Abstract base class implementing the common CacheManager methods. Useful for 'static' environments where the backing caches do not change.
Since:
3.1
Author:
Costin Leau, Juergen Hoeller, Stephane Nicoll
  • Constructor Details

    • AbstractCacheManager

      public AbstractCacheManager()
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet()
      Description copied from interface: InitializingBean
      Invoked by the containing BeanFactory after it has set all bean properties and satisfied BeanFactoryAware, ApplicationContextAware etc.

      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:
      afterPropertiesSet in interface InitializingBean
    • initializeCaches

      public void initializeCaches()
      Initialize the static configuration of caches.

      Triggered on startup through afterPropertiesSet(); can also be called to re-initialize at runtime.

      Since:
      4.2.2
      See Also:
    • loadCaches

      protected abstract Collection<? extends Cache> loadCaches()
      Load the initial caches for this cache manager.

      Called by afterPropertiesSet() on startup. The returned collection may be empty but must not be null.

    • getCache

      @Nullable public Cache getCache(String name)
      Description copied from interface: CacheManager
      Get the cache associated with the given name.

      Note that the cache may be lazily created at runtime if the native provider supports it.

      Specified by:
      getCache in interface CacheManager
      Parameters:
      name - the cache identifier (must not be null)
      Returns:
      the associated cache, or null if such a cache does not exist or could be not created
    • getCacheNames

      public Collection<String> getCacheNames()
      Description copied from interface: CacheManager
      Get a collection of the cache names known by this manager.
      Specified by:
      getCacheNames in interface CacheManager
      Returns:
      the names of all caches known by the cache manager
    • lookupCache

      @Nullable protected final Cache lookupCache(String name)
      Check for a registered cache of the given name. In contrast to getCache(String), this method does not trigger the lazy creation of missing caches via getMissingCache(String).
      Parameters:
      name - the cache identifier (must not be null)
      Returns:
      the associated Cache instance, or null if none found
      Since:
      4.1
      See Also:
    • decorateCache

      protected Cache decorateCache(Cache cache)
      Decorate the given Cache object if necessary.
      Parameters:
      cache - the Cache object to be added to this CacheManager
      Returns:
      the decorated Cache object to be used instead, or simply the passed-in Cache object by default
    • getMissingCache

      @Nullable protected Cache getMissingCache(String name)
      Return a missing cache with the specified name, or null if such a cache does not exist or could not be created on demand.

      Caches may be lazily created at runtime if the native provider supports it. If a lookup by name does not yield any result, an AbstractCacheManager subclass gets a chance to register such a cache at runtime. The returned cache will be automatically added to this cache manager.

      Parameters:
      name - the name of the cache to retrieve
      Returns:
      the missing cache, or null if no such cache exists or could be created on demand
      Since:
      4.1
      See Also: