@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.
Constructor and Description |
---|
ForwardingSetMultimap() |
Modifier and Type | Method and Description |
---|---|
protected abstract SetMultimap<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
Set<Map.Entry<K,V>> |
entries()
Returns a view collection of all key-value pairs contained in this multimap, as
Map.Entry instances. |
Set<V> |
get(K key)
Returns a view collection of the values associated with
key in this multimap, if any. |
Set<V> |
removeAll(Object key)
Removes all values associated with the key
key . |
Set<V> |
replaceValues(K key,
Iterable<? extends V> values)
Stores a collection of values with the same key, replacing any existing values for that key.
|
asMap, clear, containsEntry, containsKey, containsValue, equals, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values
toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
asMap, equals
clear, containsEntry, containsKey, containsValue, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, values
protected abstract SetMultimap<K,V> delegate()
ForwardingObject
Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as ForwardingSet.delegate()
. Concrete subclasses override this method to supply the instance being decorated.
delegate
in class ForwardingMultimap<K,V>
public Set<Map.Entry<K,V>> entries()
Multimap
Returns a view collection of all key-value pairs contained in this multimap, as Map.Entry
instances.
Changes to the returned collection or the entries it contains will update the underlying multimap, and vice versa. However, adding to the returned collection is not possible.
public Set<V> get(@Nullable K key)
Multimap
Returns a view collection of the values associated with key
in this multimap, if any. Note that when containsKey(key)
is false, this returns an empty collection, not null
.
Changes to the returned collection will update the underlying multimap, and vice versa.
public Set<V> removeAll(@Nullable Object key)
Multimap
Removes all values associated with the key key
.
Once this method returns, key
will not be mapped to any values, so it will not appear in Multimap.keySet()
, Multimap.asMap()
, or any other views.
removeAll
in interface Multimap<K,V>
removeAll
in interface SetMultimap<K,V>
removeAll
in class ForwardingMultimap<K,V>
public Set<V> replaceValues(K key, Iterable<? extends V> values)
Multimap
Stores a collection of values with the same key, replacing any existing values for that key.
If values
is empty, this is equivalent to removeAll(key)
.
replaceValues
in interface Multimap<K,V>
replaceValues
in interface SetMultimap<K,V>
replaceValues
in class ForwardingMultimap<K,V>