public abstract class

AbstractPropertyAccessor

extends PropertyEditorRegistrySupport
implements ConfigurablePropertyAccessor
java.lang.Object
   ↳ org.springframework.beans.PropertyEditorRegistrySupport
     ↳ org.springframework.beans.AbstractPropertyAccessor
Known Direct Subclasses

Class Overview

Abstract implementation of the PropertyAccessor interface. Provides base implementations of all convenience methods, with the implementation of actual property access left to subclasses.

Summary

[Expand]
Inherited Constants
From interface org.springframework.beans.PropertyAccessor
Public Constructors
AbstractPropertyAccessor()
Public Methods
<T> T convertIfNecessary(Object value, Class<T> requiredType)
Convert the value to the required type (if necessary from a String).
Class getPropertyType(String propertyPath)
Determine the property type for the given property path.
abstract Object getPropertyValue(String propertyName)
Actually get the value of a property.
boolean isExtractOldValueForEditor()
Return whether to extract the old property value when applying a property editor to a new value for a property.
void setExtractOldValueForEditor(boolean extractOldValueForEditor)
Set whether to extract the old property value when applying a property editor to a new value for a property.
void setPropertyValue(PropertyValue pv)
Set the specified value as current property value.
abstract void setPropertyValue(String propertyName, Object value)
Actually set a property value.
void setPropertyValues(PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid)
Perform a batch update with full control over behavior.
void setPropertyValues(PropertyValues pvs)
The preferred way to perform a batch update.
void setPropertyValues(Map<?, ?> map)
Perform a batch update from a Map.
void setPropertyValues(PropertyValues pvs, boolean ignoreUnknown)
Perform a batch update with more control over behavior.
[Expand]
Inherited Methods
From class org.springframework.beans.PropertyEditorRegistrySupport
From class java.lang.Object
From interface org.springframework.beans.ConfigurablePropertyAccessor
From interface org.springframework.beans.PropertyAccessor
From interface org.springframework.beans.PropertyEditorRegistry
From interface org.springframework.beans.TypeConverter

Public Constructors

public AbstractPropertyAccessor ()

Also: SpringBeans

Public Methods

public T convertIfNecessary (Object value, Class<T> requiredType)

Also: SpringBeans

Convert the value to the required type (if necessary from a String).

Conversions from String to any type will typically use the setAsText method of the PropertyEditor class. Note that a PropertyEditor must be registered for the given class for this to work; this is a standard JavaBeans API. A number of PropertyEditors are automatically registered.

Parameters
value the value to convert
requiredType the type we must convert to (or null if not known, for example in case of a collection element)
Returns
  • the new value, possibly the result of type conversion

public Class getPropertyType (String propertyPath)

Also: SpringBeans

Determine the property type for the given property path.

Called by findCustomEditor(Class, String) if no required type has been specified, to be able to find a type-specific editor even if just given a property path.

The default implementation always returns null. BeanWrapperImpl overrides this with the standard getPropertyType method as defined by the BeanWrapper interface.

Parameters
propertyPath the property path to determine the type for
Returns
  • the type of the property, or null if not determinable

public abstract Object getPropertyValue (String propertyName)

Also: SpringBeans

Actually get the value of a property.

Parameters
propertyName name of the property to get the value of
Returns
  • the value of the property
Throws
InvalidPropertyException if there is no such property or if the property isn't readable
PropertyAccessException if the property was valid but the accessor method failed
BeansException

public boolean isExtractOldValueForEditor ()

Also: SpringBeans

Return whether to extract the old property value when applying a property editor to a new value for a property.

public void setExtractOldValueForEditor (boolean extractOldValueForEditor)

Also: SpringBeans

Set whether to extract the old property value when applying a property editor to a new value for a property.

public void setPropertyValue (PropertyValue pv)

Also: SpringBeans

Set the specified value as current property value.

Parameters
pv an object containing the new property value

public abstract void setPropertyValue (String propertyName, Object value)

Also: SpringBeans

Actually set a property value.

Parameters
propertyName name of the property to set value of
value the new value
Throws
InvalidPropertyException if there is no such property or if the property isn't writable
PropertyAccessException if the property was valid but the accessor method failed or a type mismatch occured
BeansException

public void setPropertyValues (PropertyValues pvs, boolean ignoreUnknown, boolean ignoreInvalid)

Also: SpringBeans

Perform a batch update with full control over behavior.

Note that performing a batch update differs from performing a single update, in that an implementation of this class will continue to update properties if a recoverable error (such as a type mismatch, but not an invalid field name or the like) is encountered, throwing a PropertyBatchUpdateException containing all the individual errors. This exception can be examined later to see all binding errors. Properties that were successfully updated remain changed.

Parameters
pvs PropertyValues to set on the target object
ignoreUnknown should we ignore unknown properties (not found in the bean)
ignoreInvalid should we ignore invalid properties (found but not accessible)

public void setPropertyValues (PropertyValues pvs)

Also: SpringBeans

The preferred way to perform a batch update.

Note that performing a batch update differs from performing a single update, in that an implementation of this class will continue to update properties if a recoverable error (such as a type mismatch, but not an invalid field name or the like) is encountered, throwing a PropertyBatchUpdateException containing all the individual errors. This exception can be examined later to see all binding errors. Properties that were successfully updated remain changed.

Does not allow unknown fields or invalid fields.

Parameters
pvs PropertyValues to set on the target object

public void setPropertyValues (Map<?, ?> map)

Also: SpringBeans

Perform a batch update from a Map.

Bulk updates from PropertyValues are more powerful: This method is provided for convenience. Behavior will be identical to that of the setPropertyValues(PropertyValues) method.

Parameters
map Map to take properties from. Contains property value objects, keyed by property name

public void setPropertyValues (PropertyValues pvs, boolean ignoreUnknown)

Also: SpringBeans

Perform a batch update with more control over behavior.

Note that performing a batch update differs from performing a single update, in that an implementation of this class will continue to update properties if a recoverable error (such as a type mismatch, but not an invalid field name or the like) is encountered, throwing a PropertyBatchUpdateException containing all the individual errors. This exception can be examined later to see all binding errors. Properties that were successfully updated remain changed.

Parameters
pvs PropertyValues to set on the target object
ignoreUnknown should we ignore unknown properties (not found in the bean)