public interface AsyncDistributedMultimap<K,V> extends AsyncPrimitive
NOTE: Editing any returned collection will NOT effect the map itself and changes in the map will NOT be reflected in the returned collections. Certain operations may be too expensive when backed by a distributed data structure and have been labeled as such.
DEFAULT_OPERATION_TIMEOUT_MILLIS| Modifier and Type | Method and Description |
|---|---|
default CompletableFuture<Void> |
addListener(MultimapEventListener<K,V> listener)
Registers the specified listener to be notified whenever the map is updated.
|
CompletableFuture<Void> |
addListener(MultimapEventListener<K,V> listener,
Executor executor)
Registers the specified listener to be notified whenever the map is updated.
|
AsyncDistributedMap<K,Collection<V>> |
asMap()
Returns the multimap as a distributed map.
|
CompletableFuture<Void> |
clear()
Removes all key-value pairs, after which it will be empty.
|
CompletableFuture<Boolean> |
containsEntry(K key,
V value)
Returns true if this map contains at least one key-value pair with key
and value specified.
|
CompletableFuture<Boolean> |
containsKey(K key)
Returns true if there is at lease one key-value pair with a key equal to
key.
|
CompletableFuture<Boolean> |
containsValue(V value)
Returns true if this map contains at lease one key-value pair with a
value equal to value.
|
default CompletableFuture<Void> |
delete()
Purges state associated with this primitive.
|
AsyncDistributedCollection<Map.Entry<K,V>> |
entries()
Returns a collection of each key-value pair in this map.
|
CompletableFuture<Collection<V>> |
get(K key)
Returns a collection of values associated with the specified key, if the
key is not in the map it will return an empty collection.
|
CompletableFuture<Boolean> |
isEmpty()
Returns if this multimap contains no key-value pairs.
|
AsyncDistributedMultiset<K> |
keys()
Returns a multiset of the keys present in this multimap with one or more
associated values each.
|
AsyncDistributedSet<K> |
keySet()
Returns a set of the keys contained in this multimap with one or more
associated values.
|
CompletableFuture<Boolean> |
put(K key,
V value)
If the key-value pair does not already exist adds either the key value
pair or the value to the set of values associated with the key and
returns true, if the key-value pair already exists then behavior is
implementation specific with some implementations allowing duplicates
and others ignoring put requests for existing entries.
|
CompletableFuture<Boolean> |
putAll(K key,
Collection<? extends V> values)
Adds the set of key-value pairs of the specified key with each of the
values in the iterable if each key-value pair does not already exist,
if the pair does exist the behavior is implementation specific.
|
CompletableFuture<Boolean> |
remove(K key,
V value)
Removes the key-value pair with the specified values if it exists.
|
CompletableFuture<Collection<V>> |
removeAll(K key)
Removes all values associated with the specified key as well as the key
itself.
|
CompletableFuture<Boolean> |
removeAll(K key,
Collection<? extends V> values)
Removes the key-value pairs with the specified key and values if they
exist.
|
CompletableFuture<Void> |
removeListener(MultimapEventListener<K,V> listener)
Unregisters the specified listener such that it will no longer
receive map change notifications.
|
CompletableFuture<Collection<V>> |
replaceValues(K key,
Collection<V> values)
Stores all the values in values associated with the key specified,
removes all preexisting values and returns a collection of the removed
values which may be empty if the entry did not exist.
|
CompletableFuture<Integer> |
size()
Returns the number of key-value pairs in this multimap.
|
default DistributedMultimap<K,V> |
sync()
Returns a synchronous wrapper around the asynchronous primitive.
|
DistributedMultimap<K,V> |
sync(Duration operationTimeout)
Returns a synchronous wrapper around the asynchronous primitive.
|
AsyncDistributedMultiset<V> |
values()
Returns a collection of values in the set with duplicates permitted, the
size of this collection will equal the size of the map at the time of
creation.
|
closeaddStateChangeListener, name, protocol, removeStateChangeListener, typedefault CompletableFuture<Void> delete()
AsyncPrimitiveImplementations can override and provide appropriate clean up logic for purging any state state associated with the primitive. Whether modifications made within the destroy method have local or global visibility is left unspecified.
delete in interface AsyncPrimitiveCompletableFuture that is completed when the operation completesCompletableFuture<Integer> size()
CompletableFuture<Boolean> isEmpty()
CompletableFuture<Boolean> containsKey(K key)
key - the key to queryCompletableFuture<Boolean> containsValue(V value)
value - the value to queryCompletableFuture<Boolean> containsEntry(K key, V value)
key - keyvalue - valueCompletableFuture<Boolean> put(K key, V value)
key - the key to addvalue - the value to addCompletableFuture<Boolean> remove(K key, V value)
key - the key of the pair to be removedvalue - the value of the pair to be removedCompletableFuture<Boolean> removeAll(K key, Collection<? extends V> values)
remove() for each key value pair but more
efficient.key - the key of the pair to be removedvalues - the set of values to be removedCompletableFuture<Collection<V>> removeAll(K key)
key - the key whose key-value pairs will be removedCompletableFuture<Boolean> putAll(K key, Collection<? extends V> values)
key - the key to use for all pairs to be addedvalues - the set of values to be added in pairs with the keyCompletableFuture<Collection<V>> replaceValues(K key, Collection<V> values)
key - the key for all entries to be addedvalues - the values to be associated with the keyCompletableFuture<Void> clear()
CompletableFuture<Collection<V>> get(K key)
key - the key whose associated values will be returnedAsyncDistributedSet<K> keySet()
AsyncDistributedMultiset<K> keys()
AsyncDistributedMultiset<V> values()
AsyncDistributedCollection<Map.Entry<K,V>> entries()
AsyncDistributedMap<K,Collection<V>> asMap()
default CompletableFuture<Void> addListener(MultimapEventListener<K,V> listener)
listener - listener to notify about map eventsCompletableFuture<Void> addListener(MultimapEventListener<K,V> listener, Executor executor)
listener - listener to notify about map eventsexecutor - executor to use for handling incoming map eventsCompletableFuture<Void> removeListener(MultimapEventListener<K,V> listener)
listener - listener to unregisterdefault DistributedMultimap<K,V> sync()
AsyncPrimitivesync in interface AsyncPrimitiveDistributedMultimap<K,V> sync(Duration operationTimeout)
AsyncPrimitivesync in interface AsyncPrimitiveoperationTimeout - the synchronous operation timeoutCopyright © 2013–2018. All rights reserved.