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
- Author:
- Ben Yu
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
-
-
Constructor Summary
Constructors Constructor Description MutableTypeToInstanceMap()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected Map<TypeToken<? extends B>,B>delegate()Returns the backing delegate instance that methods are forwarded to.Set<Map.Entry<TypeToken<? extends B>,B>>entrySet()Returns aSetview of the mappings contained in this map.<T extends B>
@Nullable TgetInstance(TypeToken<T> type)Returns the value the specified type is mapped to, ornullif no entry for this type is present.<T extends B>
@Nullable TgetInstance(Class<T> type)Returns the value the specified class is mapped to, ornullif no entry for this class is present.Bput(TypeToken<? extends B> key, B value)Deprecated.unsupported operationvoidputAll(Map<? extends TypeToken<? extends B>,? extends B> map)Deprecated.unsupported operation<T extends B>
@Nullable TputInstance(TypeToken<T> type, @Nullable T value)Maps the specified type to the specified value.<T extends B>
@Nullable TputInstance(Class<T> type, @Nullable 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, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, values
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
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
-
-
-
-
Constructor Detail
-
MutableTypeToInstanceMap
public MutableTypeToInstanceMap()
-
-
Method Detail
-
getInstance
public <T extends B> @Nullable T getInstance(Class<T> type)
Description copied from interface:TypeToInstanceMapReturns the value the specified class is mapped to, ornullif 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:
getInstancein interfaceTypeToInstanceMap<B>
-
getInstance
public <T extends B> @Nullable T getInstance(TypeToken<T> type)
Description copied from interface:TypeToInstanceMapReturns the value the specified type is mapped to, ornullif 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:
getInstancein interfaceTypeToInstanceMap<B>
-
putInstance
@CanIgnoreReturnValue public <T extends B> @Nullable T putInstance(Class<T> type, @Nullable T value)
Description copied from interface:TypeToInstanceMapMaps 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:
putInstancein interfaceTypeToInstanceMap<B>- Returns:
- the value previously associated with this class (possibly
null), ornullif there was no previous entry.
-
putInstance
@CanIgnoreReturnValue public <T extends B> @Nullable T putInstance(TypeToken<T> type, @Nullable T value)
Description copied from interface:TypeToInstanceMapMaps the specified type to the specified value. Does not associate this value with any of the type's supertypes.- Specified by:
putInstancein interfaceTypeToInstanceMap<B>- Returns:
- the value previously associated with this type (possibly
null), ornullif there was no previous entry.
-
put
@CanIgnoreReturnValue @Deprecated public B put(TypeToken<? extends B> key, B value)
Deprecated.unsupported operationNot supported. UseputInstance(java.lang.Class<T>, T)instead.- Specified by:
putin interfaceMap<TypeToken<? extends B>,B>- Overrides:
putin classForwardingMap<TypeToken<? extends B>,B>- Parameters:
key- key with which the specified value is to be associatedvalue- value to be associated with the specified key- Returns:
- the previous value associated with
key, ornullif there was no mapping forkey. (Anullreturn can also indicate that the map previously associatednullwithkey, if the implementation supportsnullvalues.) - Throws:
UnsupportedOperationException- always
-
putAll
@Deprecated public void putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
Deprecated.unsupported operationNot supported. UseputInstance(java.lang.Class<T>, T)instead.
-
entrySet
public Set<Map.Entry<TypeToken<? extends B>,B>> entrySet()
Description copied from interface:java.util.MapReturns aSetview 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 ownremoveoperation, or through thesetValueoperation 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 theIterator.remove,Set.remove,removeAll,retainAllandclearoperations. It does not support theaddoraddAlloperations.
-
delegate
protected Map<TypeToken<? extends B>,B> delegate()
Description copied from class: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 asForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.- Specified by:
delegatein classForwardingMap<TypeToken<? extends B>,B>
-
-