Class MutableClassToInstanceMap<B>

    • 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 Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      static <B> MutableClassToInstanceMap<B> create()
      Returns a new MutableClassToInstanceMap instance backed by a HashMap using the default initial capacity and load factor.
      static <B> MutableClassToInstanceMap<B> create​(java.util.Map<java.lang.Class<? extends B>,​B> backingMap)
      Returns a new MutableClassToInstanceMap instance backed by a given empty backingMap.
      java.util.Set<java.util.Map.Entry<K,​V>> entrySet()  
      <T extends 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.
      V put​(K key, V value)  
      void putAll​(java.util.Map<? extends K,​? extends V> map)  
      <T extends B>
      T
      putInstance​(java.lang.Class<T> type, T value)
      Maps the specified class to the specified value.
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
      • 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

      • create

        public static <B> MutableClassToInstanceMap<B> create()
        Returns a new MutableClassToInstanceMap instance backed by a HashMap using the default initial capacity and load factor.
      • create

        public static <B> MutableClassToInstanceMap<B> create​(java.util.Map<java.lang.Class<? extends B>,​B> backingMap)
        Returns a new MutableClassToInstanceMap instance backed by a given empty backingMap. The caller surrenders control of the backing map, and thus should not allow any direct references to it to remain accessible.
      • putInstance

        public <T extends B> T putInstance​(java.lang.Class<T> type,
                                           T value)
        Description copied from interface: ClassToInstanceMap
        Maps the specified class to the specified value. Does not associate this value with any of the class's supertypes.
        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.
      • getInstance

        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>
      • entrySet

        public java.util.Set<java.util.Map.Entry<K,​V>> entrySet()
        Specified by:
        entrySet in interface java.util.Map<K,​V>
        Overrides:
        entrySet in class ForwardingMap<K,​V>
      • put

        public V put​(K key,
                     V value)
        Specified by:
        put in interface java.util.Map<K,​V>
        Overrides:
        put in class ForwardingMap<K,​V>
      • putAll

        public void putAll​(java.util.Map<? extends K,​? extends V> map)
        Specified by:
        putAll in interface java.util.Map<K,​V>
        Overrides:
        putAll in class ForwardingMap<K,​V>