Interface MapState<K,V>
- Type Parameters:
K
- the type of keys maintained by this mapV
- the type of mapped values
- All Superinterfaces:
State
ReadableState
cell mapping keys to values.
Implementations of this form of state are expected to implement map operations efficiently as supported by some associated backing key-value store.
-
Method Summary
Modifier and TypeMethodDescriptioncomputeIfAbsent
(K key, Function<? super K, ? extends V> mappingFunction) A deferred read-followed-by-write.entries()
Returns anIterable
over the key-value pairs contained in this map.A deferred lookup, using null values if the item is not found.getOrDefault
(K key, V defaultValue) A deferred lookup.isEmpty()
Returns aReadableState
whoseReadableState.read()
method will return true if this state is empty at the point when thatReadableState.read()
call returns.keys()
Returns anIterable
over the keys contained in this map.void
Associates the specified value with the specified key in this state.default ReadableState
<V> putIfAbsent
(K key, V value) A deferred read-followed-by-write.void
Remove the mapping for a key from this map if it is present.values()
Returns anIterable
over the values contained in this map.
-
Method Details
-
put
Associates the specified value with the specified key in this state.Changes will not be reflected in the results returned by previous calls to
ReadableState.read()
on the results any of the reading methods (get(K)
,keys()
,values()
, andentries()
). -
putIfAbsent
A deferred read-followed-by-write.When
read()
is called on the result or state is committed, it forces a read of the map and reconciliation with any pending modifications.If the specified key is not already associated with a value (or is mapped to
null
) associates it with the given value and returnsnull
, else returns the current value.Changes will not be reflected in the results returned by previous calls to
ReadableState.read()
on the results any of the reading methods (get(K)
,keys()
,values()
, andentries()
). -
computeIfAbsent
A deferred read-followed-by-write.When
read()
is called on the result or state is committed, it forces a read of the map and reconciliation with any pending modifications.If the specified key is not already associated with a value (or is mapped to
null
) associates it with the computed and returnsnull
, else returns the current value.Changes will not be reflected in the results returned by previous calls to
ReadableState.read()
on the results any of the reading methods (get(K)
,keys()
,values()
, andentries()
). -
remove
Remove the mapping for a key from this map if it is present.Changes will not be reflected in the results returned by previous calls to
ReadableState.read()
on the results any of the reading methods (get(K)
,keys()
,values()
, andentries()
). -
get
A deferred lookup, using null values if the item is not found.A user is encouraged to call
get
for all relevant keys and callreadLater()
on the results.When
read()
is called, a particular state implementation is encouraged to perform all pending reads in a single batch. -
getOrDefault
A deferred lookup.A user is encouraged to call
get
for all relevant keys and callreadLater()
on the results.When
read()
is called, a particular state implementation is encouraged to perform all pending reads in a single batch. -
keys
ReadableState<Iterable<K>> keys()Returns anIterable
over the keys contained in this map. -
values
ReadableState<Iterable<V>> values()Returns anIterable
over the values contained in this map. -
entries
ReadableState<Iterable<Map.Entry<K,V>>> entries()Returns anIterable
over the key-value pairs contained in this map. -
isEmpty
ReadableState<Boolean> isEmpty()Returns aReadableState
whoseReadableState.read()
method will return true if this state is empty at the point when thatReadableState.read()
call returns.
-