Default {@link BeanWrapper} implementation that should be sufficientfor all typical use cases. Caches introspection results for efficiency.
Note: Auto-registers default property editors from the org.springframework.beans.propertyeditors
package, which apply in addition to the JDK's standard PropertyEditors. Applications can call the {@link #registerCustomEditor(Class,java.beans.PropertyEditor)} methodto register an editor for a particular instance (i.e. they are not shared across the application). See the base class {@link PropertyEditorRegistrySupport} for details.
BeanWrapperImpl
will convert collection and array values to the corresponding target collections or arrays, if necessary. Custom property editors that deal with collections or arrays can either be written via PropertyEditor's setValue
, or against a comma-delimited String via setAsText
, as String arrays are converted in such a format if the array itself is not assignable.
NOTE: As of Spring 2.5, this is - for almost all purposes - an internal class. It is just public in order to allow for access from other framework packages. For standard application access purposes, use the {@link PropertyAccessorFactory#forBeanPropertyAccess} factory method instead.
@author Rod Johnson
@author Juergen Hoeller
@author Rob Harrop
@since 15 April 2001
@see #registerCustomEditor
@see #setPropertyValues
@see #setPropertyValue
@see #getPropertyValue
@see #getPropertyType
@see BeanWrapper
@see PropertyEditorRegistrySupport