Class FutureCache<K,V,C>

java.lang.Object
org.exoplatform.services.cache.future.FutureCache<K,V,C>
Direct Known Subclasses:
FutureExoCache

public abstract class FutureCache<K,V,C> extends Object
A future cache that prevents the loading of the same resource twice. This should be used when the resource to load is very expensive or cannot be concurrently retrieved (like a classloading).
  • Constructor Details

    • FutureCache

      public FutureCache(Loader<K,V,C> loader)
  • Method Details

    • get

      protected abstract V get(K key)
    • put

      protected abstract void put(K key, V value)
    • putOnly

      protected abstract void putOnly(K key, V value)
    • get

      public final V get(C context, K key)
      Perform a cache lookup for the specified key within the specified context. When the value cannot be loaded (because it does not exist or it failed or anything else that does not come to my mind), the value null is returned.
      Parameters:
      context - the context in which the resource is accessed
      key - the key identifying the resource
      Returns:
      the value