Package com.google.common.reflect
Class MutableTypeToInstanceMap<B>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.collect.ForwardingMap<TypeToken<? extends B>,B>
-
- com.google.common.reflect.MutableTypeToInstanceMap<B>
-
- All Implemented Interfaces:
TypeToInstanceMap<B>
,Map<TypeToken<? extends B>,B>
@Beta public final class MutableTypeToInstanceMap<B> extends ForwardingMap<TypeToken<? extends B>,B> implements TypeToInstanceMap<B>
A mutable type-to-instance map. See alsoImmutableTypeToInstanceMap
.- Since:
- 13.0
-
-
Constructor Summary
Constructors Constructor Description MutableTypeToInstanceMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<Map.Entry<TypeToken<? extends B>,B>>
entrySet()
<T extends B>
TgetInstance(TypeToken<T> type)
Returns the value the specified type is mapped to, ornull
if no entry for this type is present.<T extends B>
TgetInstance(Class<T> type)
Returns the value the specified class is mapped to, ornull
if no entry for this class is present.B
put(TypeToken<? extends B> key, B value)
Not supported.void
putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
Not supported.<T extends B>
TputInstance(TypeToken<T> type, T value)
Maps the specified type to the specified value.<T extends B>
TputInstance(Class<T> type, T value)
Maps the specified class to the specified value.-
Methods inherited from class com.google.common.collect.ForwardingMap
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, remove, size, values
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
getInstance
@Nullable public <T extends B> T getInstance(Class<T> type)
Description copied from interface:TypeToInstanceMap
Returns the value the specified class is mapped to, ornull
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(Foo.class)
is equivalent togetInstance(TypeToken.of(Foo.class))
.- Specified by:
getInstance
in interfaceTypeToInstanceMap<B>
-
putInstance
@Nullable public <T extends B> T putInstance(Class<T> type, @Nullable T value)
Description copied from interface:TypeToInstanceMap
Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.putInstance(Foo.class, foo)
is equivalent toputInstance(TypeToken.of(Foo.class), foo)
.- Specified by:
putInstance
in interfaceTypeToInstanceMap<B>
- Returns:
- the value previously associated with this class (possibly
null
), ornull
if there was no previous entry.
-
getInstance
@Nullable public <T extends B> T getInstance(TypeToken<T> type)
Description copied from interface:TypeToInstanceMap
Returns the value the specified type is mapped to, ornull
if no entry for this type is present. This will only return a value that was bound to this specific type, not a value that may have been bound to a subtype.- Specified by:
getInstance
in interfaceTypeToInstanceMap<B>
-
putInstance
@Nullable public <T extends B> T putInstance(TypeToken<T> type, @Nullable T value)
Description copied from interface:TypeToInstanceMap
Maps the specified type to the specified value. Does not associate this value with any of the type's supertypes.- Specified by:
putInstance
in interfaceTypeToInstanceMap<B>
- Returns:
- the value previously associated with this type (possibly
null
), ornull
if there was no previous entry.
-
put
public B put(TypeToken<? extends B> key, B value)
Not supported. UseputInstance(java.lang.Class<T>, T)
instead.
-
putAll
public void putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
Not supported. UseputInstance(java.lang.Class<T>, T)
instead.
-
-