## org.springframework.beans
Interface BeanWrapper

All Superinterfaces:
  ConfigurablePropertyAccessor, PropertyAccessor, PropertyEditorRegistry, TypeConverter

All Known Implementing Classes:
  BeanWrapperImpl

    public interface BeanWrapper

extends ConfigurablePropertyAccessor

The central interface of Spring's low-level JavaBeans infrastructure.

Typically not used directly but rather implicitly via a `BeanFactory` or a `DataBinder`.

Provides operations to analyze and manipulate standard JavaBeans: the ability to get and set property values (individually or in bulk), get property descriptors, and query the readability/writability of properties.

This interface supports nested properties enabling the setting of properties on subproperties to an unlimited depth. A `BeanWrapper` instance can be used repeatedly, with its `target object` (the wrapped JavaBean instance) changing as required.

A BeanWrapper's default for the "extractOldValueForEditor" setting is "false", to avoid side effects caused by getter method invocations. Turn this to "true" to expose present property values to custom editors.

Since:
  13 April 2001
Author:
  Rod Johnson, Juergen Hoeller
See Also:
  `ConfigurablePropertyAccessor.setExtractOldValueForEditor(boolean)`, `PropertyAccessor`, `PropertyEditorRegistry`, `PropertyAccessorFactory.forBeanPropertyAccess(java.lang.Object)`, `BeanFactory`, `BeanPropertyBindingResult`, `DataBinder.initBeanPropertyAccess()`

Field Summary

Fields inherited from interface org.springframework.beans.PropertyAccessor
`NESTED_PROPERTY_SEPARATOR, NESTED_PROPERTY_SEPARATOR_CHAR, PROPERTY_KEY_PREFIX, PROPERTY_KEY_PREFIX_CHAR, PROPERTY_KEY_SUFFIX, PROPERTY_KEY_SUFFIX_CHAR`

Method Summary
`PropertyDescriptor` `getPropertyDescriptor(String propertyName)` Obtain the property descriptor for a specific property of the wrapped object.
`PropertyDescriptor[]` `getPropertyDescriptors()` Obtain the PropertyDescriptors for the wrapped object (as determined by standard JavaBeans introspection).
`Class` `getWrappedClass()` Return the type of the wrapped JavaBean object.
`Object` `getWrappedInstance()` Return the bean instance wrapped by this object, if any.
`void` `setWrappedInstance(Object obj)` Deprecated. as of Spring 2.5, in favor of recreating a BeanWrapper per target instance

Methods inherited from interface org.springframework.beans.ConfigurablePropertyAccessor
`isExtractOldValueForEditor, setExtractOldValueForEditor`

Methods inherited from interface org.springframework.beans.PropertyAccessor
`getPropertyType, getPropertyValue, isReadableProperty, isWritableProperty, setPropertyValue, setPropertyValue, setPropertyValues, setPropertyValues, setPropertyValues, setPropertyValues`

Methods inherited from interface org.springframework.beans.PropertyEditorRegistry
`findCustomEditor, registerCustomEditor, registerCustomEditor`

Methods inherited from interface org.springframework.beans.TypeConverter
`convertIfNecessary, convertIfNecessary`

Method Detail

### setWrappedInstance

    void setWrappedInstance(Object obj)

  Deprecated. as of Spring 2.5, in favor of recreating a BeanWrapper per target instance

  Change the wrapped JavaBean object.

  Parameters:
    `obj` - the bean instance to wrap

### getWrappedInstance

    Object getWrappedInstance()

  Return the bean instance wrapped by this object, if any.

  Returns:
    the bean instance, or `null` if none set

### getWrappedClass

    Class getWrappedClass()

  Return the type of the wrapped JavaBean object.

  Returns:
    the type of the wrapped bean instance, or `null` if no wrapped object has been set

### getPropertyDescriptors

    PropertyDescriptor[] getPropertyDescriptors()

  Obtain the PropertyDescriptors for the wrapped object (as determined by standard JavaBeans introspection).

  Returns:
    the PropertyDescriptors for the wrapped object

### getPropertyDescriptor

    PropertyDescriptor getPropertyDescriptor(String propertyName)
                                             throws BeansException

  Obtain the property descriptor for a specific property of the wrapped object.

  Parameters:
    `propertyName` - the property to obtain the descriptor for (may be a nested path, but no indexed/mapped property)
  Returns:
    the property descriptor for the specified property
  Throws:
    `InvalidPropertyException` - if there is no such property
    `BeansException`

Copyright © 2002-2008 The Spring Framework.