public final class MutableClassToInstanceMap<B> extends MapConstraints.ConstrainedMap<java.lang.Class<? extends B>,B> implements ClassToInstanceMap<B>
ImmutableClassToInstanceMap
.
See the Guava User Guide article on
ClassToInstanceMap
.
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
Modifier and Type | Field and Description |
---|---|
private static long |
serialVersionUID |
private static MapConstraint<java.lang.Class<?>,java.lang.Object> |
VALUE_CAN_BE_CAST_TO_KEY |
constraint
Modifier | Constructor and Description |
---|---|
private |
MutableClassToInstanceMap(java.util.Map<java.lang.Class<? extends B>,B> delegate) |
Modifier and Type | Method and Description |
---|---|
private static <B,T extends B> |
cast(java.lang.Class<T> type,
B value) |
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(java.util.Map<java.lang.Class<? extends B>,B> backingMap)
Returns a new
MutableClassToInstanceMap instance backed by a given
empty backingMap . |
<T extends B> |
getInstance(java.lang.Class<T> type)
Returns the value the specified class is mapped to, or
null if no
entry for this class is present. |
<T extends B> |
putInstance(java.lang.Class<T> type,
T value)
Maps the specified class to the specified value.
|
delegate, entrySet, put, putAll
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, values
toString
private static final MapConstraint<java.lang.Class<?>,java.lang.Object> VALUE_CAN_BE_CAST_TO_KEY
private static final long serialVersionUID
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(java.util.Map<java.lang.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.public <T extends B> T putInstance(java.lang.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(java.lang.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>
private static <B,T extends B> T cast(java.lang.Class<T> type, B value)