Interface CacheWriter<K,V>
- Type Parameters:
K
- the most general type of keys this writer can write; for exampleObject
if any key is acceptableV
- the most general type of values this write can write; for exampleObject
if any value is acceptable
- All Known Implementing Classes:
Caffeine.CacheWriterAdapter
,DisabledWriter
Deprecated.
Communicates the write or deletion of a value, based on a key, to an external resource. A writer
is notified by the cache each time an entry is explicitly created or modified, or removed for any
reason
. The writer is not notified when an entry is loaded or computed.-
Method Summary
Modifier and TypeMethodDescriptionvoid
delete
(@NonNull K key, @Nullable V value, @NonNull RemovalCause cause) Deprecated.Deletes the value corresponding to thekey
from the external resource.static <K,
V> @NonNull CacheWriter <K, V> Deprecated.Returns a writer that does nothing.void
Deprecated.Writes the value corresponding to thekey
to the external resource.
-
Method Details
-
write
Deprecated.Writes the value corresponding to thekey
to the external resource. The cache will communicate a write when an entry in the cache is created or modified, except when that was due to a load or computation.- Parameters:
key
- the non-null key whose value should be writtenvalue
- the value associated withkey
that should be written- Throws:
RuntimeException
- or Error, in which case the mapping is unchanged
-
delete
Deprecated.Deletes the value corresponding to thekey
from the external resource. The cache will communicate a delete when the entry is explicitly removed or evicted.- Parameters:
key
- the non-null key whose value was removedvalue
- the value associated withkey
, ornull
if collectedcause
- the reason for which the entry was removed- Throws:
RuntimeException
- or Error, in which case the mapping is unchanged
-
disabledWriter
Deprecated.Returns a writer that does nothing.- Type Parameters:
K
- the type of keysV
- the type of values- Returns:
- a writer that performs no operations
-
Map
compute methods for extending manual write and remove operations, and usingCaffeine.evictionListener(RemovalListener)
for extending removals due to eviction.