Package org.apache.oro.util
Class CacheFIFO2
java.lang.Object
org.apache.oro.util.GenericCache
org.apache.oro.util.CacheFIFO2
- All Implemented Interfaces:
Serializable,Cache
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:
- 2.0.8
- See Also:
-
Field Summary
Fields inherited from class org.apache.oro.util.GenericCache
DEFAULT_CAPACITY -
Constructor Summary
ConstructorsConstructorDescriptionSame as:CacheFIFO2(int capacity) Creates a CacheFIFO2 instance with a given cache capacity. -
Method Summary
Modifier and TypeMethodDescriptionfinal voidaddElement(Object key, Object value) Adds a value to the cache.getElement(Object key) Methods inherited from class org.apache.oro.util.GenericCache
capacity, isFull, keys, size
-
Constructor Details
-
CacheFIFO2
public CacheFIFO2(int capacity) Creates a CacheFIFO2 instance with a given cache capacity.- Parameters:
capacity- The capacity of the cache.
-
CacheFIFO2
public CacheFIFO2()Same as:CacheFIFO2(GenericCache.DEFAULT_CAPACITY);
-
-
Method Details
-
getElement
- Specified by:
getElementin interfaceCache- Overrides:
getElementin classGenericCache
-
addElement
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:
addElementin interfaceCache- Specified by:
addElementin classGenericCache- Parameters:
key- The key referencing the value added to the cache.value- The value to add to the cache.
-