com.caucho.util
Class LruCache

java.lang.Object
  |
  +--com.caucho.util.LruCache
Direct Known Subclasses:
TimedCache

public class LruCache
extends java.lang.Object

Fixed length cache with a LRU replacement policy. If cache items implement CacheListener, they will be informed when they're removed from the cache.

Null keys are not allowed. LruCache is synchronized.


Constructor Summary
LruCache(int initialCapacity)
          Create the LRU cache with a specific capacity.
 
Method Summary
 void clear()
          Clears the cache
 java.lang.Object get(java.lang.Object key)
          Get an item from the cache and make it most recently used.
 java.util.Iterator keys()
          Returns the keys stored in the cache
 java.util.Iterator keys(java.util.Iterator oldIter)
          Returns keys stored in the cache using an old iterator
 java.lang.Object put(java.lang.Object key, java.lang.Object value)
          Puts a new item in the cache.
 java.lang.Object remove(java.lang.Object key)
          Removes an item from the cache
 boolean removeTail()
          Remove the last item in the LRU
 java.util.Iterator values()
          Returns the values in the cache
 java.util.Iterator values(java.util.Iterator oldIter)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LruCache

public LruCache(int initialCapacity)
Create the LRU cache with a specific capacity.
Parameters:
initialCapacity - minimum capacity of the cache
Method Detail

clear

public void clear()
Clears the cache

get

public java.lang.Object get(java.lang.Object key)
Get an item from the cache and make it most recently used.
Parameters:
key - key to lookup the item
Returns:
the matching object in the cache

put

public java.lang.Object put(java.lang.Object key,
                            java.lang.Object value)
Puts a new item in the cache. If the cache is full, remove the LRU item.
Parameters:
key - key to store data
value - value to be stored
Returns:
old value stored under the key

removeTail

public boolean removeTail()
Remove the last item in the LRU

remove

public java.lang.Object remove(java.lang.Object key)
Removes an item from the cache
Parameters:
key - the key to remove
Returns:
the value removed

keys

public java.util.Iterator keys()
Returns the keys stored in the cache

keys

public java.util.Iterator keys(java.util.Iterator oldIter)
Returns keys stored in the cache using an old iterator

values

public java.util.Iterator values()
Returns the values in the cache

values

public java.util.Iterator values(java.util.Iterator oldIter)