Package com.google.common.collect
Class ForwardingSetMultimap<K,V>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.collect.ForwardingMultimap<K,V>
-
- com.google.common.collect.ForwardingSetMultimap<K,V>
-
- All Implemented Interfaces:
Multimap<K,V>
,SetMultimap<K,V>
- Direct Known Subclasses:
ForwardingSortedSetMultimap
@GwtCompatible public abstract class ForwardingSetMultimap<K,V> extends ForwardingMultimap<K,V> implements SetMultimap<K,V>
A set multimap which forwards all its method calls to another set multimap. Subclasses should override one or more methods to modify the behavior of the backing multimap as desired per the decorator pattern.- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description ForwardingSetMultimap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<java.util.Map.Entry<K,V>>
entries()
Returns a collection of all key-value pairs.java.util.Set<V>
get(K key)
Returns a collection view containing the values associated withkey
in this multimap, if any.java.util.Set<V>
removeAll(java.lang.Object key)
Removes all values associated with a given key.java.util.Set<V>
replaceValues(K key, java.lang.Iterable<? extends V> values)
Stores a collection of values with the same key, replacing any existing values for that key.-
Methods inherited from class com.google.common.collect.ForwardingMultimap
asMap, clear, containsEntry, containsKey, containsValue, equals, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Methods inherited from interface com.google.common.collect.Multimap
clear, containsEntry, containsKey, containsValue, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values
-
Methods inherited from interface com.google.common.collect.SetMultimap
asMap, equals
-
-
-
-
Method Detail
-
entries
public java.util.Set<java.util.Map.Entry<K,V>> entries()
Description copied from interface:Multimap
Returns a collection of all key-value pairs. Changes to the returned collection will update the underlying multimap, and vice versa. The entries collection does not support theadd
oraddAll
operations.
-
get
public java.util.Set<V> get(@Nullable K key)
Description copied from interface:Multimap
Returns a collection view containing the values associated withkey
in this multimap, if any. Note that even when (containsKey(key)
is false,get(key)
still returns an empty collection, notnull
.Changes to the returned collection will update the underlying multimap, and vice versa.
-
removeAll
public java.util.Set<V> removeAll(@Nullable java.lang.Object key)
Description copied from interface:Multimap
Removes all values associated with a given key.Once this method returns,
key
will not be mapped to any values, so it will not appear inMultimap.keySet()
,Multimap.asMap()
, or any other views.- Specified by:
removeAll
in interfaceMultimap<K,V>
- Specified by:
removeAll
in interfaceSetMultimap<K,V>
- Overrides:
removeAll
in classForwardingMultimap<K,V>
- Parameters:
key
- key of entries to remove from the multimap- Returns:
- the collection of removed values, or an empty collection if no values were associated with the provided key. The collection may be modifiable, but updating it will have no effect on the multimap.
-
replaceValues
public java.util.Set<V> replaceValues(K key, java.lang.Iterable<? extends V> values)
Description copied from interface:Multimap
Stores a collection of values with the same key, replacing any existing values for that key.If
values
is empty, this is equivalent toremoveAll(key)
.- Specified by:
replaceValues
in interfaceMultimap<K,V>
- Specified by:
replaceValues
in interfaceSetMultimap<K,V>
- Overrides:
replaceValues
in classForwardingMultimap<K,V>
- Parameters:
key
- key to store in the multimapvalues
- values to store in the multimap- Returns:
- the collection of replaced values, or an empty collection if no values were previously associated with the key. The collection may be modifiable, but updating it will have no effect on the multimap.
-
-