Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.
`int` | `getCapacity()`
`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()`
`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. The capacity will be rounded up to a power of two.
  Parameters:
    `initialCapacity` - minimum capacity of the cache

Method Detail

### getCapacity

    public int getCapacity()

### 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

    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)

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD