org.springframework.beans.factory.config

## Class TypedStringValue

- java.lang.Object
- - org.springframework.beans.factory.config.TypedStringValue

All Implemented Interfaces:
  BeanMetadataElement

    public class TypedStringValue
    extends Object
    implements BeanMetadataElement

Holder for a typed String value. Can be added to bean definitions in order to explicitly specify a target type for a String value, for example for collection elements.

This holder will just store the String value and the target type. The actual conversion will be performed by the bean factory.

Since:
  1.2
Author:
  Juergen Hoeller
See Also:
  `BeanDefinition.getPropertyValues()`, `MutablePropertyValues.addPropertyValue(org.springframework.beans.PropertyValue)`

### Constructor Summary

Constructors
Constructor and Description
`TypedStringValue(String value)` Create a new `TypedStringValue` for the given String value.
`TypedStringValue(String value, Class targetType)` Create a new `TypedStringValue` for the given String value and target type.
`TypedStringValue(String value, String targetTypeName)` Create a new `TypedStringValue` for the given String value and target type.

### Method Summary

Methods
`boolean` `equals(Object other)`
`Object` `getSource()` Return the configuration source `Object` for this metadata element (may be `null`).
`String` `getSpecifiedTypeName()` Return the type name as actually specified for this particular value, if any.
`Class` `getTargetType()` Return the type to convert to.
`String` `getTargetTypeName()` Return the type to convert to.
`String` `getValue()` Return the String value.
`int` `hashCode()`
`boolean` `hasTargetType()` Return whether this typed String value carries a target type .
`boolean` `isDynamic()` Return whether this value has been marked as dynamic.
`Class` `resolveTargetType(ClassLoader classLoader)` Determine the type to convert to, resolving it from a specified class name if necessary.
`void` `setDynamic()` Mark this value as dynamic, i.e.
`void` `setSource(Object source)` Set the configuration source `Object` for this metadata element.
`void` `setSpecifiedTypeName(String specifiedTypeName)` Set the type name as actually specified for this particular value, if any.
`void` `setTargetType(Class targetType)` Set the type to convert to.
`void` `setTargetTypeName(String targetTypeName)` Specify the type to convert to.
`void` `setValue(String value)` Set the String value.
`String` `toString()`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### TypedStringValue

    public TypedStringValue(String value)

Create a new `TypedStringValue` for the given String value.

Parameters:
  `value` - the String value

#### TypedStringValue

    public TypedStringValue(String value,
                    Class targetType)

Create a new `TypedStringValue` for the given String value and target type.

Parameters:
  `value` - the String value
  `targetType` - the type to convert to

#### TypedStringValue

    public TypedStringValue(String value,
                    String targetTypeName)

Create a new `TypedStringValue` for the given String value and target type.

Parameters:
  `value` - the String value
  `targetTypeName` - the type to convert to

### Method Detail

#### setValue

    public void setValue(String value)

Set the String value.

Only necessary for manipulating a registered value, for example in BeanFactoryPostProcessors.

See Also:
  `PropertyPlaceholderConfigurer`

#### getValue

    public String getValue()

Return the String value.

#### setTargetType

    public void setTargetType(Class targetType)

Set the type to convert to.

Only necessary for manipulating a registered value, for example in BeanFactoryPostProcessors.

See Also:
  `PropertyPlaceholderConfigurer`

#### getTargetType

    public Class getTargetType()

Return the type to convert to.

#### setTargetTypeName

    public void setTargetTypeName(String targetTypeName)

Specify the type to convert to.

#### getTargetTypeName

    public String getTargetTypeName()

Return the type to convert to.

#### hasTargetType

    public boolean hasTargetType()

Return whether this typed String value carries a target type .

#### resolveTargetType

    public Class resolveTargetType(ClassLoader classLoader)
                            throws ClassNotFoundException

Determine the type to convert to, resolving it from a specified class name if necessary. Will also reload a specified Class from its name when called with the target type already resolved.

Parameters:
  `classLoader` - the ClassLoader to use for resolving a (potential) class name
Returns:
  the resolved type to convert to
Throws:
  `ClassNotFoundException` - if the type cannot be resolved

#### 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`

#### setSpecifiedTypeName

    public void setSpecifiedTypeName(String specifiedTypeName)

Set the type name as actually specified for this particular value, if any.

#### getSpecifiedTypeName

    public String getSpecifiedTypeName()

Return the type name as actually specified for this particular value, if any.

#### setDynamic

    public void setDynamic()

Mark this value as dynamic, i.e. as containing an expression and hence not being subject to caching.

#### isDynamic

    public boolean isDynamic()

Return whether this value has been marked as dynamic.

#### equals

    public boolean equals(Object other)

Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `Object`

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`