public interface Cache extends Map<Object,Object>
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.
Modifier and Type | Field and Description |
---|---|
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 . |
Modifier and Type | Method and Description |
---|---|
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.
|
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
static final String PARAM_TYPE
type
.static final String DEFAULT_TYPE
static final String PARAM_NAME
name
.static final String DEFAULT_NAME
static final String PARAM_DEBUG
debug
.static final String DEFAULT_DEBUG
void initialize(Properties params) throws CacheAcquireException
params
- Parameters to initialize the cache (e.g. name, capacity).CacheAcquireException
- If cache can not be initialized.void close()
String getType()
String getName()
void expire(Object key)
key
- the key that needs to be removed.void expireAll()
Copyright © 2016. All rights reserved.