org.apache.shiro.cache
Class AbstractCacheManager

java.lang.Object
  extended by org.apache.shiro.cache.AbstractCacheManager
All Implemented Interfaces:
CacheManager, Destroyable
Direct Known Subclasses:
MemoryConstrainedCacheManager

public abstract class AbstractCacheManager
extends Object
implements CacheManager, Destroyable

Very simple abstract CacheManager implementation that retains all created Cache instances in an in-memory ConcurrentMap. Cache instance creation is left to subclasses via the createCache method implementation.

Since:
1.0

Constructor Summary
AbstractCacheManager()
          Default no-arg constructor that instantiates an internal name-to-cache ConcurrentMap.
 
Method Summary
protected abstract  Cache createCache(String name)
          Creates a new Cache instance associated with the specified name.
 void destroy()
          Cleanup method that first destroys all of it's managed caches and then clears out the internally referenced cache map.
<K,V> Cache<K,V>
getCache(String name)
          Returns the cache with the specified name.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractCacheManager

public AbstractCacheManager()
Default no-arg constructor that instantiates an internal name-to-cache ConcurrentMap.

Method Detail

getCache

public <K,V> Cache<K,V> getCache(String name)
                    throws IllegalArgumentException,
                           CacheException
Returns the cache with the specified name. If the cache instance does not yet exist, it will be lazily created, retained for further access, and then returned.

Specified by:
getCache in interface CacheManager
Parameters:
name - the name of the cache to acquire.
Returns:
the cache with the specified name.
Throws:
IllegalArgumentException - if the name argument is null or does not contain text.
CacheException - if there is a problem lazily creating a Cache instance.

createCache

protected abstract Cache createCache(String name)
                              throws CacheException
Creates a new Cache instance associated with the specified name.

Parameters:
name - the name of the cache to create
Returns:
a new Cache instance associated with the specified name.
Throws:
CacheException - if the Cache instance cannot be created.

destroy

public void destroy()
             throws Exception
Cleanup method that first destroys all of it's managed caches and then clears out the internally referenced cache map.

Specified by:
destroy in interface Destroyable
Throws:
Exception - if any of the managed caches can't destroy properly.

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.