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

    @GwtCompatible
    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>, T)` and `getInstance(java.lang.Class<T>)` 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.

See the Guava User Guide article on `ClassToInstanceMap`.

To map a generic type to an instance of that type, use `TypeToInstanceMap` instead.

Since:
  2.0 (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.

Copyright © 2010-2012. All Rights Reserved.