|
||||||||||
| 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 | |||||||||