org.springframework.cache.concurrent
Class ConcurrentMapCacheManager

java.lang.Object
  extended by org.springframework.cache.concurrent.ConcurrentMapCacheManager
All Implemented Interfaces:
CacheManager

public class ConcurrentMapCacheManager
extends Object
implements CacheManager

CacheManager implementation that lazily builds ConcurrentMapCache instances for each getCache(java.lang.String) request. Also supports a 'static' mode where the set of cache names is pre-defined through setCacheNames(java.util.Collection), with no dynamic creation of further cache regions at runtime.

Since:
3.1
Author:
Juergen Hoeller

Constructor Summary
ConcurrentMapCacheManager()
          Construct a dynamic ConcurrentMapCacheManager, lazily creating cache instances as they are being requested.
ConcurrentMapCacheManager(String... cacheNames)
          Construct a static ConcurrentMapCacheManager, managing caches for the specified cache names only.
 
Method Summary
protected  Cache createConcurrentMapCache(String name)
          Create a new ConcurrentMapCache instance for the specified cache name.
 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.
 void setCacheNames(Collection<String> cacheNames)
          Specify the set of cache names for this CacheManager's 'static' mode.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConcurrentMapCacheManager

public ConcurrentMapCacheManager()
Construct a dynamic ConcurrentMapCacheManager, lazily creating cache instances as they are being requested.


ConcurrentMapCacheManager

public ConcurrentMapCacheManager(String... cacheNames)
Construct a static ConcurrentMapCacheManager, managing caches for the specified cache names only.

Method Detail

setCacheNames

public void setCacheNames(Collection<String> cacheNames)
Specify the set of cache names for this CacheManager's 'static' mode.

The number of caches and their names will be fixed after a call to this method, with no creation of further cache regions at runtime.


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.

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

createConcurrentMapCache

protected Cache createConcurrentMapCache(String name)
Create a new ConcurrentMapCache instance for the specified cache name.

Parameters:
name - the name of the cache
Returns:
the ConcurrentMapCache (or a decorator thereof)