org.castor.cache

Interface Cache

All Superinterfaces:
Map
Known Implementing Classes:
AbstractBaseCache, AbstractDistributedCache, AbstractHashbelt, CoherenceCache, CountLimited, DebuggingCacheProxy, EHCache, FIFOHashbelt, FKCache, GigaspacesCache, JcsCache, JCache, LRUHashbelt, NoCache, OsCache, TimeLimited, Unlimited

public interface Cache
extends Map

Interface specification for performance caches as used in Castor. Please implement this interface if you wish to provide your own cache implementation.

At initialization each cache implementation gets passed a properties map containing key/value pairs. Apart of 3 reserved standard properties, individual once can be used to configure the cache behavier. The standard properties are:

type which is evaluated by the CacheFactoryRegistry and defines the requested cache type. If not set count-limited cahce will be used as default.
debug is also evaluated by the CacheFactoryRegistry and defines if the cache instance will be wrapped by a DebuggingCacheProxy to log debug messages at every access to the cache. If not set no debugging will take place.
name is used by AbstractBaseCache to set the name of the cache instance. At the moment every cache type available extends this AbstractBaseCache. The name does not influence internal behavier of the cache but is usefull to identify from which cache instance debug messages are coming from. By default castor uses the classname of the cached objects as name for the cache. If not present the name will be empty.

For a description of the individual properties you should have a look at the javadoc of the different cache types. It needs to be noted that only string keys and values are allowed.

Version:
$Revision: 7121 $ $Date: 2006-04-25 16:09:10 -0600 (Tue, 25 Apr 2006) $
Authors:
Werner Guttmann
Ralf Joachim
Since:
1.0

Field Summary

static String
DEFAULT_DEBUG
Default is debugging switched off.
static String
DEFAULT_NAME
Default cache name to be used.
static String
DEFAULT_TYPE
Default cache type to be used.
static String
PARAM_DEBUG
Mapped initialization parameter debug.
static String
PARAM_NAME
Mapped initialization parameter name.
static String
PARAM_TYPE
Mapped initialization parameter type.

Method Summary

void
close()
Life-cycle method to allow custom resource cleanup for a cache implementation.
void
expire(Object key)
Remove the mapping identified by key from the cache.
void
expireAll()
Removes all mappings from the cache.
String
getName()
Get virtual name of this cache.
String
getType()
Indicates the type of this cache.
void
initialize(Properties params)
Lyfe-cycle method to allow custom initialization of cache implementations.

Field Details

DEFAULT_DEBUG

public static final String DEFAULT_DEBUG
Default is debugging switched off.

DEFAULT_NAME

public static final String DEFAULT_NAME
Default cache name to be used.

DEFAULT_TYPE

public static final String DEFAULT_TYPE
Default cache type to be used.

PARAM_DEBUG

public static final String PARAM_DEBUG
Mapped initialization parameter debug.

PARAM_NAME

public static final String PARAM_NAME
Mapped initialization parameter name.

PARAM_TYPE

public static final String PARAM_TYPE
Mapped initialization parameter type.

Method Details

close

public void close()
Life-cycle method to allow custom resource cleanup for a cache implementation.

expire

public void expire(Object key)
Remove the mapping identified by key from the cache.
Parameters:
key - the key that needs to be removed.

expireAll

public void expireAll()
Removes all mappings from the cache.

getName

public String getName()
Get virtual name of this cache. Castor sets the cache name to the class name of the objects stored in the cache.
Returns:
The cache name.

getType

public String getType()
Indicates the type of this cache.
Returns:
The cache type.

initialize

public void initialize(Properties params)
            throws CacheAcquireException
Lyfe-cycle method to allow custom initialization of cache implementations.
Parameters:
params - Parameters to initialize the cache (e.g. name, capacity).
Throws:
CacheAcquireException - If cache can not be initialized.

Intalio Inc. (C) 1999-2008. All rights reserved http://www.intalio.com