Class GenericCache

java.lang.Object
org.apache.oro.util.GenericCache
All Implemented Interfaces:
Serializable, Cache
Direct Known Subclasses:
CacheLRU

public abstract class GenericCache extends Object implements Cache, Serializable
This is the base class for all cache implementations provided in the org.apache.oro.util package. To derive a subclass from GenericCache only the ... methods need be overridden. Although 4 subclasses of GenericCache are provided with this package, users may not derive subclasses from this class. Rather, users should create their own implmentations of the Cache interface.
Since:
1.0
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • DEFAULT_CAPACITY

      public static final int DEFAULT_CAPACITY
      The default capacity to be used by the GenericCache subclasses provided with this package. Its value is 20.
      See Also:
    • _numEntries

      int _numEntries
    • _cache

    • _table

  • Constructor Details

    • GenericCache

      GenericCache(int cap)
      The primary constructor for GenericCache. It has default access so it will only be used within the package. It initializes _table to a Hashtable of capacity equal to the capacity argument, _cache to an array of size equal to the capacity argument, and _numEntries to 0.

      Parameters:
      cap - The maximum capacity of the cache.
  • Method Details

    • addElement

      public abstract void addElement(Object key, Object value)
      Description copied from interface: Cache
      Adds an element to the cache.
      Specified by:
      addElement in interface Cache
      Parameters:
      key - Key
      value - Value
    • getElement

      public Object getElement(Object key)
      Description copied from interface: Cache
      Gets an element from the cache.
      Specified by:
      getElement in interface Cache
      Parameters:
      key - Key
      Returns:
      Element value
    • keys

      public final Iterator<Object> keys()
      Gets the cache objects names.
      Returns:
      Object names (keys)
    • size

      public final int size()
      Returns the number of elements in the cache, not to be confused with the capacity() which returns the number of elements that can be held in the cache at one time.

      Specified by:
      size in interface Cache
      Returns:
      The current size of the cache (i.e., the number of elements currently cached).
    • capacity

      public final int capacity()
      Returns the maximum number of elements that can be cached at one time.

      Specified by:
      capacity in interface Cache
      Returns:
      The maximum number of elements that can be cached at one time.
    • isFull

      public final boolean isFull()
      Checks if the cache is full.
      Returns:
      true if the cache is full, false otherwise