org.springframework.cache.support

## 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

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractCacheManager()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `addCache(Cache cache)`
    `void` | `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
    `protected Cache` | `decorateCache(Cache cache)` Decorate the given Cache object if necessary.
    `Cache` | `getCache(String name)` Return the cache associated with the given name.
    `Collection<String>` | `getCacheNames()` Return a collection of the caches known by this cache manager.
    `protected abstract Collection<? extends Cache>` | `loadCaches()` Load the caches for this cache manager.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractCacheManager

          public AbstractCacheManager()

  - ### Method Detail

    - #### afterPropertiesSet

          public void afterPropertiesSet()

      Description copied from interface: `InitializingBean`
      Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

      This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

      Specified by:
        `afterPropertiesSet` in interface `InitializingBean`

    - #### addCache

          protected final void addCache(Cache cache)

    - #### 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

    - #### getCache

          public Cache getCache(String name)

      Description copied from interface: `CacheManager`
      Return the cache associated with the given name.
      Specified by:
        `getCache` in interface `CacheManager`
      Parameters:
        `name` - cache identifier (must not be `null`)
      Returns:
        associated cache, or `null` if none is found

    - #### getCacheNames

          public Collection<String> getCacheNames()

      Description copied from interface: `CacheManager`
      Return a collection of the caches known by this cache manager.
      Specified by:
        `getCacheNames` in interface `CacheManager`
      Returns:
        names of caches known by the cache manager.

    - #### loadCaches

          protected abstract Collection<? extends Cache> loadCaches()

      Load the caches for this cache manager. Occurs at startup. The returned collection must not be null.