@GwtCompatible public abstract class ForwardingListMultimap<K,V> extends ForwardingMultimap<K,V> implements ListMultimap<K,V>
A list multimap which forwards all its method calls to another list multimap. Subclasses should override one or more methods to modify the behavior of the backing multimap as desired per the decorator pattern.
| Modifier | Constructor and Description |
|---|---|
protected |
ForwardingListMultimap()
Constructor for use by subclasses.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract ListMultimap<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
List<V> |
get(K key)
Returns a view collection of the values associated with
key in this multimap, if any. |
List<V> |
removeAll(Object key)
Removes all values associated with the key
key. |
List<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, entries, equals, hashCode, isEmpty, keys, keySet, put, putAll, putAll, remove, size, valuestoStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitasMap, equalsprotected ForwardingListMultimap()
Constructor for use by subclasses.
protected abstract ListMultimap<K,V> delegate()
ForwardingObjectReturns 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 List<V> get(@Nullable K key)
MultimapReturns 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 List<V> removeAll(@Nullable Object key)
MultimapRemoves 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 ListMultimap<K,V>removeAll in interface Multimap<K,V>removeAll in class ForwardingMultimap<K,V>public List<V> replaceValues(K key, Iterable<? extends V> values)
MultimapStores 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 ListMultimap<K,V>replaceValues in interface Multimap<K,V>replaceValues in class ForwardingMultimap<K,V>