Package org.springframework.beans
Class PropertyValue
- java.lang.Object
- org.springframework.core.AttributeAccessorSupport
- org.springframework.beans.BeanMetadataAttributeAccessor
- org.springframework.beans.PropertyValue
- All Implemented Interfaces:
Serializable
,BeanMetadataElement
,AttributeAccessor
public class PropertyValue extends BeanMetadataAttributeAccessor implements Serializable
Object to hold information and value for an individual bean property. Using an object here, rather than just storing all properties in a map keyed by property name, allows for more flexibility, and the ability to handle indexed properties etc in an optimized way.Note that the value doesn't need to be the final required type: A
BeanWrapper
implementation should handle any necessary conversion, as this object doesn't know anything about the objects it will be applied to.- Since:
- 13 May 2001
- Author:
- Rod Johnson, Rob Harrop, Juergen Hoeller
- See Also:
PropertyValues
,BeanWrapper
, Serialized Form
Constructor Summary
Constructors Constructor Description PropertyValue(String name, Object value)
Create a new PropertyValue instance.PropertyValue(PropertyValue original)
Copy constructor.PropertyValue(PropertyValue original, Object newValue)
Constructor that exposes a new value for an original value holder.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
Object
getConvertedValue()
Return the converted value of this property value, after processed type conversion.String
getName()
Return the name of the property.PropertyValue
getOriginalPropertyValue()
Return the original PropertyValue instance for this value holder.Object
getValue()
Return the value of the property.int
hashCode()
boolean
isConverted()
Return whether this holder contains a converted value already (true
), or whether the value still needs to be converted (false
).boolean
isOptional()
Return whether this is an optional value, that is, to be ignored when no corresponding property exists on the target class.void
setConvertedValue(Object value)
Set the converted value of this property value, after processed type conversion.void
setOptional(boolean optional)
Set whether this is an optional value, that is, to be ignored when no corresponding property exists on the target class.String
toString()
Methods inherited from class org.springframework.beans.BeanMetadataAttributeAccessor
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
Methods inherited from class org.springframework.core.AttributeAccessorSupport
attributeNames, copyAttributesFrom, hasAttribute
Constructor Detail
PropertyValue
public PropertyValue(String name, @Nullable Object value)
Create a new PropertyValue instance.- Parameters:
name
- the name of the property (nevernull
)value
- the value of the property (possibly before type conversion)
PropertyValue
public PropertyValue(PropertyValue original)
Copy constructor.- Parameters:
original
- the PropertyValue to copy (nevernull
)
PropertyValue
public PropertyValue(PropertyValue original, @Nullable Object newValue)
Constructor that exposes a new value for an original value holder. The original holder will be exposed as source of the new holder.- Parameters:
original
- the PropertyValue to link to (nevernull
)newValue
- the new value to apply
Method Detail
getValue
@Nullable public Object getValue()
Return the value of the property.Note that type conversion will not have occurred here. It is the responsibility of the BeanWrapper implementation to perform type conversion.
getOriginalPropertyValue
public PropertyValue getOriginalPropertyValue()
Return the original PropertyValue instance for this value holder.- Returns:
- the original PropertyValue (either a source of this value holder or this value holder itself).
setOptional
public void setOptional(boolean optional)
Set whether this is an optional value, that is, to be ignored when no corresponding property exists on the target class.- Since:
- 3.0
isOptional
public boolean isOptional()
Return whether this is an optional value, that is, to be ignored when no corresponding property exists on the target class.- Since:
- 3.0
isConverted
public boolean isConverted()
Return whether this holder contains a converted value already (true
), or whether the value still needs to be converted (false
).
setConvertedValue
public void setConvertedValue(@Nullable Object value)
Set the converted value of this property value, after processed type conversion.
getConvertedValue
@Nullable public Object getConvertedValue()
Return the converted value of this property value, after processed type conversion.
equals
public boolean equals(@Nullable Object other)
- Overrides:
equals
in classAttributeAccessorSupport
hashCode
public int hashCode()
- Overrides:
hashCode
in classAttributeAccessorSupport