Class HashCache<T>

java.lang.Object
org.apache.jackrabbit.spi.commons.name.HashCache<T>

public class HashCache<T> extends Object
Simple utility class that implements a fixed-size and thread-safe (non-blocking) cache of objects. The cache is simply an array of objects, indexed by their hash codes. If more than one objects hash to the same location, only the most recently accessed object is kept in the cache.
See Also:
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a hash cache with 1024 slots.
    HashCache(int exponent)
    Creates a hash cache with 2^exponent slots.
  • Method Summary

    Modifier and Type
    Method
    Description
    get(T object)
    If a cached copy of the given object already exists, then returns that copy.

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • HashCache

      public HashCache()
      Creates a hash cache with 1024 slots.
    • HashCache

      public HashCache(int exponent)
      Creates a hash cache with 2^exponent slots.
      Parameters:
      exponent - the exponent.
  • Method Details

    • get

      public T get(T object)
      If a cached copy of the given object already exists, then returns that copy. Otherwise the given object is cached and returned.
      Parameters:
      object - object to return from the cache
      Returns:
      the given object or a previously cached copy