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, values
toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
public 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)
ClassToInstanceMap
Maps 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)
ClassToInstanceMap
Returns 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()
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 ForwardingMap<K,V>