站内搜索: 请输入搜索关键词
当前页面: 在线文档首页 > Spring Framework 2.1.0 API 文档英文版

ConstructorArgumentValues (Spring Framework API 2.1) - Spring Framework 2.1.0 API 文档英文版


The Spring Framework

org.springframework.beans.factory.config
Class ConstructorArgumentValues

java.lang.Object
  extended by org.springframework.beans.factory.config.ConstructorArgumentValues

public class ConstructorArgumentValues
extends Object

Holder for constructor argument values, typically as part of a bean definition.

Supports values for a specific index in the constructor argument list as well as for generic argument matches by type.

Since:
09.11.2003
Author:
Juergen Hoeller
See Also:
BeanDefinition.getConstructorArgumentValues()

Nested Class Summary
static class ConstructorArgumentValues.ValueHolder
          Holder for a constructor argument value, with an optional type attribute indicating the target type of the actual constructor argument.
 
Constructor Summary
ConstructorArgumentValues()
          Create a new empty ConstructorArgumentValues object.
ConstructorArgumentValues(ConstructorArgumentValues original)
          Deep copy constructor.
 
Method Summary
 void addArgumentValues(ConstructorArgumentValues other)
          Copy all given argument values into this object, using separate holder instances to keep the values independent from the original object.
 void addGenericArgumentValue(ConstructorArgumentValues.ValueHolder newValue)
          Add generic argument value to be matched by type.
 void addGenericArgumentValue(Object value)
          Add generic argument value to be matched by type.
 void addGenericArgumentValue(Object value, String type)
          Add generic argument value to be matched by type.
 void addIndexedArgumentValue(int index, ConstructorArgumentValues.ValueHolder newValue)
          Add argument value for the given index in the constructor argument list.
 void addIndexedArgumentValue(int index, Object value)
          Add argument value for the given index in the constructor argument list.
 void addIndexedArgumentValue(int index, Object value, String type)
          Add argument value for the given index in the constructor argument list.
 void clear()
          Clear this holder, removing all argument values.
 boolean equals(Object other)
           
 int getArgumentCount()
          Return the number of argument values held in this instance, counting both indexed and generic argument values.
 ConstructorArgumentValues.ValueHolder getArgumentValue(int index, Class requiredType)
          Look for an argument value that either corresponds to the given index in the constructor argument list or generically matches by type.
 ConstructorArgumentValues.ValueHolder getArgumentValue(int index, Class requiredType, Set usedValueHolders)
          Look for an argument value that either corresponds to the given index in the constructor argument list or generically matches by type.
 ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType)
          Look for a generic argument value that matches the given type.
 ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType, Set usedValueHolders)
          Look for the next generic argument value that matches the given type, ignoring argument values that have already been used in the current resolution process.
 List getGenericArgumentValues()
          Return the list of generic argument values.
 ConstructorArgumentValues.ValueHolder getIndexedArgumentValue(int index, Class requiredType)
          Get argument value for the given index in the constructor argument list.
 Map getIndexedArgumentValues()
          Return the map of indexed argument values.
 int hashCode()
           
 boolean isEmpty()
          Return if this holder does not contain any argument values, neither indexed ones nor generic ones.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ConstructorArgumentValues

public ConstructorArgumentValues()
Create a new empty ConstructorArgumentValues object.


ConstructorArgumentValues

public ConstructorArgumentValues(ConstructorArgumentValues original)
Deep copy constructor.

Parameters:
original - the ConstructorArgumentValues to copy
Method Detail

addArgumentValues

public void addArgumentValues(ConstructorArgumentValues other)
Copy all given argument values into this object, using separate holder instances to keep the values independent from the original object.

Note: Identical ValueHolder instances will only be registered once, to allow for merging and re-merging of argument value definitions. Distinct ValueHolder instances carrying the same content are of course allowed.


addIndexedArgumentValue

public void addIndexedArgumentValue(int index,
                                    Object value)
Add argument value for the given index in the constructor argument list.

Parameters:
index - the index in the constructor argument list
value - the argument value

addIndexedArgumentValue

public void addIndexedArgumentValue(int index,
                                    Object value,
                                    String type)
Add argument value for the given index in the constructor argument list.

Parameters:
index - the index in the constructor argument list
value - the argument value
type - the type of the constructor argument

addIndexedArgumentValue

public void addIndexedArgumentValue(int index,
                                    ConstructorArgumentValues.ValueHolder newValue)
Add argument value for the given index in the constructor argument list.

Parameters:
index - the index in the constructor argument list
newValue - the argument value in the form of a ValueHolder

getIndexedArgumentValue

public ConstructorArgumentValues.ValueHolder getIndexedArgumentValue(int index,
                                                                     Class requiredType)
Get argument value for the given index in the constructor argument list.

Parameters:
index - the index in the constructor argument list
requiredType - the type to match (can be null to match untyped values only)
Returns:
the ValueHolder for the argument, or null if none set

getIndexedArgumentValues

public Map getIndexedArgumentValues()
Return the map of indexed argument values.

Returns:
unmodifiable Map with Integer index as key and ValueHolder as value
See Also:
ConstructorArgumentValues.ValueHolder

addGenericArgumentValue

public void addGenericArgumentValue(Object value)
Add generic argument value to be matched by type.

Note: A single generic argument value will just be used once, rather than matched multiple times (as of Spring 1.1).

Parameters:
value - the argument value

addGenericArgumentValue

public void addGenericArgumentValue(Object value,
                                    String type)
Add generic argument value to be matched by type.

Note: A single generic argument value will just be used once, rather than matched multiple times (as of Spring 1.1).

Parameters:
value - the argument value
type - the type of the constructor argument

addGenericArgumentValue

public void addGenericArgumentValue(ConstructorArgumentValues.ValueHolder newValue)
Add generic argument value to be matched by type.

Note: A single generic argument value will just be used once, rather than matched multiple times (as of Spring 1.1).

Parameters:
newValue - the argument value in the form of a ValueHolder

Note: Identical ValueHolder instances will only be registered once, to allow for merging and re-merging of argument value definitions. Distinct ValueHolder instances carrying the same content are of course allowed.


getGenericArgumentValue

public ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType)
Look for a generic argument value that matches the given type.

Parameters:
requiredType - the type to match (can be null to find an arbitrary next generic argument value)
Returns:
the ValueHolder for the argument, or null if none set

getGenericArgumentValue

public ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType,
                                                                     Set usedValueHolders)
Look for the next generic argument value that matches the given type, ignoring argument values that have already been used in the current resolution process.

Parameters:
requiredType - the type to match (can be null to find an arbitrary next generic argument value)
usedValueHolders - a Set of ValueHolder objects that have already been used in the current resolution process and should therefore not be returned again
Returns:
the ValueHolder for the argument, or null if none found

getGenericArgumentValues

public List getGenericArgumentValues()
Return the list of generic argument values.

Returns:
unmodifiable List of ValueHolders
See Also:
ConstructorArgumentValues.ValueHolder

getArgumentValue

public ConstructorArgumentValues.ValueHolder getArgumentValue(int index,
                                                              Class requiredType)
Look for an argument value that either corresponds to the given index in the constructor argument list or generically matches by type.

Parameters:
index - the index in the constructor argument list
requiredType - the type to match
Returns:
the ValueHolder for the argument, or null if none set

getArgumentValue

public ConstructorArgumentValues.ValueHolder getArgumentValue(int index,
                                                              Class requiredType,
                                                              Set usedValueHolders)
Look for an argument value that either corresponds to the given index in the constructor argument list or generically matches by type.

Parameters:
index - the index in the constructor argument list
requiredType - the type to match (can be null to find an untyped argument value)
usedValueHolders - a Set of ValueHolder objects that have already been used in the current resolution process and should therefore not be returned again (allowing to return the next generic argument match in case of multiple generic argument values of the same type)
Returns:
the ValueHolder for the argument, or null if none set

getArgumentCount

public int getArgumentCount()
Return the number of argument values held in this instance, counting both indexed and generic argument values.


isEmpty

public boolean isEmpty()
Return if this holder does not contain any argument values, neither indexed ones nor generic ones.


clear

public void clear()
Clear this holder, removing all argument values.


equals

public boolean equals(Object other)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

The Spring Framework

Copyright © 2002-2007 The Spring Framework.