public interface BinaryEntryStore<K,V>
CacheStore
, but operates on
BinaryEntry
objects. Note that the BinaryEntry interface extends
Map.Entry and provides dual access to the underlying data: in external
(Object) format via the getKey/getValue/setValue methods or internal
(Binary) format via getBinaryKey/getBinaryValue/updateBinaryValue
methods. Additionally, for the purpose of the optimistic concurrency control,
implementations could rely on the entry's "previous" values: in the external
format using BinaryEntry.getOriginalValue()
and in the internal format
using the BinaryEntry.getOriginalBinaryValue()
methods (for store
operations, a value of null here would indicate an insert operation).Modifier and Type | Method and Description |
---|---|
void |
erase(BinaryEntry<K,V> binEntry)
Remove the specified entry from the underlying store.
|
void |
eraseAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
Remove the specified entries from the underlying store.
|
void |
load(BinaryEntry<K,V> binEntry)
Load the value from the underlying store and update the specified entry.
|
void |
loadAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
Load the values from the underlying store and update the specified entries.
|
void |
store(BinaryEntry<K,V> binEntry)
Store the specified entry in the underlying store.
|
void |
storeAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
Store the entries in the specified set in the underlying store.
|
void load(BinaryEntry<K,V> binEntry)
binEntry
- an entry that needs to be updated with the loaded valuevoid loadAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
setBinEntries
- a set of entries that needs to be updated with the
loaded valuesvoid store(BinaryEntry<K,V> binEntry)
If the store operation changes the entry's value, a best effort will be made to place the changed value back into the corresponding backing map (for asynchronous store operations a concurrent backing map modification can make it impossible).
binEntry
- the entry to be storedUnsupportedOperationException
- if this implementation or the
underlying store is read-onlyvoid storeAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
If this operation fails (by throwing an exception) after a partial success, the convention is that entries which have been stored successfully are to be removed from the specified set, indicating that the store operation for the entries left in the map has failed or has not been attempted.
If the storeAll operation changes some entries' values, a best effort will be made to place the changed values back into the corresponding backing map (for asynchronous store operations concurrent backing map modifications can make it impossible).
setBinEntries
- the set of entries to be storedUnsupportedOperationException
- if this implementation or the
underlying store is read-onlyvoid erase(BinaryEntry<K,V> binEntry)
binEntry
- the entry to be removed from the storeUnsupportedOperationException
- if this implementation or the
underlying store is read-onlyvoid eraseAll(Set<? extends BinaryEntry<K,V>> setBinEntries)
If this operation fails (by throwing an exception) after a partial success, the convention is that entries which have been erased successfully are to be removed from the specified set, indicating that the erase operation for the entries left in the collection has failed or has not been attempted.
setBinEntries
- the set entries to be removed from the storeUnsupportedOperationException
- if this implementation or the
underlying store is read-only