|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
B
- the common supertype that all entries must share; often this is
simply Object
@Beta public interface TypeToInstanceMap<B>
A map, each entry of which maps a TypeToken
to an instance of that type.
In addition to implementing Map
, the additional type-safe operations
putInstance(java.lang.Class
and getInstance(java.lang.Class
are available.
Generally, implementations don't support Map.put(K, V)
and Map.putAll(java.util.Map extends K, ? extends V>)
because there is no way to check an object at runtime to be an instance of a
TypeToken
. Instead, caller should use the type safe putInstance(java.lang.Class
.
Also, if caller suppresses unchecked warnings and passes in an Iterable<String>
for type Iterable<Integer>
, the map won't be able to detect and throw type error.
Like any other Map<Class, Object>
, this map may contain entries
for primitive types, and a primitive type and its corresponding wrapper type
may map to different values.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface java.util.Map |
---|
Map.Entry<K,V> |
Method Summary | ||
---|---|---|
|
getInstance(Class<T> type)
Returns the value the specified class is mapped to, or null if no
entry for this class is present. |
|
|
getInstance(TypeToken<T> type)
Returns the value the specified type is mapped to, or null if no
entry for this type is present. |
|
|
putInstance(Class<T> type,
T value)
Maps the specified class to the specified value. |
|
|
putInstance(TypeToken<T> type,
T value)
Maps the specified type to the specified value. |
Methods inherited from interface java.util.Map |
---|
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values |
Method Detail |
---|
@Nullable <T extends B> T getInstance(Class<T> type)
null
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 to
getInstance(TypeToken.of(Foo.class))
.
@Nullable <T extends B> T putInstance(Class<T> type, @Nullable T value)
putInstance(Foo.class, foo)
is equivalent to
putInstance(TypeToken.of(Foo.class), foo)
.
null
),
or null
if there was no previous entry.@Nullable <T extends B> T getInstance(TypeToken<T> type)
null
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.
@Nullable <T extends B> T putInstance(TypeToken<T> type, @Nullable T value)
null
),
or null
if there was no previous entry.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |