Class ImmutableTypeToInstanceMap<B>

java.lang.Object
dev.mccue.guava.collect.ForwardingObject
dev.mccue.guava.collect.ForwardingMap<TypeToken<? extends B>,B>
dev.mccue.guava.reflect.ImmutableTypeToInstanceMap<B>
All Implemented Interfaces:
TypeToInstanceMap<B>, Map<TypeToken<? extends B>,B>

public final class ImmutableTypeToInstanceMap<B> extends dev.mccue.guava.collect.ForwardingMap<TypeToken<? extends B>,B> implements TypeToInstanceMap<B>
A type-to-instance map backed by an ImmutableMap. See also MutableTypeToInstanceMap.
Since:
13.0
Author:
Ben Yu
  • 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

      @CanIgnoreReturnValue @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

      @CanIgnoreReturnValue @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

      @CanIgnoreReturnValue @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 dev.mccue.guava.collect.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 dev.mccue.guava.collect.ForwardingMap<TypeToken<? extends B>,B>
      Throws:
      UnsupportedOperationException - always
    • delegate

      protected Map<TypeToken<? extends B>,B> delegate()
      Specified by:
      delegate in class dev.mccue.guava.collect.ForwardingMap<TypeToken<? extends B>,B>