org.apache.xbean.blueprint.context.impl
Class NamedConstructorArgs

java.lang.Object
  extended by org.apache.xbean.blueprint.context.impl.NamedConstructorArgs

public class NamedConstructorArgs
extends Object

NamedConstructorArgs is a BeanFactoryPostProcessor that converts property declarations into indexed constructor args based on the the constructor parameter names annotation. This process first selects a constructor and then fills in the constructor arguments from the properties defined in the bean definition. If a property is not defined in the bean definition, first the defaultValues map is checked for a value and if a value is not present a Java default value is provided for the constructor argument (e.g. numbers are assigned 0 and objects are assigned null).

Since:
2.0
Version:
$Id$
Author:
Dain Sundstrom

Constructor Summary
NamedConstructorArgs()
           
 
Method Summary
 void addDefaultValue(String name, Class type, String value)
          Adds a default value for a property with the specified name and type.
 List<DefaultProperty> getDefaultValues()
          Gets the default values that are assigned to constructor arguments without a defined value.
 void processParameters(org.apache.aries.blueprint.mutable.MutableBeanMetadata beanMetadata, MappingMetaData metadata, org.apache.aries.blueprint.ParserContext parserContext)
           
 void setDefaultValues(List<DefaultProperty> defaultValues)
          Sets the default values that are assigned to constructor arguments without a defined value.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NamedConstructorArgs

public NamedConstructorArgs()
Method Detail

getDefaultValues

public List<DefaultProperty> getDefaultValues()
Gets the default values that are assigned to constructor arguments without a defined value.

Returns:
the default values that are assigned to constructor arguments without a defined value

setDefaultValues

public void setDefaultValues(List<DefaultProperty> defaultValues)
Sets the default values that are assigned to constructor arguments without a defined value.

Parameters:
defaultValues - the values that are assigned to constructor arguments without a defined value

addDefaultValue

public void addDefaultValue(String name,
                            Class type,
                            String value)
Adds a default value for a property with the specified name and type.

Parameters:
name - the name of the property
type - the type of the property
value - the default value for a property with the specified name and type

processParameters

public void processParameters(org.apache.aries.blueprint.mutable.MutableBeanMetadata beanMetadata,
                              MappingMetaData metadata,
                              org.apache.aries.blueprint.ParserContext parserContext)


Copyright © 2005-2012. All Rights Reserved.