public final class MutableClassToInstanceMap<B> extends ForwardingMap<K,V> implements ClassToInstanceMap<B>
A mutable class-to-instance map backed by an arbitrary user-provided map. See also ImmutableClassToInstanceMap.
See the Guava User Guide article on ClassToInstanceMap.
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues| Modifier and Type | Method and Description |
|---|---|
static <B> MutableClassToInstanceMap<B> |
create()
Returns a new
MutableClassToInstanceMap instance backed by a HashMap using the default initial capacity and load factor. |
static <B> MutableClassToInstanceMap<B> |
create(Map<Class<? extends B>,B> backingMap)
Returns a new
MutableClassToInstanceMap instance backed by a given empty backingMap. |
protected Map<K,V> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
Set<Map.Entry<K,V>> |
entrySet() |
<T extends B> |
getInstance(Class<T> type)
Returns the value the specified class is mapped to, or
null if no entry for this class is present. |
V |
put(K key,
V value) |
void |
putAll(Map<? extends K,? extends V> map) |
<T extends B> |
putInstance(Class<T> type,
T value)
Maps the specified class to the specified value.
|
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, valuestoStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitclear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, valuespublic static <B> MutableClassToInstanceMap<B> create()
Returns a new MutableClassToInstanceMap instance backed by a HashMap using the default initial capacity and load factor.
public static <B> MutableClassToInstanceMap<B> create(Map<Class<? extends B>,B> backingMap)
Returns a new MutableClassToInstanceMap instance backed by a given empty backingMap. The caller surrenders control of the backing map, and thus should not allow any direct references to it to remain accessible.
public <T extends B> T putInstance(Class<T> type, T value)
ClassToInstanceMapMaps the specified class to the specified value. Does not associate this value with any of the class’s supertypes.
putInstance in interface ClassToInstanceMap<B>null), or null if there was no previous entry.public <T extends B> T getInstance(Class<T> type)
ClassToInstanceMapReturns the value the specified class is mapped to, or null if no entry for this class is present. This will only return a value that was bound to this specific class, not a value that may have been bound to a subtype.
getInstance in interface ClassToInstanceMap<B>protected Map<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 ForwardingMap<K,V>