Interface LocalCache<K,V>

All Superinterfaces:
ConcurrentMap<K,V>, Map<K,V>
All Known Implementing Classes:
BoundedLocalCache, LocalCacheFactory.SI, LocalCacheFactory.SIA, LocalCacheFactory.SIAR, LocalCacheFactory.SIAW, LocalCacheFactory.SIAWR, LocalCacheFactory.SILi, LocalCacheFactory.SILiA, LocalCacheFactory.SILiAR, LocalCacheFactory.SILiAW, LocalCacheFactory.SILiAWR, LocalCacheFactory.SILiMS, LocalCacheFactory.SILiMSA, LocalCacheFactory.SILiMSAR, LocalCacheFactory.SILiMSAW, LocalCacheFactory.SILiMSAWR, LocalCacheFactory.SILiMSR, LocalCacheFactory.SILiMSW, LocalCacheFactory.SILiMSWR, LocalCacheFactory.SILiMW, LocalCacheFactory.SILiMWA, LocalCacheFactory.SILiMWAR, LocalCacheFactory.SILiMWAW, LocalCacheFactory.SILiMWAWR, LocalCacheFactory.SILiMWR, LocalCacheFactory.SILiMWW, LocalCacheFactory.SILiMWWR, LocalCacheFactory.SILiR, LocalCacheFactory.SILiS, LocalCacheFactory.SILiSA, LocalCacheFactory.SILiSAR, LocalCacheFactory.SILiSAW, LocalCacheFactory.SILiSAWR, LocalCacheFactory.SILiSMS, LocalCacheFactory.SILiSMSA, LocalCacheFactory.SILiSMSAR, LocalCacheFactory.SILiSMSAW, LocalCacheFactory.SILiSMSAWR, LocalCacheFactory.SILiSMSR, LocalCacheFactory.SILiSMSW, LocalCacheFactory.SILiSMSWR, LocalCacheFactory.SILiSMW, LocalCacheFactory.SILiSMWA, LocalCacheFactory.SILiSMWAR, LocalCacheFactory.SILiSMWAW, LocalCacheFactory.SILiSMWAWR, LocalCacheFactory.SILiSMWR, LocalCacheFactory.SILiSMWW, LocalCacheFactory.SILiSMWWR, LocalCacheFactory.SILiSR, LocalCacheFactory.SILiSW, LocalCacheFactory.SILiSWR, LocalCacheFactory.SILiW, LocalCacheFactory.SILiWR, LocalCacheFactory.SIMS, LocalCacheFactory.SIMSA, LocalCacheFactory.SIMSAR, LocalCacheFactory.SIMSAW, LocalCacheFactory.SIMSAWR, LocalCacheFactory.SIMSR, LocalCacheFactory.SIMSW, LocalCacheFactory.SIMSWR, LocalCacheFactory.SIMW, LocalCacheFactory.SIMWA, LocalCacheFactory.SIMWAR, LocalCacheFactory.SIMWAW, LocalCacheFactory.SIMWAWR, LocalCacheFactory.SIMWR, LocalCacheFactory.SIMWW, LocalCacheFactory.SIMWWR, LocalCacheFactory.SIR, LocalCacheFactory.SIS, LocalCacheFactory.SISA, LocalCacheFactory.SISAR, LocalCacheFactory.SISAW, LocalCacheFactory.SISAWR, LocalCacheFactory.SISMS, LocalCacheFactory.SISMSA, LocalCacheFactory.SISMSAR, LocalCacheFactory.SISMSAW, LocalCacheFactory.SISMSAWR, LocalCacheFactory.SISMSR, LocalCacheFactory.SISMSW, LocalCacheFactory.SISMSWR, LocalCacheFactory.SISMW, LocalCacheFactory.SISMWA, LocalCacheFactory.SISMWAR, LocalCacheFactory.SISMWAW, LocalCacheFactory.SISMWAWR, LocalCacheFactory.SISMWR, LocalCacheFactory.SISMWW, LocalCacheFactory.SISMWWR, LocalCacheFactory.SISR, LocalCacheFactory.SISW, LocalCacheFactory.SISWR, LocalCacheFactory.SIW, LocalCacheFactory.SIWR, LocalCacheFactory.SS, LocalCacheFactory.SSA, LocalCacheFactory.SSAR, LocalCacheFactory.SSAW, LocalCacheFactory.SSAWR, LocalCacheFactory.SSLi, LocalCacheFactory.SSLiA, LocalCacheFactory.SSLiAR, LocalCacheFactory.SSLiAW, LocalCacheFactory.SSLiAWR, LocalCacheFactory.SSLiMS, LocalCacheFactory.SSLiMSA, LocalCacheFactory.SSLiMSAR, LocalCacheFactory.SSLiMSAW, LocalCacheFactory.SSLiMSAWR, LocalCacheFactory.SSLiMSR, LocalCacheFactory.SSLiMSW, LocalCacheFactory.SSLiMSWR, LocalCacheFactory.SSLiMW, LocalCacheFactory.SSLiMWA, LocalCacheFactory.SSLiMWAR, LocalCacheFactory.SSLiMWAW, LocalCacheFactory.SSLiMWAWR, LocalCacheFactory.SSLiMWR, LocalCacheFactory.SSLiMWW, LocalCacheFactory.SSLiMWWR, LocalCacheFactory.SSLiR, LocalCacheFactory.SSLiS, LocalCacheFactory.SSLiSA, LocalCacheFactory.SSLiSAR, LocalCacheFactory.SSLiSAW, LocalCacheFactory.SSLiSAWR, LocalCacheFactory.SSLiSMS, LocalCacheFactory.SSLiSMSA, LocalCacheFactory.SSLiSMSAR, LocalCacheFactory.SSLiSMSAW, LocalCacheFactory.SSLiSMSAWR, LocalCacheFactory.SSLiSMSR, LocalCacheFactory.SSLiSMSW, LocalCacheFactory.SSLiSMSWR, LocalCacheFactory.SSLiSMW, LocalCacheFactory.SSLiSMWA, LocalCacheFactory.SSLiSMWAR, LocalCacheFactory.SSLiSMWAW, LocalCacheFactory.SSLiSMWAWR, LocalCacheFactory.SSLiSMWR, LocalCacheFactory.SSLiSMWW, LocalCacheFactory.SSLiSMWWR, LocalCacheFactory.SSLiSR, LocalCacheFactory.SSLiSW, LocalCacheFactory.SSLiSWR, LocalCacheFactory.SSLiW, LocalCacheFactory.SSLiWR, LocalCacheFactory.SSMS, LocalCacheFactory.SSMSA, LocalCacheFactory.SSMSAR, LocalCacheFactory.SSMSAW, LocalCacheFactory.SSMSAWR, LocalCacheFactory.SSMSR, LocalCacheFactory.SSMSW, LocalCacheFactory.SSMSWR, LocalCacheFactory.SSMW, LocalCacheFactory.SSMWA, LocalCacheFactory.SSMWAR, LocalCacheFactory.SSMWAW, LocalCacheFactory.SSMWAWR, LocalCacheFactory.SSMWR, LocalCacheFactory.SSMWW, LocalCacheFactory.SSMWWR, LocalCacheFactory.SSR, LocalCacheFactory.SSS, LocalCacheFactory.SSSA, LocalCacheFactory.SSSAR, LocalCacheFactory.SSSAW, LocalCacheFactory.SSSAWR, LocalCacheFactory.SSSMS, LocalCacheFactory.SSSMSA, LocalCacheFactory.SSSMSAR, LocalCacheFactory.SSSMSAW, LocalCacheFactory.SSSMSAWR, LocalCacheFactory.SSSMSR, LocalCacheFactory.SSSMSW, LocalCacheFactory.SSSMSWR, LocalCacheFactory.SSSMW, LocalCacheFactory.SSSMWA, LocalCacheFactory.SSSMWAR, LocalCacheFactory.SSSMWAW, LocalCacheFactory.SSSMWAWR, LocalCacheFactory.SSSMWR, LocalCacheFactory.SSSMWW, LocalCacheFactory.SSSMWWR, LocalCacheFactory.SSSR, LocalCacheFactory.SSSW, LocalCacheFactory.SSSWR, LocalCacheFactory.SSW, LocalCacheFactory.SSWR, LocalCacheFactory.WI, LocalCacheFactory.WIA, LocalCacheFactory.WIAR, LocalCacheFactory.WIAW, LocalCacheFactory.WIAWR, LocalCacheFactory.WILi, LocalCacheFactory.WILiA, LocalCacheFactory.WILiAR, LocalCacheFactory.WILiAW, LocalCacheFactory.WILiAWR, LocalCacheFactory.WILiMS, LocalCacheFactory.WILiMSA, LocalCacheFactory.WILiMSAR, LocalCacheFactory.WILiMSAW, LocalCacheFactory.WILiMSAWR, LocalCacheFactory.WILiMSR, LocalCacheFactory.WILiMSW, LocalCacheFactory.WILiMSWR, LocalCacheFactory.WILiMW, LocalCacheFactory.WILiMWA, LocalCacheFactory.WILiMWAR, LocalCacheFactory.WILiMWAW, LocalCacheFactory.WILiMWAWR, LocalCacheFactory.WILiMWR, LocalCacheFactory.WILiMWW, LocalCacheFactory.WILiMWWR, LocalCacheFactory.WILiR, LocalCacheFactory.WILiS, LocalCacheFactory.WILiSA, LocalCacheFactory.WILiSAR, LocalCacheFactory.WILiSAW, LocalCacheFactory.WILiSAWR, LocalCacheFactory.WILiSMS, LocalCacheFactory.WILiSMSA, LocalCacheFactory.WILiSMSAR, LocalCacheFactory.WILiSMSAW, LocalCacheFactory.WILiSMSAWR, LocalCacheFactory.WILiSMSR, LocalCacheFactory.WILiSMSW, LocalCacheFactory.WILiSMSWR, LocalCacheFactory.WILiSMW, LocalCacheFactory.WILiSMWA, LocalCacheFactory.WILiSMWAR, LocalCacheFactory.WILiSMWAW, LocalCacheFactory.WILiSMWAWR, LocalCacheFactory.WILiSMWR, LocalCacheFactory.WILiSMWW, LocalCacheFactory.WILiSMWWR, LocalCacheFactory.WILiSR, LocalCacheFactory.WILiSW, LocalCacheFactory.WILiSWR, LocalCacheFactory.WILiW, LocalCacheFactory.WILiWR, LocalCacheFactory.WIMS, LocalCacheFactory.WIMSA, LocalCacheFactory.WIMSAR, LocalCacheFactory.WIMSAW, LocalCacheFactory.WIMSAWR, LocalCacheFactory.WIMSR, LocalCacheFactory.WIMSW, LocalCacheFactory.WIMSWR, LocalCacheFactory.WIMW, LocalCacheFactory.WIMWA, LocalCacheFactory.WIMWAR, LocalCacheFactory.WIMWAW, LocalCacheFactory.WIMWAWR, LocalCacheFactory.WIMWR, LocalCacheFactory.WIMWW, LocalCacheFactory.WIMWWR, LocalCacheFactory.WIR, LocalCacheFactory.WIS, LocalCacheFactory.WISA, LocalCacheFactory.WISAR, LocalCacheFactory.WISAW, LocalCacheFactory.WISAWR, LocalCacheFactory.WISMS, LocalCacheFactory.WISMSA, LocalCacheFactory.WISMSAR, LocalCacheFactory.WISMSAW, LocalCacheFactory.WISMSAWR, LocalCacheFactory.WISMSR, LocalCacheFactory.WISMSW, LocalCacheFactory.WISMSWR, LocalCacheFactory.WISMW, LocalCacheFactory.WISMWA, LocalCacheFactory.WISMWAR, LocalCacheFactory.WISMWAW, LocalCacheFactory.WISMWAWR, LocalCacheFactory.WISMWR, LocalCacheFactory.WISMWW, LocalCacheFactory.WISMWWR, LocalCacheFactory.WISR, LocalCacheFactory.WISW, LocalCacheFactory.WISWR, LocalCacheFactory.WIW, LocalCacheFactory.WIWR, LocalCacheFactory.WS, LocalCacheFactory.WSA, LocalCacheFactory.WSAR, LocalCacheFactory.WSAW, LocalCacheFactory.WSAWR, LocalCacheFactory.WSLi, LocalCacheFactory.WSLiA, LocalCacheFactory.WSLiAR, LocalCacheFactory.WSLiAW, LocalCacheFactory.WSLiAWR, LocalCacheFactory.WSLiMS, LocalCacheFactory.WSLiMSA, LocalCacheFactory.WSLiMSAR, LocalCacheFactory.WSLiMSAW, LocalCacheFactory.WSLiMSAWR, LocalCacheFactory.WSLiMSR, LocalCacheFactory.WSLiMSW, LocalCacheFactory.WSLiMSWR, LocalCacheFactory.WSLiMW, LocalCacheFactory.WSLiMWA, LocalCacheFactory.WSLiMWAR, LocalCacheFactory.WSLiMWAW, LocalCacheFactory.WSLiMWAWR, LocalCacheFactory.WSLiMWR, LocalCacheFactory.WSLiMWW, LocalCacheFactory.WSLiMWWR, LocalCacheFactory.WSLiR, LocalCacheFactory.WSLiS, LocalCacheFactory.WSLiSA, LocalCacheFactory.WSLiSAR, LocalCacheFactory.WSLiSAW, LocalCacheFactory.WSLiSAWR, LocalCacheFactory.WSLiSMS, LocalCacheFactory.WSLiSMSA, LocalCacheFactory.WSLiSMSAR, LocalCacheFactory.WSLiSMSAW, LocalCacheFactory.WSLiSMSAWR, LocalCacheFactory.WSLiSMSR, LocalCacheFactory.WSLiSMSW, LocalCacheFactory.WSLiSMSWR, LocalCacheFactory.WSLiSMW, LocalCacheFactory.WSLiSMWA, LocalCacheFactory.WSLiSMWAR, LocalCacheFactory.WSLiSMWAW, LocalCacheFactory.WSLiSMWAWR, LocalCacheFactory.WSLiSMWR, LocalCacheFactory.WSLiSMWW, LocalCacheFactory.WSLiSMWWR, LocalCacheFactory.WSLiSR, LocalCacheFactory.WSLiSW, LocalCacheFactory.WSLiSWR, LocalCacheFactory.WSLiW, LocalCacheFactory.WSLiWR, LocalCacheFactory.WSMS, LocalCacheFactory.WSMSA, LocalCacheFactory.WSMSAR, LocalCacheFactory.WSMSAW, LocalCacheFactory.WSMSAWR, LocalCacheFactory.WSMSR, LocalCacheFactory.WSMSW, LocalCacheFactory.WSMSWR, LocalCacheFactory.WSMW, LocalCacheFactory.WSMWA, LocalCacheFactory.WSMWAR, LocalCacheFactory.WSMWAW, LocalCacheFactory.WSMWAWR, LocalCacheFactory.WSMWR, LocalCacheFactory.WSMWW, LocalCacheFactory.WSMWWR, LocalCacheFactory.WSR, LocalCacheFactory.WSS, LocalCacheFactory.WSSA, LocalCacheFactory.WSSAR, LocalCacheFactory.WSSAW, LocalCacheFactory.WSSAWR, LocalCacheFactory.WSSMS, LocalCacheFactory.WSSMSA, LocalCacheFactory.WSSMSAR, LocalCacheFactory.WSSMSAW, LocalCacheFactory.WSSMSAWR, LocalCacheFactory.WSSMSR, LocalCacheFactory.WSSMSW, LocalCacheFactory.WSSMSWR, LocalCacheFactory.WSSMW, LocalCacheFactory.WSSMWA, LocalCacheFactory.WSSMWAR, LocalCacheFactory.WSSMWAW, LocalCacheFactory.WSSMWAWR, LocalCacheFactory.WSSMWR, LocalCacheFactory.WSSMWW, LocalCacheFactory.WSSMWWR, LocalCacheFactory.WSSR, LocalCacheFactory.WSSW, LocalCacheFactory.WSSWR, LocalCacheFactory.WSW, LocalCacheFactory.WSWR, UnboundedLocalCache

interface LocalCache<K,V> extends ConcurrentMap<K,V>
An in-memory cache providing thread safety and atomicity guarantees. This interface provides an extension to ConcurrentMap for use with skeletal implementations.
  • Method Details

    • isRecordingStats

      boolean isRecordingStats()
      Returns whether this cache has statistics enabled.
    • statsCounter

      @Nonnull StatsCounter statsCounter()
      Returns the StatsCounter used by this cache.
    • hasRemovalListener

      boolean hasRemovalListener()
      Returns whether this cache notifies when an entry is removed.
    • removalListener

      @Nullable RemovalListener<K,V> removalListener()
      Returns the RemovalListener used by this cache or null if not used.
    • notifyRemoval

      void notifyRemoval(@Nullable K key, @Nullable V value, RemovalCause cause)
      Asynchronously sends a removal notification to the listener.
    • executor

      @Nonnull Executor executor()
      Returns the Executor used by this cache.
    • hasWriteTime

      boolean hasWriteTime()
      Returns whether the cache captures the write time of the entry.
    • expirationTicker

      @Nonnull Ticker expirationTicker()
      Returns the Ticker used by this cache for expiration.
    • statsTicker

      @Nonnull Ticker statsTicker()
      Returns the Ticker used by this cache for statistics.
    • estimatedSize

      @Nonnegative long estimatedSize()
    • getIfPresent

      @Nullable V getIfPresent(@Nonnull Object key, boolean recordStats)
      See Cache.getIfPresent(Object). This method differs by accepting a parameter of whether to record the hit and miss statistics based on the success of this operation.
    • getIfPresentQuietly

      @Nullable V getIfPresentQuietly(@Nonnull Object key, @Nonnull long[] writeTime)
      See Cache.getIfPresent(Object). This method differs by not recording the access with the statistics nor the eviction policy, and populates the write time if known.
    • getAllPresent

      @Nonnull Map<K,V> getAllPresent(@Nonnull Iterable<?> keys)
    • put

      @Nullable V put(@Nonnull K key, @Nonnull V value, boolean notifyWriter)
      See Cache.put(Object, Object). This method differs by allowing the operation to not notify the writer when an entry was inserted or updated.
    • compute

      default V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
      Specified by:
      compute in interface ConcurrentMap<K,V>
      Specified by:
      compute in interface Map<K,V>
    • compute

      V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction, boolean recordMiss, boolean recordLoad)
      See ConcurrentMap.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>). This method differs by accepting parameters indicating whether to record miss and load statistics based on the success of this operation.
    • computeIfAbsent

      default V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
      Specified by:
      computeIfAbsent in interface ConcurrentMap<K,V>
      Specified by:
      computeIfAbsent in interface Map<K,V>
    • computeIfAbsent

      V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction, boolean recordStats, boolean recordLoad)
      See ConcurrentMap.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>). This method differs by accepting parameters indicating how to record statistics.
    • invalidateAll

      default void invalidateAll(Iterable<?> keys)
    • cleanUp

      void cleanUp()
    • statsAware

      default Function<? super K,? extends V> statsAware(Function<? super K,? extends V> mappingFunction, boolean recordLoad)
      Decorates the remapping function to record statistics if enabled.
    • statsAware

      default <T, U, R> BiFunction<? super T,? super U,? extends R> statsAware(BiFunction<? super T,? super U,? extends R> remappingFunction)
      Decorates the remapping function to record statistics if enabled.
    • statsAware

      default <T, U, R> BiFunction<? super T,? super U,? extends R> statsAware(BiFunction<? super T,? super U,? extends R> remappingFunction, boolean recordMiss, boolean recordLoad)
      Decorates the remapping function to record statistics if enabled.