com.google.common.collect
Interface ClassToInstanceMap<B>

Type Parameters:
B - the common supertype that all entries must share; often this is simply Object
All Superinterfaces:
Map<Class<? extends B>,B>
All Known Implementing Classes:
ImmutableClassToInstanceMap, MutableClassToInstanceMap

public interface ClassToInstanceMap<B>
extends Map<Class<? extends B>,B>

A map, each entry of which maps a Java raw type to an instance of that type. In addition to implementing Map, the additional type-safe operations putInstance(java.lang.Class, T) and getInstance(java.lang.Class) are available.

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.

Since:
2010.01.04 stable (imported from Google Collections Library)
Author:
Kevin Bourrillion

Nested Class Summary
 
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K,V>
 
Method Summary
<T extends B>
T
getInstance(Class<T> type)
          Returns the value the specified class is mapped to, or null if no entry for this class is present.
<T extends B>
T
putInstance(Class<T> type, T value)
          Maps the specified class 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

getInstance

<T extends B> T getInstance(Class<T> type)
Returns the value the specified class is mapped to, or 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.


putInstance

<T extends B> T putInstance(Class<T> type,
                            @Nullable
                            T value)
Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.

Returns:
the value previously associated with this class (possibly null), or null if there was no previous entry.