Package com.google.common.collect
Class MutableClassToInstanceMap<B>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingMap<Class<? extends B>,B>
com.google.common.collect.MutableClassToInstanceMap<B>
- All Implemented Interfaces:
ClassToInstanceMap<B>
,Serializable
,Map<Class<? extends B>,
B>
public final class MutableClassToInstanceMap<B>
extends ForwardingMap<Class<? extends 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
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
Serialized form of the map, to avoid serializing the constraint.Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
MutableClassToInstanceMap
(Map<Class<? extends B>, B> delegate) -
Method Summary
Modifier and TypeMethodDescriptionprivate static <T> T
checkedEntry
(Map.Entry<Class<? extends B>, B> entry) Wraps thesetValue
implementation of anEntry
to enforce the class constraint.static <B> MutableClassToInstanceMap
<B> create()
Returns a newMutableClassToInstanceMap
instance backed by aHashMap
using the default initial capacity and load factor.static <B> MutableClassToInstanceMap
<B> Returns a newMutableClassToInstanceMap
instance backed by a given emptybackingMap
.delegate()
Returns the backing delegate instance that methods are forwarded to.entrySet()
<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.void
<T extends B>
TputInstance
(Class<T> type, T value) Maps the specified class to the specified value.private void
readObject
(ObjectInputStream stream) private Object
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
-
Field Details
-
delegate
-
-
Constructor Details
-
MutableClassToInstanceMap
-
-
Method Details
-
create
Returns a newMutableClassToInstanceMap
instance backed by aHashMap
using the default initial capacity and load factor. -
create
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.- Specified by:
delegate
in classForwardingMap<Class<? extends B>,
B>
-
checkedEntry
private static <B> Map.Entry<Class<? extends B>,B> checkedEntry(Map.Entry<Class<? extends B>, B> entry) Wraps thesetValue
implementation of anEntry
to enforce the class constraint. -
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>
- 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>
-
cast
-
writeReplace
-
readObject
- Throws:
InvalidObjectException
-