Class InMemoryCache<K,​V>

  • Type Parameters:
    K - The type of the key.
    V - The type of the value.
    All Implemented Interfaces:
    Cache<K,​V>

    public class InMemoryCache<K,​V>
    extends Object
    implements Cache<K,​V>
    A cache implementation that stores the information in memory.
    The current implementation stores the values in memory in a WeakHashMap.
    • Constructor Detail

      • InMemoryCache

        public InMemoryCache()
    • Method Detail

      • create

        public static <expectedK,​expectedV> InMemoryCache<expectedK,​expectedV> create()
        Create a new instance for a cache in memory.
        Type Parameters:
        expectedK - The expected type for the key.
        expectedV - The expected type for the value.
        Returns:
        A newly created instance of InMemoryCache.
      • put

        public void put​(K key,
                        V value)
        Description copied from interface: Cache
        Associates value with key in this cache.
        If the cache previously contained a value associated with key, the old value is replaced by value.
        Specified by:
        put in interface Cache<K,​V>
        Parameters:
        key - The key to be used as index.
        value - The value to be stored.
      • get

        public Optional<V> get​(K key)
        Description copied from interface: Cache
        Returns the value associated with key in this cache, or empty if there is no cached value for key.
        Specified by:
        get in interface Cache<K,​V>
        Parameters:
        key - The key to look for.
        Returns:
        The value stored in cache if present.
      • remove

        public void remove​(K key)
        Description copied from interface: Cache
        Discards any cached value for this key.
        Specified by:
        remove in interface Cache<K,​V>
        Parameters:
        key - The key to be discarded.
      • removeAll

        public void removeAll()
        Description copied from interface: Cache
        Discards all entries in the cache.
        Specified by:
        removeAll in interface Cache<K,​V>
      • contains

        public boolean contains​(K key)
        Description copied from interface: Cache
        Returns True if the cache contains a entry with the key, or False if there is none.
        Specified by:
        contains in interface Cache<K,​V>
        Parameters:
        key - The key to be verified.
        Returns:
        True if the key is present.
      • size

        public long size()
        Description copied from interface: Cache
        Returns the number of entries in this cache.
        Specified by:
        size in interface Cache<K,​V>
        Returns:
        The cache size.
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: Cache
        Returns True if the cache is empty, or False if there's at least a entry stored in cache.
        Specified by:
        isEmpty in interface Cache<K,​V>
        Returns:
        True if is empty.