java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingMap<Class<? extends @NonNull B>, B>
com.google.common.collect.MutableClassToInstanceMap<B>
- All Implemented Interfaces:
ClassToInstanceMap<B>, Serializable, Map<Class<? extends B>, B>
@GwtIncompatible
public final class MutableClassToInstanceMap<B extends @Nullable Object>
extends ForwardingMap<Class<? extends @NonNull B>, B>
implements ClassToInstanceMap<B>, Serializable
A mutable class-to-instance map backed by an arbitrary user-provided map. See also
ImmutableClassToInstanceMap.
See the Guava User Guide article on
ClassToInstanceMap.
- Since:
- 2.0
- Author:
- Kevin Bourrillion
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues -
Method Summary
Modifier and TypeMethodDescriptionstatic <B extends @Nullable Object>
MutableClassToInstanceMap<B> create()Returns a newMutableClassToInstanceMapinstance backed by aHashMapusing the default initial capacity and load factor.static <B extends @Nullable Object>
MutableClassToInstanceMap<B> Returns a newMutableClassToInstanceMapinstance backed by a given emptybackingMap.delegate()Returns the backing delegate instance that methods are forwarded to.entrySet()getInstance(Class<T> type) Returns the value the specified class is mapped to, ornullif no entry for this class is present.voidputInstance(Class<@NonNull T> type, T value) Maps the specified class to the specified value.Methods inherited from class ForwardingMap
clear, containsKey, containsValue, equals, get, hashCode, isEmpty, keySet, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, valuesMethods inherited from class ForwardingObject
toStringMethods inherited from interface Map
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
Method Details
-
create
Returns a newMutableClassToInstanceMapinstance backed by aHashMapusing the default initial capacity and load factor. -
create
public static <B extends @Nullable Object> MutableClassToInstanceMap<B> create(Map<Class<? extends @NonNull B>, B> backingMap) Returns a newMutableClassToInstanceMapinstance backed by a given emptybackingMap. The caller surrenders control of the backing map, and thus should not allow any direct references to it to remain accessible. -
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. -
entrySet
-
put
-
putAll
-
putInstance
Description copied from interface:ClassToInstanceMapMaps the specified class to the specified value. Does not associate this value with any of the class's supertypes.- Specified by:
putInstancein interfaceClassToInstanceMap<B extends @Nullable Object>- Returns:
- the value previously associated with this class (possibly
null), ornullif there was no previous entry.
-
getInstance
Description copied from interface:ClassToInstanceMapReturns 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.- Specified by:
getInstancein interfaceClassToInstanceMap<B extends @Nullable Object>
-