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

Quick Search    Search Deep

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

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

public final class CacheFIFO2
extends GenericCache

This class is a GenericCache subclass implementing a second chance FIFO (First In First Out) cache replacement policy. In other words, values are added to the cache until the cache becomes full. Once the cache is full, when a new value is added to the cache, it replaces the first of the current values in the cache to have been added, unless that value has been used recently (generally between the last cache replacement and now). If the value to be replaced has been used, it is given a second chance, and the next value in the cache is tested for replacement in the same manner. If all the values are given a second chance, then the original pattern selected for replacement is replaced.

Since:
1.0
Version:
@version@

Field Summary
private  int __current
           
private  boolean[] __tryAgain
           
 
Fields inherited from class org.apache.oro.util.GenericCache
_cache, _numEntries, _table, DEFAULT_CAPACITY
 
Constructor Summary
CacheFIFO2()
          Same as:
CacheFIFO2(int capacity)
          Creates a CacheFIFO2 instance with a given cache capacity.
 
Method Summary
 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

__current

private int __current

__tryAgain

private boolean[] __tryAgain
Constructor Detail

CacheFIFO2

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


CacheFIFO2

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

Method Detail

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 first of the current values in the cache to have been added (i.e., FIFO2).

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