Class ImmutableTypeToInstanceMap<B>

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

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

  • Constructor Details

  • Method Details

    • of

      public static <B> ImmutableTypeToInstanceMap<B> of()
      Returns an empty type to instance map.
    • builder

      public static <B> ImmutableTypeToInstanceMap.Builder<B> builder()
      Returns a new builder.
    • 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>
    • 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>
    • putInstance

      @Deprecated @CheckForNull public <T extends B> T putInstance(TypeToken<T> type, T value)
      Deprecated.
      unsupported operation
      Guaranteed to throw an exception and leave the map unmodified.
      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.
      Throws:
      UnsupportedOperationException - always
    • putInstance

      @Deprecated @CheckForNull public <T extends B> T putInstance(Class<T> type, T value)
      Deprecated.
      unsupported operation
      Guaranteed to throw an exception and leave the map unmodified.
      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.
      Throws:
      UnsupportedOperationException - always
    • put

      @Deprecated @CheckForNull public B put(TypeToken<? extends B> key, B value)
      Deprecated.
      unsupported operation
      Guaranteed to throw an exception and leave the map unmodified.
      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
      Guaranteed to throw an exception and leave the map unmodified.
      Specified by:
      putAll in interface Map<TypeToken<? extends B>,B>
      Overrides:
      putAll in class ForwardingMap<TypeToken<? extends B>,B>
      Throws:
      UnsupportedOperationException - always
    • 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>
    • trustedGet

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