public class DefaultConsistentMultimap<K,V> extends Synchronous<AsyncConsistentMultimap<K,V>> implements ConsistentMultimap<K,V>
ConsistentMultimap providing synchronous access to
AsyncConsistentMultimap.DistributedPrimitive.Status, DistributedPrimitive.TypeDEFAULT_OPERATION_TIMEOUT_MILLIS, DEFAULT_OPERTATION_TIMEOUT_MILLIS| Constructor and Description |
|---|
DefaultConsistentMultimap(AsyncConsistentMultimap<K,V> asyncMultimap,
long operationTimeoutMillis) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
destroy, name, primitiveTypeclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitaddListeneraddStatusChangeListener, applicationId, destroy, name, primitiveType, removeStatusChangeListener, statusChangeListenerspublic DefaultConsistentMultimap(AsyncConsistentMultimap<K,V> asyncMultimap, long operationTimeoutMillis)
public int size()
ConsistentMultimapsize in interface ConsistentMultimap<K,V>public boolean isEmpty()
ConsistentMultimapisEmpty in interface ConsistentMultimap<K,V>public boolean containsKey(K key)
ConsistentMultimapcontainsKey in interface ConsistentMultimap<K,V>key - the key to querypublic boolean containsValue(V value)
ConsistentMultimapcontainsValue in interface ConsistentMultimap<K,V>value - the value to querypublic boolean containsEntry(K key, V value)
ConsistentMultimapcontainsEntry in interface ConsistentMultimap<K,V>key - the key to queryvalue - the value to querypublic boolean put(K key, V value)
ConsistentMultimapput in interface ConsistentMultimap<K,V>key - the key to addvalue - the value to addpublic boolean remove(K key, V value)
ConsistentMultimapremove in interface ConsistentMultimap<K,V>key - the key of the pair to be removedvalue - the value of the pair to be removedpublic boolean removeAll(K key, java.util.Collection<? extends V> values)
ConsistentMultimapremove() for each key value pair but more
efficient.removeAll in interface ConsistentMultimap<K,V>key - the key of the pair to be removedvalues - the set of values to be removedpublic Versioned<java.util.Collection<? extends V>> removeAll(K key)
ConsistentMultimapremoveAll in interface ConsistentMultimap<K,V>key - the key whose key-value pairs will be removedpublic boolean putAll(K key, java.util.Collection<? extends V> values)
ConsistentMultimapputAll in interface ConsistentMultimap<K,V>key - the key to use for all pairs to be addedvalues - the set of values to be added in pairs with the keypublic Versioned<java.util.Collection<? extends V>> replaceValues(K key, java.util.Collection<V> values)
ConsistentMultimapreplaceValues in interface ConsistentMultimap<K,V>key - the key for all entries to be addedvalues - the values to be associated with the keypublic void clear()
ConsistentMultimapclear in interface ConsistentMultimap<K,V>public Versioned<java.util.Collection<? extends V>> get(K key)
ConsistentMultimapget in interface ConsistentMultimap<K,V>key - the key whose associated values will be returnedpublic java.util.Set<K> keySet()
ConsistentMultimapkeySet in interface ConsistentMultimap<K,V>public com.google.common.collect.Multiset<K> keys()
ConsistentMultimapkeys in interface ConsistentMultimap<K,V>public com.google.common.collect.Multiset<V> values()
ConsistentMultimapvalues in interface ConsistentMultimap<K,V>public java.util.Collection<java.util.Map.Entry<K,V>> entries()
ConsistentMultimapentries in interface ConsistentMultimap<K,V>public java.util.Map<K,java.util.Collection<V>> asMap()
ConsistentMultimapasMap in interface ConsistentMultimap<K,V>public void addListener(MultimapEventListener<K,V> listener, java.util.concurrent.Executor executor)
ConsistentMultimapaddListener in interface ConsistentMultimap<K,V>listener - listener to notify about map eventsexecutor - executor to use for handling incoming map eventspublic void removeListener(MultimapEventListener<K,V> listener)
ConsistentMultimapremoveListener in interface ConsistentMultimap<K,V>listener - listener to unregister