public class

ConstructorArgumentValues

extends Object
java.lang.Object
   ↳ org.springframework.beans.factory.config.ConstructorArgumentValues

Class Overview

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.

Summary

Nested Classes
class ConstructorArgumentValues.ValueHolder Holder for a constructor argument value, with an optional type attribute indicating the target type of the actual constructor argument. 
Public Constructors
ConstructorArgumentValues()
Create a new empty ConstructorArgumentValues object.
ConstructorArgumentValues(ConstructorArgumentValues original)
Deep copy constructor.
Public Methods
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(Object value)
Add a generic argument value to be matched by type.
void addGenericArgumentValue(ConstructorArgumentValues.ValueHolder newValue)
Add a generic argument value to be matched by type or name (if available).
void addGenericArgumentValue(Object value, String type)
Add a generic argument value to be matched by type.
void addIndexedArgumentValue(int index, Object value)
Add an argument value for the given index in the constructor argument list.
void addIndexedArgumentValue(int index, Object value, String type)
Add an argument value for the given index in the constructor argument list.
void addIndexedArgumentValue(int index, ConstructorArgumentValues.ValueHolder newValue)
Add an 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, String requiredName, Set<ConstructorArgumentValues.ValueHolder> 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 getArgumentValue(int index, Class requiredType, String requiredName)
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, String requiredName)
Look for a generic argument value that matches the given type.
ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType)
Look for a generic argument value that matches the given type.
ConstructorArgumentValues.ValueHolder getGenericArgumentValue(Class requiredType, String requiredName, Set<ConstructorArgumentValues.ValueHolder> 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<ConstructorArgumentValues.ValueHolder> getGenericArgumentValues()
Return the list of generic argument values.
ConstructorArgumentValues.ValueHolder getIndexedArgumentValue(int index, Class requiredType, String requiredName)
Get argument value for the given index in the constructor argument list.
ConstructorArgumentValues.ValueHolder getIndexedArgumentValue(int index, Class requiredType)
Get argument value for the given index in the constructor argument list.
Map<IntegerConstructorArgumentValues.ValueHolder> getIndexedArgumentValues()
Return the map of indexed argument values.
boolean hasIndexedArgumentValue(int index)
Check whether an argument value has been registered for the given index.
int hashCode()
boolean isEmpty()
Return if this holder does not contain any argument values, neither indexed ones nor generic ones.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public ConstructorArgumentValues ()

Also: SpringBeans

Create a new empty ConstructorArgumentValues object.

public ConstructorArgumentValues (ConstructorArgumentValues original)

Also: SpringBeans

Deep copy constructor.

Parameters
original the ConstructorArgumentValues to copy

Public Methods

public void addArgumentValues (ConstructorArgumentValues other)

Also: SpringBeans

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.

public void addGenericArgumentValue (Object value)

Also: SpringBeans

Add a generic argument value to be matched by type.

Note: A single generic argument value will just be used once, rather than matched multiple times.

Parameters
value the argument value

public void addGenericArgumentValue (ConstructorArgumentValues.ValueHolder newValue)

Also: SpringBeans

Add a generic argument value to be matched by type or name (if available).

Note: A single generic argument value will just be used once, rather than matched multiple times.

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.

public void addGenericArgumentValue (Object value, String type)

Also: SpringBeans

Add a generic argument value to be matched by type.

Note: A single generic argument value will just be used once, rather than matched multiple times.

Parameters
value the argument value
type the type of the constructor argument

public void addIndexedArgumentValue (int index, Object value)

Also: SpringBeans

Add an argument value for the given index in the constructor argument list.

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

public void addIndexedArgumentValue (int index, Object value, String type)

Also: SpringBeans

Add an 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

public void addIndexedArgumentValue (int index, ConstructorArgumentValues.ValueHolder newValue)

Also: SpringBeans

Add an 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

public void clear ()

Also: SpringBeans

Clear this holder, removing all argument values.

public boolean equals (Object other)

public int getArgumentCount ()

Also: SpringBeans

Return the number of argument values held in this instance, counting both indexed and generic argument values.

public ConstructorArgumentValues.ValueHolder getArgumentValue (int index, Class requiredType)

Also: SpringBeans

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

public ConstructorArgumentValues.ValueHolder getArgumentValue (int index, Class requiredType, String requiredName, Set<ConstructorArgumentValues.ValueHolder> usedValueHolders)

Also: SpringBeans

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

public ConstructorArgumentValues.ValueHolder getArgumentValue (int index, Class requiredType, String requiredName)

Also: SpringBeans

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
requiredName the name to match
Returns
  • the ValueHolder for the argument, or null if none set

public ConstructorArgumentValues.ValueHolder getGenericArgumentValue (Class requiredType, String requiredName)

Also: SpringBeans

Look for a generic argument value that matches the given type.

Parameters
requiredType the type to match
requiredName the name to match
Returns
  • the ValueHolder for the argument, or null if none set

public ConstructorArgumentValues.ValueHolder getGenericArgumentValue (Class requiredType)

Also: SpringBeans

Look for a generic argument value that matches the given type.

Parameters
requiredType the type to match
Returns
  • the ValueHolder for the argument, or null if none set

public ConstructorArgumentValues.ValueHolder getGenericArgumentValue (Class requiredType, String requiredName, Set<ConstructorArgumentValues.ValueHolder> usedValueHolders)

Also: SpringBeans

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)
requiredName the name to match (can be null to not match argument values by name)
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

public List<ConstructorArgumentValues.ValueHolder> getGenericArgumentValues ()

Also: SpringBeans

Return the list of generic argument values.

Returns
  • unmodifiable List of ValueHolders

public ConstructorArgumentValues.ValueHolder getIndexedArgumentValue (int index, Class requiredType, String requiredName)

Also: SpringBeans

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)
requiredName the type to match (can be null to match unnamed values only)
Returns
  • the ValueHolder for the argument, or null if none set

public ConstructorArgumentValues.ValueHolder getIndexedArgumentValue (int index, Class requiredType)

Also: SpringBeans

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

public Map<IntegerConstructorArgumentValues.ValueHolder> getIndexedArgumentValues ()

Also: SpringBeans

Return the map of indexed argument values.

Returns
  • unmodifiable Map with Integer index as key and ValueHolder as value

public boolean hasIndexedArgumentValue (int index)

Also: SpringBeans

Check whether an argument value has been registered for the given index.

Parameters
index the index in the constructor argument list

public int hashCode ()

public boolean isEmpty ()

Also: SpringBeans

Return if this holder does not contain any argument values, neither indexed ones nor generic ones.