net.sf.swarmcache
Class LRUCache

java.lang.Object
  |
  +--net.sf.swarmcache.LRUCache
All Implemented Interfaces:
ObjectCache

public class LRUCache
extends java.lang.Object
implements ObjectCache

Cache implementation that uses the Least Recently Used algorithm. This algorithm provides good cache hit frequency.

Author:
John Watkinson

Nested Class Summary
 class LRUCache.ListeningLRUMap
           
 
Field Summary
static int DEFAULT_CACHE_SIZE
          The default cache size (1000).
static java.lang.String LRU_CACHE_SIZE_PROPERTY
          The property containing the maximum number of objects to cache.
 
Constructor Summary
LRUCache()
           
 
Method Summary
 java.lang.Object clear(java.io.Serializable key)
          Clears an object from the cache by key.
 void clearAll()
          Clears the entire cache.
 java.lang.Object get(java.io.Serializable key)
          Gets an object from the cache by key, or returns null if that object is not cached.
 java.lang.String getType()
          Gets the common name of the type of objects to cache.
 void put(java.io.Serializable key, java.lang.Object object)
          Adds an object to the cache.
 void setListener(LRUCacheListener l)
           
 void setSize(int newSize)
           
 void setType(java.lang.String type)
          Sets the common name of the type of objects to cache.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LRU_CACHE_SIZE_PROPERTY

public static final java.lang.String LRU_CACHE_SIZE_PROPERTY
The property containing the maximum number of objects to cache.

See Also:
Constant Field Values

DEFAULT_CACHE_SIZE

public static final int DEFAULT_CACHE_SIZE
The default cache size (1000).

See Also:
Constant Field Values
Constructor Detail

LRUCache

public LRUCache()
Method Detail

setSize

public void setSize(int newSize)

getType

public java.lang.String getType()
Description copied from interface: ObjectCache
Gets the common name of the type of objects to cache.

Specified by:
getType in interface ObjectCache

setType

public void setType(java.lang.String type)
Description copied from interface: ObjectCache
Sets the common name of the type of objects to cache.

Specified by:
setType in interface ObjectCache

put

public void put(java.io.Serializable key,
                java.lang.Object object)
Description copied from interface: ObjectCache
Adds an object to the cache.

Specified by:
put in interface ObjectCache

get

public java.lang.Object get(java.io.Serializable key)
Description copied from interface: ObjectCache
Gets an object from the cache by key, or returns null if that object is not cached.

Specified by:
get in interface ObjectCache

clear

public java.lang.Object clear(java.io.Serializable key)
Description copied from interface: ObjectCache
Clears an object from the cache by key.

Specified by:
clear in interface ObjectCache

clearAll

public void clearAll()
Description copied from interface: ObjectCache
Clears the entire cache.

Specified by:
clearAll in interface ObjectCache

setListener

public void setListener(LRUCacheListener l)