Class ImmutableClassToInstanceMap<B>

    • Method Detail

      • of

        public static <B> ImmutableClassToInstanceMap<B> of()
        Returns an empty ImmutableClassToInstanceMap.

        Performance note: the instance returned is a singleton.

        Since:
        19.0
      • of

        public static <B,​T extends B> ImmutableClassToInstanceMap<B> of​(java.lang.Class<T> type,
                                                                              T value)
        Returns an ImmutableClassToInstanceMap containing a single entry.
        Since:
        19.0
      • copyOf

        public static <B,​S extends B> ImmutableClassToInstanceMap<B> copyOf​(java.util.Map<? extends java.lang.Class<? extends S>,​? extends S> map)
        Returns an immutable map containing the same entries as map. If map somehow contains entries with duplicate keys (for example, if it is a SortedMap whose comparator is not consistent with equals), the results of this method are undefined.

        Note: Despite what the method name suggests, if map is an ImmutableClassToInstanceMap, no copy will actually be performed.

        Throws:
        java.lang.NullPointerException - if any key or value in map is null
        java.lang.ClassCastException - if any value is not an instance of the type specified by its key
      • delegate

        protected java.util.Map<java.lang.Class<? extends B>,​Bdelegate()
        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<java.lang.Class<? extends @NonNull B>,​B>
      • getInstance

        @CheckForNull
        public <T extends B> T getInstance​(java.lang.Class<T> type)
        Description copied from interface: ClassToInstanceMap
        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.
        Specified by:
        getInstance in interface ClassToInstanceMap<B>
      • putInstance

        @CanIgnoreReturnValue
        @Deprecated
        @CheckForNull
        public <T extends B> T putInstance​(java.lang.Class<T> type,
                                           T value)
        Deprecated.
        Unsupported operation.
        Guaranteed to throw an exception and leave the map unmodified.
        Specified by:
        putInstance in interface ClassToInstanceMap<B>
        Returns:
        the value previously associated with this class (possibly null), or null if there was no previous entry.
        Throws:
        java.lang.UnsupportedOperationException - always