org.springframework.beans.factory.support
Class ManagedList<E>

java.lang.Object
  extended by java.util.AbstractCollection<E>
      extended by java.util.AbstractList<E>
          extended by java.util.ArrayList<E>
              extended by org.springframework.beans.factory.support.ManagedList<E>
All Implemented Interfaces:
Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess, BeanMetadataElement, Mergeable
Direct Known Subclasses:
ManagedArray

public class ManagedList<E>
extends ArrayList<E>
implements Mergeable, BeanMetadataElement

Tag collection class used to hold managed List elements, which may include runtime bean references (to be resolved into bean objects).

Since:
27.05.2003
Author:
Rod Johnson, Rob Harrop, Juergen Hoeller
See Also:
Serialized Form

Field Summary
 
Fields inherited from class java.util.AbstractList
modCount
 
Constructor Summary
ManagedList()
           
ManagedList(int initialCapacity)
           
 
Method Summary
 String getElementTypeName()
          Return the default element type name (class name) to be used for this list.
 Object getSource()
          Return the configuration source Object for this metadata element (may be null).
 boolean isMergeEnabled()
          Is merging enabled for this particular instance?
 List<E> merge(Object parent)
          Merge the current value set with that of the supplied object.
 void setElementTypeName(String elementTypeName)
          Set the default element type name (class name) to be used for this list.
 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.
 
Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, get, indexOf, isEmpty, lastIndexOf, remove, remove, removeRange, set, size, toArray, toArray, trimToSize
 
Methods inherited from class java.util.AbstractList
equals, hashCode, iterator, listIterator, listIterator, subList
 
Methods inherited from class java.util.AbstractCollection
containsAll, removeAll, retainAll, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
containsAll, equals, hashCode, iterator, listIterator, listIterator, removeAll, retainAll, subList
 

Constructor Detail

ManagedList

public ManagedList()

ManagedList

public ManagedList(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

setElementTypeName

public void setElementTypeName(String elementTypeName)
Set the default element type name (class name) to be used for this list.


getElementTypeName

public String getElementTypeName()
Return the default element type name (class name) to be used for this list.


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 List<E> 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