| org.apache.cocoon.components.store.MRUMemoryStore
MRUMemoryStore | final public class MRUMemoryStore extends AbstractLogEnabled implements Store,Parameterizable,Composable,Disposable,ThreadSafe(Code) | | This class provides a cache algorithm for the requested documents.
It combines a HashMap and a LinkedList to create a so called MRU
(Most Recently Used) cache.
This implementation is based on MRUBucketMap - map with efficient
O(1) implementation of MRU removal policy.
TODO: Port improvments to the Excalibur implementation
author: Gerhard Froehlich author: Davanum Srinivas author: Vadim Gritsenko version: CVS $Id: MRUMemoryStore.java 433543 2006-08-22 06:22:54Z crossley $ |
Method Summary | |
public void | compose(ComponentManager manager) | public boolean | containsKey(Object key) Indicates if the given key is associated to a contained object. | public void | dispose() | public void | free() Frees some of the fast memory used by this store. | public Object | get(Object key) Get the object associated to the given unique key. | public void | hold(Object key, Object value) This method holds the requested object in a HashMap combined
with a LinkedList to create the MRU. | public Enumeration | keys() Returns the list of used keys as an Enumeration. | public void | parameterize(Parameters params) Initialize the MRUMemoryStore. | public void | remove(Object key) Remove the object associated to the given key. | public int | size() Returns count of the objects in the store, or -1 if could not be
obtained. | public void | store(Object key, Object value) Store the given object in a persistent state. |
compose | public void compose(ComponentManager manager) throws ComponentException(Code) | | Get components of the ComponentManager
Parameters: manager - The ComponentManager |
containsKey | public boolean containsKey(Object key)(Code) | | Indicates if the given key is associated to a contained object.
Parameters: key - The key of the object true if the key exists |
dispose | public void dispose()(Code) | | Dispose the component
|
free | public void free()(Code) | | Frees some of the fast memory used by this store.
It removes the last element in the store.
|
get | public Object get(Object key)(Code) | | Get the object associated to the given unique key.
Parameters: key - The key of the requested object the requested object |
hold | public void hold(Object key, Object value)(Code) | | This method holds the requested object in a HashMap combined
with a LinkedList to create the MRU.
It also stores objects onto the filesystem if configured.
Parameters: key - The key of the object to be stored Parameters: value - The object to be stored |
keys | public Enumeration keys()(Code) | | Returns the list of used keys as an Enumeration.
the enumeration of the cache |
parameterize | public void parameterize(Parameters params) throws ParameterException(Code) | | Initialize the MRUMemoryStore.
A few options can be used:
- maxobjects: Maximum number of objects stored in memory (Default: 100 objects)
- use-persistent-cache: Use persistent cache to keep objects persisted after
container shutdown or not (Default: false)
Parameters: params - Store parameters exception: ParameterException - |
remove | public void remove(Object key)(Code) | | Remove the object associated to the given key.
Parameters: key - The key of to be removed object |
size | public int size()(Code) | | Returns count of the objects in the store, or -1 if could not be
obtained.
|
store | public void store(Object key, Object value)(Code) | | Store the given object in a persistent state. It is up to the
caller to ensure that the key has a persistent state across
different JVM executions.
Parameters: key - The key for the object to store Parameters: value - The object to store |
|
|