org.springframework.beans.factory.support

Class ManagedMap<K,V>

  • java.lang.Object
    • java.util.AbstractMap<K,V>
      • java.util.HashMap<K,V>
        • java.util.LinkedHashMap<K,V>
          • org.springframework.beans.factory.support.ManagedMap<K,V>
  • Type Parameters:
    K - the key type
    V - the value type
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, java.util.Map<K,V>, BeanMetadataElement, Mergeable


    public class ManagedMap<K,V>
    extends java.util.LinkedHashMap<K,V>
    implements Mergeable, BeanMetadataElement
    Tag collection class used to hold managed Map values, which may include runtime bean references (to be resolved into bean objects).
    Since:
    27.05.2003
    Author:
    Juergen Hoeller, Rob Harrop
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class java.util.AbstractMap

        java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V>
    • Constructor Summary

      Constructors 
      Constructor and Description
      ManagedMap() 
      ManagedMap(int initialCapacity) 
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      java.lang.String getKeyTypeName()
      Return the default key type name (class name) to be used for this map.
      java.lang.Object getSource()
      Return the configuration source Object for this metadata element (may be null).
      java.lang.String getValueTypeName()
      Return the default value type name (class name) to be used for this map.
      boolean isMergeEnabled()
      Is merging enabled for this particular instance?
      java.lang.Object merge(java.lang.Object parent)
      Merge the current value set with that of the supplied object.
      void setKeyTypeName(java.lang.String keyTypeName)
      Set the default key type name (class name) to be used for this map.
      void setMergeEnabled(boolean mergeEnabled)
      Set whether merging should be enabled for this collection, in case of a 'parent' collection value being present.
      void setSource(java.lang.Object source)
      Set the configuration source Object for this metadata element.
      void setValueTypeName(java.lang.String valueTypeName)
      Set the default value type name (class name) to be used for this map.
      • Methods inherited from class java.util.LinkedHashMap

        clear, containsValue, entrySet, forEach, get, getOrDefault, keySet, removeEldestEntry, replaceAll, values
      • Methods inherited from class java.util.HashMap

        clone, compute, computeIfAbsent, computeIfPresent, containsKey, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
      • Methods inherited from class java.util.AbstractMap

        equals, hashCode, toString
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Map

        compute, computeIfAbsent, computeIfPresent, containsKey, equals, hashCode, isEmpty, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, size
    • Constructor Detail

      • ManagedMap

        public ManagedMap()
      • ManagedMap

        public ManagedMap(int initialCapacity)
    • Method Detail

      • setSource

        public void setSource(@Nullable
                              java.lang.Object source)
        Set the configuration source Object for this metadata element.

        The exact type of the object will depend on the configuration mechanism used.

      • setKeyTypeName

        public void setKeyTypeName(@Nullable
                                   java.lang.String keyTypeName)
        Set the default key type name (class name) to be used for this map.
      • getKeyTypeName

        @Nullable
        public java.lang.String getKeyTypeName()
        Return the default key type name (class name) to be used for this map.
      • setValueTypeName

        public void setValueTypeName(@Nullable
                                     java.lang.String valueTypeName)
        Set the default value type name (class name) to be used for this map.
      • getValueTypeName

        @Nullable
        public java.lang.String getValueTypeName()
        Return the default value type name (class name) to be used for this map.
      • setMergeEnabled

        public void setMergeEnabled(boolean mergeEnabled)
        Set whether merging should be enabled for this collection, in case of a 'parent' collection value being present.
      • isMergeEnabled

        public boolean isMergeEnabled()
        Description copied from interface: Mergeable
        Is merging enabled for this particular instance?
        Specified by:
        isMergeEnabled in interface Mergeable
      • merge

        public java.lang.Object merge(@Nullable
                                      java.lang.Object parent)
        Description copied from interface: Mergeable
        Merge the current value set with that of the supplied object.

        The supplied object is considered the parent, and values in the callee's value set must override those of the supplied object.

        Specified by:
        merge in interface Mergeable
        Parameters:
        parent - the object to merge with
        Returns:
        the result of the merge operation