Class MutableTypeToInstanceMap<B>

java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.collect.ForwardingMap<TypeToken<? extends B>,B>
com.google.common.reflect.MutableTypeToInstanceMap<B>
All Implemented Interfaces:
TypeToInstanceMap<B>, Map<TypeToken<? extends B>,B>

public final class MutableTypeToInstanceMap<B> extends ForwardingMap<TypeToken<? extends B>,B> implements TypeToInstanceMap<B>
A mutable type-to-instance map. See also ImmutableTypeToInstanceMap.
Since:
13.0
  • Field Details

  • Constructor Details

    • MutableTypeToInstanceMap

      public MutableTypeToInstanceMap()
  • Method Details

    • getInstance

      @CheckForNull public <T extends B> T getInstance(Class<T> type)
      Description copied from interface: TypeToInstanceMap
      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.

      getInstance(Foo.class) is equivalent to getInstance(TypeToken.of(Foo.class)).

      Specified by:
      getInstance in interface TypeToInstanceMap<B>
    • getInstance

      @CheckForNull public <T extends B> T getInstance(TypeToken<T> type)
      Description copied from interface: TypeToInstanceMap
      Returns the value the specified type is mapped to, or 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.
      Specified by:
      getInstance in interface TypeToInstanceMap<B>
    • putInstance

      @CheckForNull public <T extends B> T putInstance(Class<T> type, T value)
      Description copied from interface: TypeToInstanceMap
      Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.

      putInstance(Foo.class, foo) is equivalent to putInstance(TypeToken.of(Foo.class), foo).

      Specified by:
      putInstance in interface TypeToInstanceMap<B>
      Returns:
      the value previously associated with this class (possibly null), or null if there was no previous entry.
    • putInstance

      @CheckForNull public <T extends B> T putInstance(TypeToken<T> type, T value)
      Description copied from interface: TypeToInstanceMap
      Maps the specified type to the specified value. Does not associate this value with any of the type's supertypes.
      Specified by:
      putInstance in interface TypeToInstanceMap<B>
      Returns:
      the value previously associated with this type (possibly null), or null if there was no previous entry.
    • put

      @Deprecated @CheckForNull public B put(TypeToken<? extends B> key, B value)
      Deprecated.
      unsupported operation
      Not supported. Use putInstance(java.lang.Class<T>, T) instead.
      Specified by:
      put in interface Map<TypeToken<? extends B>,B>
      Overrides:
      put in class ForwardingMap<TypeToken<? extends B>,B>
      Throws:
      UnsupportedOperationException - always
    • putAll

      @Deprecated public void putAll(Map<? extends TypeToken<? extends B>,? extends B> map)
      Deprecated.
      unsupported operation
      Not supported. Use putInstance(java.lang.Class<T>, T) instead.
      Specified by:
      putAll in interface Map<TypeToken<? extends B>,B>
      Overrides:
      putAll in class ForwardingMap<TypeToken<? extends B>,B>
      Throws:
      UnsupportedOperationException - always
    • entrySet

      public Set<Map.Entry<TypeToken<? extends B>,B>> entrySet()
      Specified by:
      entrySet in interface Map<TypeToken<? extends B>,B>
      Overrides:
      entrySet in class ForwardingMap<TypeToken<? extends B>,B>
    • delegate

      protected Map<TypeToken<? extends B>,B> delegate()
      Description copied from class: ForwardingObject
      Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as ForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.
      Specified by:
      delegate in class ForwardingMap<TypeToken<? extends B>,B>
    • trustedPut

      @CheckForNull private <T extends B> T trustedPut(TypeToken<T> type, T value)
    • trustedGet

      @CheckForNull private <T extends B> T trustedGet(TypeToken<T> type)