org.springframework.beans

Class PropertyValue

  • All Implemented Interfaces:
    java.io.Serializable, BeanMetadataElement, AttributeAccessor


    public class PropertyValue
    extends BeanMetadataAttributeAccessor
    implements java.io.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 Detail

      • PropertyValue

        public PropertyValue(java.lang.String name,
                             @Nullable
                             java.lang.Object value)
        Create a new PropertyValue instance.
        Parameters:
        name - the name of the property (never null)
        value - the value of the property (possibly before type conversion)
      • PropertyValue

        public PropertyValue(PropertyValue original)
        Copy constructor.
        Parameters:
        original - the PropertyValue to copy (never null)
      • PropertyValue

        public PropertyValue(PropertyValue original,
                             @Nullable
                             java.lang.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 (never null)
        newValue - the new value to apply
    • Method Detail

      • getName

        public java.lang.String getName()
        Return the name of the property.
      • getValue

        @Nullable
        public java.lang.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
                                      java.lang.Object value)
        Set the converted value of the constructor argument, after processed type conversion.
      • getConvertedValue

        @Nullable
        public java.lang.Object getConvertedValue()
        Return the converted value of the constructor argument, after processed type conversion.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object