Class StrongCacheStorage

  • All Implemented Interfaces:
    CacheStorage, ConcurrentCacheStorage

    public class StrongCacheStorage
    extends Object
    implements ConcurrentCacheStorage
    Strong cache storage is a cache storage that simply wraps a Map. It holds a strong reference to all objects it was passed, therefore prevents the cache from being purged during garbage collection. This class is thread-safe to the extent that its underlying map is. The default implementation uses a concurrent map on Java 5 and above, so it is thread-safe in that case.
    • Constructor Detail

      • StrongCacheStorage

        public StrongCacheStorage()
    • Method Detail

      • isConcurrent

        public boolean isConcurrent()
        Description copied from interface: ConcurrentCacheStorage
        Returns true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.
        Specified by:
        isConcurrent in interface ConcurrentCacheStorage
        Returns:
        true if this instance of cache storage is concurrently accessible from multiple threads without synchronization.
      • get

        public Object get​(Object key)
        Description copied from interface: CacheStorage
        Retrieve a cached value associated with a key
        Specified by:
        get in interface CacheStorage
        Parameters:
        key - the key for retrieving an associated value
        Returns:
        the cached value associated with the key, or null if no value is associated with the key.
      • put

        public void put​(Object key,
                        Object value)
        Description copied from interface: CacheStorage
        Associates a key with a cached value
        Specified by:
        put in interface CacheStorage
        Parameters:
        key - the key to associate with a value
        value - the value associated with the key.
      • remove

        public void remove​(Object key)
        Description copied from interface: CacheStorage
        Removes the value associated with a key, if it exists. If it doesn't exist, this method does nothing.
        Specified by:
        remove in interface CacheStorage
        Parameters:
        key - the key whose associated value is removed from the cache.
      • clear

        public void clear()
        Description copied from interface: CacheStorage
        Removes all values from this cache
        Specified by:
        clear in interface CacheStorage