Interface ClassToInstanceMap<B extends @Nullable Object>

Type Parameters:
B - the common supertype that all values will share. When in doubt, just use Object, or use @Nullable Object to allow null values.
All Superinterfaces:
Map<Class<? extends @NonNull B>,B>
All Known Implementing Classes:
ImmutableClassToInstanceMap, MutableClassToInstanceMap

@DoNotMock("Use ImmutableClassToInstanceMap or MutableClassToInstanceMap") @GwtCompatible public interface ClassToInstanceMap<B extends @Nullable Object> extends Map<Class<? extends @NonNull 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.

Implementations

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

See the Guava User Guide article on ClassToInstanceMap.

Since:
2.0
  • Method Details

    • getInstance

      <T extends @NonNull B> @Nullable 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

      @CanIgnoreReturnValue <T extends B> @Nullable T putInstance(Class<@NonNull T> type, 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.