CacheFIFO2 (Jakarta-ORO 2.0.8 API)
Date: 2018-05-07

org.apache.oro.util

## Class CacheFIFO2

- java.lang.Object
- - org.apache.oro.util.GenericCache
  - - org.apache.oro.util.CacheFIFO2

- All Implemented Interfaces:
    java.io.Serializable, Cache

      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:
    2.0.8
  See Also:
    `GenericCache`, Serialized Form

- - ### Field Summary

    - ### Fields inherited from class org.apache.oro.util.GenericCache

      `DEFAULT_CAPACITY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `CacheFIFO2()` Same as:
    `CacheFIFO2(int capacity)` Creates a CacheFIFO2 instance with a given cache capacity.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`

- - ### Constructor Detail

    - #### 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 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`
      Parameters:
        `key` - The key referencing the value added to the cache.
        `value` - The value to add to the cache.

Copyright ? 2000-2003 Apache Software Foundation. All Rights Reserved.