Package com.google.common.reflect
Class ImmutableTypeToInstanceMap<B>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.collect.ForwardingMap<TypeToken<? extends B>,B>
-
- com.google.common.reflect.ImmutableTypeToInstanceMap<B>
-
- All Implemented Interfaces:
TypeToInstanceMap<B>
,Map<TypeToken<? extends B>,B>
@Beta public final class ImmutableTypeToInstanceMap<B> extends ForwardingMap<TypeToken<? extends B>,B> implements TypeToInstanceMap<B>
A type-to-instance map backed by anImmutableMap
. See alsoMutableTypeToInstanceMap
.- Since:
- 13.0
- Author:
- Ben Yu
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ImmutableTypeToInstanceMap.Builder<B>
A builder for creating immutable type-to-instance maps.-
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 Deprecated Methods Modifier and Type Method Description static <B> ImmutableTypeToInstanceMap.Builder<B>
builder()
Returns a new builder.protected Map<TypeToken<? extends B>,B>
delegate()
Returns the backing delegate instance that methods are forwarded to.<T extends B>
TgetInstance(TypeToken<T> type)
Returns the value the specified type is mapped to, ornull
if no entry for this type is present.<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.static <B> ImmutableTypeToInstanceMap<B>
of()
Returns an empty type to instance map.B
put(TypeToken<? extends B> key, B value)
Deprecated.unsupported operationvoid
putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
Deprecated.unsupported operation<T extends B>
TputInstance(TypeToken<T> type, T value)
Deprecated.unsupported operation<T extends B>
TputInstance(Class<T> type, T value)
Deprecated.unsupported operation-
Methods inherited from class com.google.common.collect.ForwardingMap
clear, containsKey, containsValue, entrySet, 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, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
-
-
-
-
Method Detail
-
of
public static <B> ImmutableTypeToInstanceMap<B> of()
Returns an empty type to instance map.- Type Parameters:
B
- theMap
's key type- Returns:
- an empty
Map
-
builder
public static <B> ImmutableTypeToInstanceMap.Builder<B> builder()
Returns a new builder.
-
getInstance
public <T extends B> T getInstance(TypeToken<T> type)
Description copied from interface:TypeToInstanceMap
Returns the value the specified type is mapped to, ornull
if no entry for this type is present. This will only return a value that was bound to this specific type, not a value that may have been bound to a subtype.- Specified by:
getInstance
in interfaceTypeToInstanceMap<B>
-
getInstance
public <T extends B> T getInstance(Class<T> type)
Description copied from interface:TypeToInstanceMap
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.getInstance(Foo.class)
is equivalent togetInstance(TypeToken.of(Foo.class))
.- Specified by:
getInstance
in interfaceTypeToInstanceMap<B>
-
putInstance
@CanIgnoreReturnValue @Deprecated public <T extends B> T putInstance(TypeToken<T> type, T value)
Deprecated.unsupported operationGuaranteed to throw an exception and leave the map unmodified.- Specified by:
putInstance
in interfaceTypeToInstanceMap<B>
- Returns:
- the value previously associated with this type (possibly
null
), ornull
if there was no previous entry. - Throws:
UnsupportedOperationException
- always
-
putInstance
@CanIgnoreReturnValue @Deprecated public <T extends B> T putInstance(Class<T> type, T value)
Deprecated.unsupported operationGuaranteed to throw an exception and leave the map unmodified.- Specified by:
putInstance
in interfaceTypeToInstanceMap<B>
- Returns:
- the value previously associated with this class (possibly
null
), ornull
if there was no previous entry. - Throws:
UnsupportedOperationException
- always
-
put
@CanIgnoreReturnValue @Deprecated public B put(TypeToken<? extends B> key, B value)
Deprecated.unsupported operationGuaranteed to throw an exception and leave the map unmodified.- Specified by:
put
in interfaceMap<TypeToken<? extends B>,B>
- Overrides:
put
in classForwardingMap<TypeToken<? extends B>,B>
- Parameters:
key
- key with which the specified value is to be associatedvalue
- value to be associated with the specified key- Returns:
- the previous value associated with
key
, ornull
if there was no mapping forkey
. (Anull
return can also indicate that the map previously associatednull
withkey
, if the implementation supportsnull
values.) - Throws:
UnsupportedOperationException
- always
-
putAll
@Deprecated public void putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
Deprecated.unsupported operationGuaranteed to throw an exception and leave the map unmodified.
-
delegate
protected Map<TypeToken<? extends 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.- Specified by:
delegate
in classForwardingMap<TypeToken<? extends B>,B>
-
-