net.sf.swarmcache
Class HybridCache

java.lang.Object
  |
  +--net.sf.swarmcache.HybridCache
All Implemented Interfaces:
LRUCacheListener, ObjectCache

public class HybridCache
extends java.lang.Object
implements ObjectCache, LRUCacheListener

A hybrid cache solution that uses a (presumably small) LRU cache backed by a larger AutoCache. This implementation aims to be a good trade-off between cache hit frequency and agressive memory usage.


Constructor Summary
HybridCache()
           
 
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 objectRemoved(java.io.Serializable key, java.lang.Object value)
          Called when an object is automatically removed from the LRU cache.
 void put(java.io.Serializable key, java.lang.Object object)
          Adds an object to the cache.
 void setSize(int newSize)
          Sets the size of the LRU cache.
 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
 

Constructor Detail

HybridCache

public HybridCache()
Method Detail

setSize

public void setSize(int newSize)
Sets the size of the LRU cache. Note: this clears the LRU cache!


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

objectRemoved

public void objectRemoved(java.io.Serializable key,
                          java.lang.Object value)
Called when an object is automatically removed from the LRU cache.

Specified by:
objectRemoved in interface LRUCacheListener

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