org.springframework.beans.factory.support
Class ManagedMap<K,V>

java.lang.Object
  extended by java.util.AbstractMap<K,V>
      extended by java.util.HashMap<K,V>
          extended by java.util.LinkedHashMap<K,V>
              extended by org.springframework.beans.factory.support.ManagedMap<K,V>
All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>, BeanMetadataElement, Mergeable

public class ManagedMap<K,V>
extends 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
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
 
Constructor Summary
ManagedMap()
           
ManagedMap(int initialCapacity)
           
 
Method Summary
 String getKeyTypeName()
          Return the default key type name (class name) to be used for this map.
 Object getSource()
          Return the configuration source Object for this metadata element (may be null).
 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?
 Object merge(Object parent)
          Merge the current value set with that of the supplied object.
 void setKeyTypeName(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(Object source)
          Set the configuration source Object for this metadata element.
 void setValueTypeName(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, get, removeEldestEntry
 
Methods inherited from class java.util.HashMap
clone, containsKey, entrySet, isEmpty, keySet, put, putAll, remove, size, values
 
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
containsKey, entrySet, equals, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Constructor Detail

ManagedMap

public ManagedMap()

ManagedMap

public ManagedMap(int initialCapacity)
Method Detail

setSource

public void setSource(Object source)
Set the configuration source Object for this metadata element.

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


getSource

public Object getSource()
Description copied from interface: BeanMetadataElement
Return the configuration source Object for this metadata element (may be null).

Specified by:
getSource in interface BeanMetadataElement

setKeyTypeName

public void setKeyTypeName(String keyTypeName)
Set the default key type name (class name) to be used for this map.


getKeyTypeName

public String getKeyTypeName()
Return the default key type name (class name) to be used for this map.


setValueTypeName

public void setValueTypeName(String valueTypeName)
Set the default value type name (class name) to be used for this map.


getValueTypeName

public 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 Object merge(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