public class PropertyValue extends BeanMetadataAttributeAccessor implements java.io.Serializable
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.
PropertyValues
,
BeanWrapper
,
Serialized FormModifier and Type | Field and Description |
---|---|
(package private) java.lang.Boolean |
conversionNecessary
Package-visible field that indicates whether conversion is necessary
|
private boolean |
converted |
private java.lang.Object |
convertedValue |
private java.lang.String |
name |
private boolean |
optional |
(package private) java.lang.Object |
resolvedTokens
Package-visible field for caching the resolved property path tokens
|
private java.lang.Object |
value |
Constructor and Description |
---|
PropertyValue(PropertyValue original)
Copy constructor.
|
PropertyValue(PropertyValue original,
java.lang.Object newValue)
Constructor that exposes a new value for an original value holder.
|
PropertyValue(java.lang.String name,
java.lang.Object value)
Create a new PropertyValue instance.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other) |
java.lang.Object |
getConvertedValue()
Return the converted value of the constructor argument,
after processed type conversion.
|
java.lang.String |
getName()
Return the name of the property.
|
PropertyValue |
getOriginalPropertyValue()
Return the original PropertyValue instance for this value holder.
|
java.lang.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(java.lang.Object value)
Set the converted value of the constructor argument,
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.
|
java.lang.String |
toString() |
addMetadataAttribute, getAttribute, getMetadataAttribute, getSource, removeAttribute, setAttribute, setSource
attributeNames, copyAttributesFrom, hasAttribute
private final java.lang.String name
private final java.lang.Object value
private boolean optional
private boolean converted
private java.lang.Object convertedValue
volatile java.lang.Boolean conversionNecessary
transient volatile java.lang.Object resolvedTokens
public PropertyValue(java.lang.String name, @Nullable java.lang.Object value)
name
- the name of the property (never null
)value
- the value of the property (possibly before type conversion)public PropertyValue(PropertyValue original)
original
- the PropertyValue to copy (never null
)public PropertyValue(PropertyValue original, java.lang.Object newValue)
original
- the PropertyValue to link to (never null
)newValue
- the new value to applypublic java.lang.String getName()
@Nullable public java.lang.Object getValue()
Note that type conversion will not have occurred here. It is the responsibility of the BeanWrapper implementation to perform type conversion.
public PropertyValue getOriginalPropertyValue()
public void setOptional(boolean optional)
public boolean isOptional()
public boolean isConverted()
true
),
or whether the value still needs to be converted (false
).public void setConvertedValue(java.lang.Object value)
public java.lang.Object getConvertedValue()
public boolean equals(java.lang.Object other)
equals
in class AttributeAccessorSupport
public int hashCode()
hashCode
in class AttributeAccessorSupport
public java.lang.String toString()
toString
in class java.lang.Object