Interface MapState<K,V>
-
- Type Parameters:
K
- the type of keys maintained by this mapV
- the type of mapped values
- All Superinterfaces:
State
@Experimental(STATE) public interface MapState<K,V> extends State
AReadableState
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
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description ReadableState<V>
computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
A deferred read-followed-by-write.ReadableState<java.lang.Iterable<java.util.Map.Entry<K,V>>>
entries()
Returns anIterable
over the key-value pairs contained in this map.ReadableState<V>
get(K key)
A deferred lookup, using null values if the item is not found.ReadableState<V>
getOrDefault(K key, V defaultValue)
A deferred lookup.ReadableState<java.lang.Boolean>
isEmpty()
Returns aReadableState
whoseReadableState.read()
method will return true if this state is empty at the point when thatReadableState.read()
call returns.ReadableState<java.lang.Iterable<K>>
keys()
Returns anIterable
over the keys contained in this map.void
put(K key, V value)
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(K key)
Remove the mapping for a key from this map if it is present.ReadableState<java.lang.Iterable<V>>
values()
Returns anIterable
over the values contained in this map.
-
-
-
Method Detail
-
put
void put(K key, V value)
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
default ReadableState<V> putIfAbsent(K key, V value)
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
ReadableState<V> computeIfAbsent(K key, java.util.function.Function<? super K,? extends V> mappingFunction)
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
void remove(K key)
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
ReadableState<V> get(K key)
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
ReadableState<V> getOrDefault(K key, @Nullable V defaultValue)
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<java.lang.Iterable<K>> keys()
Returns anIterable
over the keys contained in this map.
-
values
ReadableState<java.lang.Iterable<V>> values()
Returns anIterable
over the values contained in this map.
-
entries
ReadableState<java.lang.Iterable<java.util.Map.Entry<K,V>>> entries()
Returns anIterable
over the key-value pairs contained in this map.
-
isEmpty
ReadableState<java.lang.Boolean> isEmpty()
Returns aReadableState
whoseReadableState.read()
method will return true if this state is empty at the point when thatReadableState.read()
call returns.
-
-