Interface ClassToInstanceMap<B extends @Nullable java.lang.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:
    java.util.Map<java.lang.Class<? extends @NonNull B>,​B>
    All Known Implementing Classes:
    ImmutableClassToInstanceMap, MutableClassToInstanceMap

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

    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
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface java.util.Map

        java.util.Map.Entry<K extends java.lang.Object,​V extends java.lang.Object>
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      <T extends @NonNull B>
      T
      getInstance​(java.lang.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​(java.lang.Class<@NonNull T> type, T value)
      Maps the specified class to the specified value.
      • Methods inherited from interface java.util.Map

        clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
    • Method Detail

      • getInstance

        @CheckForNull
        <T extends @NonNull B> T getInstance​(java.lang.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
        @CheckForNull
        <T extends B> T putInstance​(java.lang.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.