| java.lang.Object simple.util.cache.TimeCache
TimeCache | public class TimeCache (Code) | | This is a LRU, Least Recently Used, TimeCache for caching
objects. This ensures that the TimeCache does not allow
too many objects to be cached. This does not account for anything
other than the number of lockable regions, i.e. synchronized Least
Recently Used lists, and the maximum number of items a region can
have before it removes the least recently used objects.
When objects are cached they can be cached for a specified number of
miliseconds, when this expires then the time cache will remove the
item, this removal is very accurate to the timeout specified for the
object. If no time out is given a default timeout for this is used.
The maximum capacity of the TimeCache is regions * limit,
however this does not provide an exact Least Recently Used semantic
as some regions are likely to have more hits than others.
author: Niall Gallagher |
Constructor Summary | |
public | TimeCache() This is used to create a TimeCache object for storing
objects. | public | TimeCache(int regions, int limit) This is used to create a TimeCache object for storing
objects. | public | TimeCache(int regions, int limit, int timeout) This is a constructor method used by 'this' to specify the
characteristics that the TimeCache may have. |
Method Summary | |
public void | cache(Object key, Object obj) This will store the object given in the TimeCache
under the reference specified. | public void | cache(Object key, Object obj, int timeout) This will store the object given in the TimeCache
under the reference specified. | public void | clear() This will remove all items from the TimeCache . | public boolean | contains(Object key) This will check to see if an object exists within the
TimeCache . | public Object | lookup(Object key) This will search the TimeCache to see if the item
in the time cache. | public Object | remove(Object key) This will remove the object cached using the specified
key. |
TimeCache | public TimeCache()(Code) | | This is used to create a TimeCache object for storing
objects. This cache implementation is an Least Recently Used cache
meaning that the Least Recently Used items are removed if the
size of a region grows to large. This has a maximum capacity
of 60, unlikely.
|
TimeCache | public TimeCache(int regions, int limit)(Code) | | This is used to create a TimeCache object for storing
objects. This cache implementation is an Least Recently Used cache
meaning that the Least Recently Used items are removed if the
size if the region grows to large. This constructor configures
the TimeCache as specified.
Parameters: regions - number of regions that are synchronized Parameters: limit - the maximum amount of objects per region |
TimeCache | public TimeCache(int regions, int limit, int timeout)(Code) | | This is a constructor method used by 'this' to specify the
characteristics that the TimeCache may have. This
will allow the max timeout to be specified for the
TimeCache .
Parameters: regions - number of regions that are synchronized Parameters: limit - the maximum amount of objects per region Parameters: timeout - the default timeout peroid for an object |
cache | public void cache(Object key, Object obj)(Code) | | This will store the object given in the TimeCache
under the reference specified. The object may exist in the
TimeCache for a limited time only specified by a
timeout.
Parameters: key - this is the key that references the object Parameters: obj - this is the object that is to be stored |
cache | public void cache(Object key, Object obj, int timeout)(Code) | | This will store the object given in the TimeCache
under the reference specified. The object may exist in the
TimeCache for a limited time only specified by a
timeout.
Parameters: key - this is the key that references the object Parameters: obj - this is the object that is to be stored Parameters: timeout - max amount of time this can becached. |
clear | public void clear()(Code) | | This will remove all items from the TimeCache .
This is used to synchronize the cached objects.
|
contains | public boolean contains(Object key)(Code) | | This will check to see if an object exists within the
TimeCache . If it exists this returns true else
false.
Parameters: key - this is the key that references the object a boolean indicating the status of the object |
lookup | public Object lookup(Object key)(Code) | | This will search the TimeCache to see if the item
in the time cache. If it is in the cache this will return it.
This provides a very concurrent lookup mechanism, where threads
have less contention for locks, as the key decides which list
to use based on the value of the key hash code.
Parameters: key - this is the key that references the object the object that is referenced by the key |
remove | public Object remove(Object key)(Code) | | This will remove the object cached using the specified
key. If the object is not stored this does nothing.
This ensures that no reference fot the object is left.
Parameters: key - this is the key that references the object |
|
|