Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.apache.oro.util
Class CacheLRU  view CacheLRU download CacheLRU.java

java.lang.Object
  extended byorg.apache.oro.util.GenericCache
      extended byorg.apache.oro.util.CacheLRU
All Implemented Interfaces:
Cache, java.io.Serializable

public final class CacheLRU
extends GenericCache

This class is a GenericCache subclass implementing an LRU (Least Recently Used) cache replacement policy. In other words, values are added to the cache until it becomes full. Once the cache is full, when a new value is added to the cache, it replaces the least recently used value currently in the cache. This is probably the best general purpose cache replacement policy.

Since:
1.0
Version:
@version@

Field Summary
private  int __head
           
private  int[] __next
           
private  int[] __prev
           
private  int __tail
           
 
Fields inherited from class org.apache.oro.util.GenericCache
_cache, _numEntries, _table, DEFAULT_CAPACITY
 
Constructor Summary
CacheLRU()
          Same as:
CacheLRU(int capacity)
          Creates a CacheLRU instance with a given cache capacity.
 
Method Summary
private  void __moveToFront(int index)
           
 void addElement(java.lang.Object key, java.lang.Object value)
          Adds a value to the cache.
 java.lang.Object getElement(java.lang.Object key)
           
 
Methods inherited from class org.apache.oro.util.GenericCache
capacity, isFull, keys, size
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

__head

private int __head

__tail

private int __tail

__next

private int[] __next

__prev

private int[] __prev
Constructor Detail

CacheLRU

public CacheLRU(int capacity)
Creates a CacheLRU instance with a given cache capacity.


CacheLRU

public CacheLRU()
Same as:
 CacheLRU(GenericCache.DEFAULT_CAPACITY);
 

Method Detail

__moveToFront

private void __moveToFront(int index)

getElement

public java.lang.Object getElement(java.lang.Object key)
Specified by:
getElement in interface Cache
Overrides:
getElement in class GenericCache

addElement

public final void addElement(java.lang.Object key,
                             java.lang.Object value)
Adds a value to the cache. If the cache is full, when a new value is added to the cache, it replaces the least recently used value in the cache (i.e., LRU).

Specified by:
addElement in interface Cache
Specified by:
addElement in class GenericCache