Package com.google.common.collect
Class MutableClassToInstanceMap<B extends @Nullable Object>
- 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 alsoImmutableClassToInstanceMap
.See the Guava User Guide article on
ClassToInstanceMap
.- Since:
- 2.0
- Author:
- Kevin Bourrillion
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <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>create(Map<Class<? extends @NonNull B>,B> backingMap)
Returns a newMutableClassToInstanceMap
instance backed by a given emptybackingMap
.protected Map<Class<? extends @NonNull B>,B>
delegate()
Returns the backing delegate instance that methods are forwarded to.Set<Map.Entry<Class<? extends @NonNull B>,B>>
entrySet()
<T extends @NonNull 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(Class<? extends @NonNull B> key, B value)
void
putAll(Map<? extends Class<? extends @NonNull B>,? extends B> map)
<T extends B>
TputInstance(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 Detail
-
create
public static <B extends @Nullable Object> MutableClassToInstanceMap<B> 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
protected Map<Class<? extends @NonNull B>,B> 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.
-
put
@CanIgnoreReturnValue @CheckForNull public B put(Class<? extends @NonNull B> key, B value)
-
putInstance
@CanIgnoreReturnValue @CheckForNull public <T extends B> T putInstance(Class<@NonNull T> type, T value)
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
@CheckForNull public <T extends @NonNull B> T getInstance(Class<T> type)
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>
-
-