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 com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
-
Method Summary
Modifier and TypeMethodDescriptionstatic <B extends @Nullable Object>
MutableClassToInstanceMap<B> create()
Returns a newMutableClassToInstanceMap
instance backed by aHashMap
using the default initial capacity and load factor.static <B extends @Nullable Object>
MutableClassToInstanceMap<B> Returns a newMutableClassToInstanceMap
instance 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, ornull
if no entry for this class is present.void
putInstance
(Class<@NonNull 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, 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
-
Method Details
-
create
Returns a newMutableClassToInstanceMap
instance backed by aHashMap
using 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 newMutableClassToInstanceMap
instance 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:ForwardingObject
Returns 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:ClassToInstanceMap
Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.- Specified by:
putInstance
in interfaceClassToInstanceMap<B extends @Nullable Object>
- Returns:
- the value previously associated with this class (possibly
null
), ornull
if there was no previous entry.
-
getInstance
Description copied from interface:ClassToInstanceMap
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.- Specified by:
getInstance
in interfaceClassToInstanceMap<B extends @Nullable Object>
-