Interface Cache<K,V>

All Known Implementing Classes:
CacheMap, EmptyCacheMap, FastReadCache, MultiCache, ResourceCache

public interface Cache<K,V>
Represents a cache. The interface is similar to java.util.Map but simpler to implement.
Since:
3.0.0
Author:
tomyeh
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The default minimal lifetime, unit=milliseconds.
    static final int
    The default maximal allowed size.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Clears all objects being cached.
    boolean
    Returns whether the specified key is stored.
    get(Object key)
    Returns the object of the specified key, or null if not found.
    int
    Returns the minimal lifetime, unit=milliseconds.
    int
    Returns the maximal allowed size.
    put(K key, V value)
    Stores an object to the cache.
    Removes an object from the cache.
    void
    setLifetime(int lifetime)
    Sets the minimal lifetime.
    void
    setMaxSize(int maxsize)
    Sets the maximal allowed size.
  • Field Details

    • DEFAULT_LIFETIME

      static final int DEFAULT_LIFETIME
      The default minimal lifetime, unit=milliseconds. It is 30 minutes.
      See Also:
    • DEFAULT_MAX_SIZE

      static final int DEFAULT_MAX_SIZE
      The default maximal allowed size. It is 512.
      See Also:
  • Method Details

    • containsKey

      boolean containsKey(Object key)
      Returns whether the specified key is stored.
    • get

      V get(Object key)
      Returns the object of the specified key, or null if not found.
    • put

      V put(K key, V value)
      Stores an object to the cache.
      Returns:
      the previous value of the same, or null if no such value
    • remove

      V remove(Object key)
      Removes an object from the cache.
      Returns:
      the object if found.
    • clear

      void clear()
      Clears all objects being cached.
    • getLifetime

      int getLifetime()
      Returns the minimal lifetime, unit=milliseconds. An mapping won't be removed by GC unless the minimal lifetime or the maximal allowed size exceeds.
      See Also:
    • setLifetime

      void setLifetime(int lifetime)
      Sets the minimal lifetime. Default: DEFAULT_LIFETIME.
      Parameters:
      lifetime - the lifetime, unit=milliseconds; if non-positive, they will be removed immediately.
      See Also:
    • getMaxSize

      int getMaxSize()
      Returns the maximal allowed size. Default: DEFAULT_MAX_SIZE. An mapping won't be removed by GC unless the minimal lifetime or the maximal allowed size exceeds.
      See Also:
    • setMaxSize

      void setMaxSize(int maxsize)
      Sets the maximal allowed size.
      See Also: