Interface MemoizeCache<K,​V>

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Interface Description
      static interface  MemoizeCache.ValueProvider<K,​V>
      Represents a provider used to create value
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void cleanUpNullReferences()
      Invoked when some of the held SoftReferences have been evicted by the garbage collector and so should be removed from the cache.
      V get​(K key)
      Gets a value from the cache
      V getAndPut​(K key, MemoizeCache.ValueProvider<? super K,​? extends V> valueProvider)
      Try to get the value from cache.
      V put​(K key, V value)
      Associates the specified value with the specified key in the cache.
    • Method Detail

      • put

        V put​(K key,
              V value)
        Associates the specified value with the specified key in the cache.
        Parameters:
        key - key with which the specified value is to be associated
        value - value to be associated with the specified key
        Returns:
        null, or the old value if the key associated with the specified key.
      • get

        V get​(K key)
        Gets a value from the cache
        Parameters:
        key - the key whose associated value is to be returned
        Returns:
        the value, or null, if it does not exist.
      • getAndPut

        V getAndPut​(K key,
                    MemoizeCache.ValueProvider<? super K,​? extends V> valueProvider)
        Try to get the value from cache. If not found, create the value by MemoizeCache.ValueProvider and put it into the cache, at last return the value
        Parameters:
        key -
        Returns:
        the cached value
      • cleanUpNullReferences

        void cleanUpNullReferences()
        Invoked when some of the held SoftReferences have been evicted by the garbage collector and so should be removed from the cache. The implementation must ensure that concurrent invocations of all methods on the cache may occur from other threads and thus should protect any shared resources.