Interface LocalCache<K,V>
-
- All Superinterfaces:
java.util.concurrent.ConcurrentMap<K,V>
,java.util.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 java.util.concurrent.ConcurrentMap<K,V>
An in-memory cache providing thread safety and atomicity guarantees. This interface provides an extension toConcurrentMap
for use with skeletal implementations.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
cleanUp()
SeeCache.cleanUp()
.default V
compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
V
compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction, boolean recordMiss, boolean recordLoad)
SeeConcurrentMap.compute(K, java.util.function.BiFunction<? super K, ? super V, ? extends V>)
.default V
computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
V
computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction, boolean recordStats, boolean recordLoad)
SeeConcurrentMap.computeIfAbsent(K, java.util.function.Function<? super K, ? extends V>)
.long
estimatedSize()
java.util.concurrent.Executor
executor()
Returns theExecutor
used by this cache.Ticker
expirationTicker()
Returns theTicker
used by this cache for expiration.java.util.Map<K,V>
getAllPresent(java.lang.Iterable<?> keys)
V
getIfPresent(java.lang.Object key, boolean recordStats)
V
getIfPresentQuietly(java.lang.Object key, long[] writeTime)
boolean
hasRemovalListener()
Returns whether this cache notifies when an entry is removed.boolean
hasWriteTime()
Returns whether the cache captures the write time of the entry.default void
invalidateAll(java.lang.Iterable<?> keys)
boolean
isRecordingStats()
Returns whether this cache has statistics enabled.void
notifyRemoval(K key, V value, RemovalCause cause)
Asynchronously sends a removal notification to the listener.V
put(K key, V value, boolean notifyWriter)
RemovalListener<K,V>
removalListener()
Returns theRemovalListener
used by this cache or null if not used.default <T,U,R>
java.util.function.BiFunction<? super T,? super U,? extends R>statsAware(java.util.function.BiFunction<? super T,? super U,? extends R> remappingFunction)
Decorates the remapping function to record statistics if enabled.default <T,U,R>
java.util.function.BiFunction<? super T,? super U,? extends R>statsAware(java.util.function.BiFunction<? super T,? super U,? extends R> remappingFunction, boolean recordMiss, boolean recordLoad)
Decorates the remapping function to record statistics if enabled.default java.util.function.Function<? super K,? extends V>
statsAware(java.util.function.Function<? super K,? extends V> mappingFunction, boolean recordLoad)
Decorates the remapping function to record statistics if enabled.StatsCounter
statsCounter()
Returns theStatsCounter
used by this cache.Ticker
statsTicker()
Returns theTicker
used by this cache for statistics.
-
-
-
Method Detail
-
isRecordingStats
boolean isRecordingStats()
Returns whether this cache has statistics enabled.
-
statsCounter
@Nonnull StatsCounter statsCounter()
Returns theStatsCounter
used by this cache.
-
hasRemovalListener
boolean hasRemovalListener()
Returns whether this cache notifies when an entry is removed.
-
removalListener
@Nullable RemovalListener<K,V> removalListener()
Returns theRemovalListener
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 java.util.concurrent.Executor executor()
Returns theExecutor
used by this cache.
-
hasWriteTime
boolean hasWriteTime()
Returns whether the cache captures the write time of the entry.
-
expirationTicker
@Nonnull Ticker expirationTicker()
Returns theTicker
used by this cache for expiration.
-
estimatedSize
@Nonnegative long estimatedSize()
-
getIfPresent
@Nullable V getIfPresent(@Nonnull java.lang.Object key, boolean recordStats)
SeeCache.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 java.lang.Object key, @Nonnull long[] writeTime)
SeeCache.getIfPresent(Object)
. This method differs by not recording the access with the statistics nor the eviction policy, and populates the write time if known.
-
put
@Nullable V put(@Nonnull K key, @Nonnull V value, boolean notifyWriter)
SeeCache.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, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction)
-
compute
V compute(K key, java.util.function.BiFunction<? super K,? super V,? extends V> remappingFunction, boolean recordMiss, boolean recordLoad)
SeeConcurrentMap.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, java.util.function.Function<? super K,? extends V> mappingFunction)
-
computeIfAbsent
V computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction, boolean recordStats, boolean recordLoad)
SeeConcurrentMap.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(java.lang.Iterable<?> keys)
-
cleanUp
void cleanUp()
SeeCache.cleanUp()
.
-
statsAware
default java.util.function.Function<? super K,? extends V> statsAware(java.util.function.Function<? super K,? extends V> mappingFunction, boolean recordLoad)
Decorates the remapping function to record statistics if enabled.
-
statsAware
default <T,U,R> java.util.function.BiFunction<? super T,? super U,? extends R> statsAware(java.util.function.BiFunction<? super T,? super U,? extends R> remappingFunction)
Decorates the remapping function to record statistics if enabled.
-
statsAware
default <T,U,R> java.util.function.BiFunction<? super T,? super U,? extends R> statsAware(java.util.function.BiFunction<? super T,? super U,? extends R> remappingFunction, boolean recordMiss, boolean recordLoad)
Decorates the remapping function to record statistics if enabled.
-
-