Package com.google.common.collect
Class ImmutableClassToInstanceMap<B>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.collect.ForwardingMap<java.lang.Class<? extends B>,B>
-
- com.google.common.collect.ImmutableClassToInstanceMap<B>
-
- All Implemented Interfaces:
ClassToInstanceMap<B>,java.io.Serializable,java.util.Map<java.lang.Class<? extends B>,B>
@GwtIncompatible public final class ImmutableClassToInstanceMap<B> extends ForwardingMap<java.lang.Class<? extends B>,B> implements ClassToInstanceMap<B>, java.io.Serializable
AClassToInstanceMapwhose contents will never change, with many other important properties detailed atImmutableCollection.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classImmutableClassToInstanceMap.Builder<B>A builder for creating immutable class-to-instance maps.-
Nested classes/interfaces inherited from class com.google.common.collect.ForwardingMap
ForwardingMap.StandardEntrySet, ForwardingMap.StandardKeySet, ForwardingMap.StandardValues
-
-
Field Summary
Fields Modifier and Type Field Description private ImmutableMap<java.lang.Class<? extends B>,B>delegateprivate static ImmutableClassToInstanceMap<java.lang.Object>EMPTY
-
Constructor Summary
Constructors Modifier Constructor Description privateImmutableClassToInstanceMap(ImmutableMap<java.lang.Class<? extends B>,B> delegate)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <B> ImmutableClassToInstanceMap.Builder<B>builder()Returns a new builder.static <B,S extends B>
ImmutableClassToInstanceMap<B>copyOf(java.util.Map<? extends java.lang.Class<? extends S>,? extends S> map)Returns an immutable map containing the same entries asmap.protected java.util.Map<java.lang.Class<? extends B>,B>delegate()Returns the backing delegate instance that methods are forwarded to.<T extends B>
TgetInstance(java.lang.Class<T> type)Returns the value the specified class is mapped to, ornullif no entry for this class is present.static <B> ImmutableClassToInstanceMap<B>of()Returns an emptyImmutableClassToInstanceMap.static <B,T extends B>
ImmutableClassToInstanceMap<B>of(java.lang.Class<T> type, T value)Returns anImmutableClassToInstanceMapcontaining a single entry.<T extends B>
TputInstance(java.lang.Class<T> type, T value)Deprecated.Unsupported operation.(package private) java.lang.ObjectreadResolve()-
Methods inherited from class com.google.common.collect.ForwardingMap
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, standardClear, standardContainsKey, standardContainsValue, standardEquals, standardHashCode, standardIsEmpty, standardPutAll, standardRemove, standardToString, values
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
-
-
-
Field Detail
-
EMPTY
private static final ImmutableClassToInstanceMap<java.lang.Object> EMPTY
-
delegate
private final ImmutableMap<java.lang.Class<? extends B>,B> delegate
-
-
Constructor Detail
-
ImmutableClassToInstanceMap
private ImmutableClassToInstanceMap(ImmutableMap<java.lang.Class<? extends B>,B> delegate)
-
-
Method Detail
-
of
public static <B> ImmutableClassToInstanceMap<B> of()
Returns an emptyImmutableClassToInstanceMap.- Since:
- 19.0
-
of
public static <B,T extends B> ImmutableClassToInstanceMap<B> of(java.lang.Class<T> type, T value)
Returns anImmutableClassToInstanceMapcontaining a single entry.- Since:
- 19.0
-
builder
public static <B> ImmutableClassToInstanceMap.Builder<B> builder()
Returns a new builder. The generated builder is equivalent to the builder created by theImmutableClassToInstanceMap.Builderconstructor.
-
copyOf
public static <B,S extends B> ImmutableClassToInstanceMap<B> copyOf(java.util.Map<? extends java.lang.Class<? extends S>,? extends S> map)
Returns an immutable map containing the same entries asmap. Ifmapsomehow contains entries with duplicate keys (for example, if it is aSortedMapwhose comparator is not consistent with equals), the results of this method are undefined.Note: Despite what the method name suggests, if
mapis anImmutableClassToInstanceMap, no copy will actually be performed.- Throws:
java.lang.NullPointerException- if any key or value inmapis nulljava.lang.ClassCastException- if any value is not an instance of the type specified by its key
-
delegate
protected java.util.Map<java.lang.Class<? 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<java.lang.Class<? extends B>,B>
-
getInstance
public <T extends B> T getInstance(java.lang.Class<T> type)
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>
-
putInstance
@Deprecated public <T extends B> T putInstance(java.lang.Class<T> type, T value)
Deprecated.Unsupported operation.Guaranteed to throw an exception and leave the map unmodified.- Specified by:
putInstancein interfaceClassToInstanceMap<B>- Returns:
- the value previously associated with this class (possibly
null), ornullif there was no previous entry. - Throws:
java.lang.UnsupportedOperationException- always
-
readResolve
java.lang.Object readResolve()
-
-