org.springframework.beans.factory.parsing
Class CompositeComponentDefinition

java.lang.Object
  extended by org.springframework.beans.factory.parsing.AbstractComponentDefinition
      extended by org.springframework.beans.factory.parsing.CompositeComponentDefinition
All Implemented Interfaces:
BeanMetadataElement, ComponentDefinition
Direct Known Subclasses:
AspectComponentDefinition

public class CompositeComponentDefinition
extends AbstractComponentDefinition

ComponentDefinition implementation that holds one or more nested ComponentDefinition instances, aggregating them into a named group of components.

Since:
2.0.1
Author:
Juergen Hoeller
See Also:
getNestedComponents()

Field Summary
private  java.lang.String name
           
private  java.util.List<ComponentDefinition> nestedComponents
           
private  java.lang.Object source
           
 
Constructor Summary
CompositeComponentDefinition(java.lang.String name, java.lang.Object source)
          Create a new CompositeComponentDefinition.
 
Method Summary
 void addNestedComponent(ComponentDefinition component)
          Add the given component as nested element of this composite component.
 java.lang.String getName()
          Get the user-visible name of this ComponentDefinition.
 ComponentDefinition[] getNestedComponents()
          Return the nested components that this composite component holds.
 java.lang.Object getSource()
          Return the configuration source Object for this metadata element (may be null).
 
Methods inherited from class org.springframework.beans.factory.parsing.AbstractComponentDefinition
getBeanDefinitions, getBeanReferences, getDescription, getInnerBeanDefinitions, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

private final java.lang.String name

source

private final java.lang.Object source

nestedComponents

private final java.util.List<ComponentDefinition> nestedComponents
Constructor Detail

CompositeComponentDefinition

public CompositeComponentDefinition(java.lang.String name,
                                    java.lang.Object source)
Create a new CompositeComponentDefinition.

Parameters:
name - the name of the composite component
source - the source element that defines the root of the composite component
Method Detail

getName

public java.lang.String getName()
Description copied from interface: ComponentDefinition
Get the user-visible name of this ComponentDefinition.

This should link back directly to the corresponding configuration data for this component in a given context.


getSource

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


addNestedComponent

public void addNestedComponent(ComponentDefinition component)
Add the given component as nested element of this composite component.

Parameters:
component - the nested component to add

getNestedComponents

public ComponentDefinition[] getNestedComponents()
Return the nested components that this composite component holds.

Returns:
the array of nested components, or an empty array if none