public interface ConsistentMultimap<K,V> extends DistributedPrimitive
AsyncConsistentMultimap
. Instead of returning futures this map
blocks until the future completes then returns the result.DistributedPrimitive.Status, DistributedPrimitive.Type
DEFAULT_OPERATION_TIMEOUT_MILLIS, DEFAULT_OPERTATION_TIMEOUT_MILLIS
Modifier and Type | Method and Description |
---|---|
default void |
addListener(MultimapEventListener<K,V> listener)
Registers the specified listener to be notified whenever the map is updated.
|
void |
addListener(MultimapEventListener<K,V> listener,
java.util.concurrent.Executor executor)
Registers the specified listener to be notified whenever the map is updated.
|
java.util.Map<K,java.util.Collection<V>> |
asMap()
Returns a map of keys to collections of values that reflect the set of
key-value pairs contained in the multimap, where the key value pairs
would be the key paired with each of the values in the collection.
|
void |
clear()
Removes all key-value pairs, after which it will be empty.
|
boolean |
containsEntry(K key,
V value)
Returns true if this map contains at least one key-value pair with key
and value specified.
|
boolean |
containsKey(K key)
Returns true if there is at lease one key-value pair with a key equal to
key.
|
boolean |
containsValue(V value)
Returns true if this map contains at lease one key-value pair with a
value equal to value.
|
java.util.Collection<java.util.Map.Entry<K,V>> |
entries()
Returns a collection of each key-value pair in this map.
|
Versioned<java.util.Collection<? extends 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.
|
boolean |
isEmpty()
Returns if this multimap contains no key-value pairs.
|
com.google.common.collect.Multiset<K> |
keys()
Returns a multiset of the keys present in this multimap with one or more
associated values each.
|
java.util.Set<K> |
keySet()
Returns a set of the keys contained in this multimap with one or more
associated values.
|
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.
|
boolean |
putAll(K key,
java.util.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.
|
boolean |
remove(K key,
V value)
Removes the key-value pair with the specified values if it exists.
|
Versioned<java.util.Collection<? extends V>> |
removeAll(K key)
Removes all values associated with the specified key as well as the key
itself.
|
boolean |
removeAll(K key,
java.util.Collection<? extends V> values)
Removes the key-value pairs with the specified key and values if they
exist.
|
void |
removeListener(MultimapEventListener<K,V> listener)
Unregisters the specified listener such that it will no longer
receive map change notifications.
|
Versioned<java.util.Collection<? extends V>> |
replaceValues(K key,
java.util.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.
|
int |
size()
Returns the number of key-value pairs in this multimap.
|
com.google.common.collect.Multiset<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.
|
addStatusChangeListener, applicationId, destroy, name, primitiveType, removeStatusChangeListener, statusChangeListeners
int size()
boolean isEmpty()
boolean containsKey(K key)
key
- the key to queryboolean containsValue(V value)
value
- the value to queryboolean containsEntry(K key, V value)
key
- the key to queryvalue
- the value to queryboolean put(K key, V value)
key
- the key to addvalue
- the value to addboolean remove(K key, V value)
key
- the key of the pair to be removedvalue
- the value of the pair to be removedboolean removeAll(K key, java.util.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 removedVersioned<java.util.Collection<? extends V>> removeAll(K key)
key
- the key whose key-value pairs will be removedboolean putAll(K key, java.util.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 keyVersioned<java.util.Collection<? extends V>> replaceValues(K key, java.util.Collection<V> values)
key
- the key for all entries to be addedvalues
- the values to be associated with the keyvoid clear()
Versioned<java.util.Collection<? extends V>> get(K key)
key
- the key whose associated values will be returnedjava.util.Set<K> keySet()
com.google.common.collect.Multiset<K> keys()
com.google.common.collect.Multiset<V> values()
java.util.Collection<java.util.Map.Entry<K,V>> entries()
java.util.Map<K,java.util.Collection<V>> asMap()
default void addListener(MultimapEventListener<K,V> listener)
listener
- listener to notify about map eventsvoid addListener(MultimapEventListener<K,V> listener, java.util.concurrent.Executor executor)
listener
- listener to notify about map eventsexecutor
- executor to use for handling incoming map eventsvoid removeListener(MultimapEventListener<K,V> listener)
listener
- listener to unregister