@GwtIncompatible public final class MutableClassToInstanceMap<B> extends ForwardingMap<Class<? extends B>,B> implements ClassToInstanceMap<B>, Serializable
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<Class<? extends B>,B> |
delegate()
Returns the backing delegate instance that methods are forwarded to.
|
Set<Map.Entry<Class<? extends B>,B>> |
entrySet()
Returns a
Set view of the mappings contained in this map. |
<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. |
B |
put(Class<? extends B> key,
B value)
Associates the specified value with the specified key in this map
(optional operation).
|
void |
putAll(Map<? extends Class<? extends B>,? extends B> map)
Copies all of the mappings from the specified map to this map
(optional operation).
|
<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, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
public static <B> MutableClassToInstanceMap<B> create()
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)
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.protected Map<Class<? extends B>,B> delegate()
ForwardingObject
ForwardingSet.delegate()
. Concrete subclasses override this method to supply the
instance being decorated.delegate
in class ForwardingMap<Class<? extends B>,B>
public Set<Map.Entry<Class<? extends B>,B>> entrySet()
java.util.Map
Set
view of the mappings contained in this map.
The set is backed by the map, so changes to the map are
reflected in the set, and vice-versa. If the map is modified
while an iteration over the set is in progress (except through
the iterator's own remove operation, or through the
setValue operation on a map entry returned by the
iterator) the results of the iteration are undefined. The set
supports element removal, which removes the corresponding
mapping from the map, via the Iterator.remove,
Set.remove, removeAll, retainAll and
clear operations. It does not support the
add or addAll operations.@CanIgnoreReturnValue public B put(Class<? extends B> key, B value)
java.util.Map
m.containsKey(k)
would return
true.)put
in interface Map<Class<? extends B>,B>
put
in class ForwardingMap<Class<? extends B>,B>
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified keypublic void putAll(Map<? extends Class<? extends B>,? extends B> map)
java.util.Map
put(k, v)
on this map once
for each mapping from key k to value v in the
specified map. The behavior of this operation is undefined if the
specified map is modified while the operation is in progress.@CanIgnoreReturnValue public <T extends B> T putInstance(Class<T> type, T value)
ClassToInstanceMap
putInstance
in interface ClassToInstanceMap<B>
null
), or null
if there was no previous entry.public <T extends B> T getInstance(Class<T> type)
ClassToInstanceMap
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>
Copyright © 2010–2018. All rights reserved.