public class

PropertyUtils

extends Object
java.lang.Object
   ↳ org.apache.commons.beanutils.PropertyUtils

Class Overview

Utility methods for using Java Reflection APIs to facilitate generic property getter and setter operations on Java objects.

The implementations for these methods are provided by PropertyUtilsBean. For more details see PropertyUtilsBean.

Summary

Constants
char INDEXED_DELIM This constant is deprecated. The notation used for property name expressions is now dependant on the Resolver implementation being used.
char INDEXED_DELIM2 This constant is deprecated. The notation used for property name expressions is now dependant on the Resolver implementation being used.
char MAPPED_DELIM This constant is deprecated. The notation used for property name expressions is now dependant on the Resolver implementation being used.
char MAPPED_DELIM2 This constant is deprecated. The notation used for property name expressions is now dependant on the Resolver implementation being used.
char NESTED_DELIM This constant is deprecated. The notation used for property name expressions is now dependant on the Resolver implementation being used.
Public Constructors
PropertyUtils()
Public Methods
static void clearDescriptors()
Clear any cached property descriptors information for all classes loaded by any class loaders.
static void copyProperties(Object dest, Object orig)

Copy property values from the "origin" bean to the "destination" bean for all cases where the property names are the same (even though the actual getter and setter methods might have been customized via BeanInfo classes).

static Map describe(Object bean)

Return the entire set of properties for which the specified bean provides a read method.

static int getDebug()
This method is deprecated. The debug static property is no longer used
static Object getIndexedProperty(Object bean, String name)

Return the value of the specified indexed property of the specified bean, with no type conversions.

static Object getIndexedProperty(Object bean, String name, int index)

Return the value of the specified indexed property of the specified bean, with no type conversions.

static Object getMappedProperty(Object bean, String name, String key)

Return the value of the specified mapped property of the specified bean, with no type conversions.

static Object getMappedProperty(Object bean, String name)

Return the value of the specified mapped property of the specified bean, with no type conversions.

static FastHashMap getMappedPropertyDescriptors(Object bean)
This method is deprecated. This method should not be exposed
static FastHashMap getMappedPropertyDescriptors(Class beanClass)
This method is deprecated. This method should not be exposed
static Object getNestedProperty(Object bean, String name)

Return the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

static Object getProperty(Object bean, String name)

Return the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

static PropertyDescriptor getPropertyDescriptor(Object bean, String name)

Retrieve the property descriptor for the specified property of the specified bean, or return null if there is no such descriptor.

static PropertyDescriptor[] getPropertyDescriptors(Class beanClass)

Retrieve the property descriptors for the specified class, introspecting and caching them the first time a particular bean class is encountered.

static PropertyDescriptor[] getPropertyDescriptors(Object bean)

Retrieve the property descriptors for the specified bean, introspecting and caching them the first time a particular bean class is encountered.

static Class getPropertyEditorClass(Object bean, String name)

Return the Java Class repesenting the property editor class that has been registered for this property (if any).

static Class getPropertyType(Object bean, String name)

Return the Java Class representing the property type of the specified property, or null if there is no such property for the specified bean.

static Method getReadMethod(PropertyDescriptor descriptor)

Return an accessible property getter method for this property, if there is one; otherwise return null.

static Object getSimpleProperty(Object bean, String name)

Return the value of the specified simple property of the specified bean, with no type conversions.

static Method getWriteMethod(PropertyDescriptor descriptor)

Return an accessible property setter method for this property, if there is one; otherwise return null.

static boolean isReadable(Object bean, String name)

Return true if the specified property name identifies a readable property on the specified bean; otherwise, return false.

static boolean isWriteable(Object bean, String name)

Return true if the specified property name identifies a writeable property on the specified bean; otherwise, return false.

static void setDebug(int newDebug)
This method is deprecated. The debug static property is no longer used
static void setIndexedProperty(Object bean, String name, Object value)

Sets the value of the specified indexed property of the specified bean, with no type conversions.

static void setIndexedProperty(Object bean, String name, int index, Object value)

Sets the value of the specified indexed property of the specified bean, with no type conversions.

static void setMappedProperty(Object bean, String name, String key, Object value)

Sets the value of the specified mapped property of the specified bean, with no type conversions.

static void setMappedProperty(Object bean, String name, Object value)

Sets the value of the specified mapped property of the specified bean, with no type conversions.

static void setNestedProperty(Object bean, String name, Object value)

Sets the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

static void setProperty(Object bean, String name, Object value)

Set the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

static void setSimpleProperty(Object bean, String name, Object value)

Set the value of the specified simple property of the specified bean, with no type conversions.

[Expand]
Inherited Methods
From class java.lang.Object

Constants

public static final char INDEXED_DELIM

This constant is deprecated.
The notation used for property name expressions is now dependant on the Resolver implementation being used.

The delimiter that preceeds the zero-relative subscript for an indexed reference.

Constant Value: 91 (0x0000005b)

public static final char INDEXED_DELIM2

This constant is deprecated.
The notation used for property name expressions is now dependant on the Resolver implementation being used.

The delimiter that follows the zero-relative subscript for an indexed reference.

Constant Value: 93 (0x0000005d)

public static final char MAPPED_DELIM

This constant is deprecated.
The notation used for property name expressions is now dependant on the Resolver implementation being used.

The delimiter that preceeds the key of a mapped property.

Constant Value: 40 (0x00000028)

public static final char MAPPED_DELIM2

This constant is deprecated.
The notation used for property name expressions is now dependant on the Resolver implementation being used.

The delimiter that follows the key of a mapped property.

Constant Value: 41 (0x00000029)

public static final char NESTED_DELIM

This constant is deprecated.
The notation used for property name expressions is now dependant on the Resolver implementation being used.

The delimiter that separates the components of a nested reference.

Constant Value: 46 (0x0000002e)

Public Constructors

public PropertyUtils ()

Public Methods

public static void clearDescriptors ()

Clear any cached property descriptors information for all classes loaded by any class loaders. This is useful in cases where class loaders are thrown away to implement class reloading.

For more details see PropertyUtilsBean.

public static void copyProperties (Object dest, Object orig)

Copy property values from the "origin" bean to the "destination" bean for all cases where the property names are the same (even though the actual getter and setter methods might have been customized via BeanInfo classes).

For more details see PropertyUtilsBean.

Parameters
dest Destination bean whose properties are modified
orig Origin bean whose properties are retrieved
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if the dest or orig argument is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Map describe (Object bean)

Return the entire set of properties for which the specified bean provides a read method.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose properties are to be extracted
Returns
  • The set of properties for the bean
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found
See Also

public static int getDebug ()

This method is deprecated.
The debug static property is no longer used

The debug static property is no longer used

Returns
  • debug property

public static Object getIndexedProperty (Object bean, String name)

Return the value of the specified indexed property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name propertyname[index] of the property value to be extracted
Returns
  • the indexed property value
Throws
IndexOutOfBoundsException if the specified index is outside the valid range for the underlying property
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Object getIndexedProperty (Object bean, String name, int index)

Return the value of the specified indexed property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name Simple property name of the property value to be extracted
index Index of the property value to be extracted
Returns
  • the indexed property value
Throws
IndexOutOfBoundsException if the specified index is outside the valid range for the underlying property
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Object getMappedProperty (Object bean, String name, String key)

Return the value of the specified mapped property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name Mapped property name of the property value to be extracted
key Key of the property value to be extracted
Returns
  • the mapped property value
Throws
IllegalAccessException if the caller does not have access to the property accessor method
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Object getMappedProperty (Object bean, String name)

Return the value of the specified mapped property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name propertyname(key) of the property value to be extracted
Returns
  • the mapped property value
Throws
IllegalAccessException if the caller does not have access to the property accessor method
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static FastHashMap getMappedPropertyDescriptors (Object bean)

This method is deprecated.
This method should not be exposed

Return the mapped property descriptors for this bean.

For more details see PropertyUtilsBean.

Parameters
bean Bean to be introspected
Returns
  • the mapped property descriptors

public static FastHashMap getMappedPropertyDescriptors (Class beanClass)

This method is deprecated.
This method should not be exposed

Return the mapped property descriptors for this bean class.

For more details see PropertyUtilsBean.

Parameters
beanClass Bean class to be introspected
Returns
  • the mapped property descriptors

public static Object getNestedProperty (Object bean, String name)

Return the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name Possibly nested name of the property to be extracted
Returns
  • the nested property value
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
NestedNullException if a nested reference to a property returns null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Object getProperty (Object bean, String name)

Return the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name Possibly indexed and/or nested name of the property to be extracted
Returns
  • the property value
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static PropertyDescriptor getPropertyDescriptor (Object bean, String name)

Retrieve the property descriptor for the specified property of the specified bean, or return null if there is no such descriptor.

For more details see PropertyUtilsBean.

Parameters
bean Bean for which a property descriptor is requested
name Possibly indexed and/or nested name of the property for which a property descriptor is requested
Returns
  • the property descriptor
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if a nested reference to a property returns null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static PropertyDescriptor[] getPropertyDescriptors (Class beanClass)

Retrieve the property descriptors for the specified class, introspecting and caching them the first time a particular bean class is encountered.

For more details see PropertyUtilsBean.

Parameters
beanClass Bean class for which property descriptors are requested
Returns
  • the property descriptors
Throws
IllegalArgumentException if beanClass is null

public static PropertyDescriptor[] getPropertyDescriptors (Object bean)

Retrieve the property descriptors for the specified bean, introspecting and caching them the first time a particular bean class is encountered.

For more details see PropertyUtilsBean.

Parameters
bean Bean for which property descriptors are requested
Returns
  • the property descriptors
Throws
IllegalArgumentException if bean is null

public static Class getPropertyEditorClass (Object bean, String name)

Return the Java Class repesenting the property editor class that has been registered for this property (if any).

For more details see PropertyUtilsBean.

Parameters
bean Bean for which a property descriptor is requested
name Possibly indexed and/or nested name of the property for which a property descriptor is requested
Returns
  • the property editor class
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if a nested reference to a property returns null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Class getPropertyType (Object bean, String name)

Return the Java Class representing the property type of the specified property, or null if there is no such property for the specified bean.

For more details see PropertyUtilsBean.

Parameters
bean Bean for which a property descriptor is requested
name Possibly indexed and/or nested name of the property for which a property descriptor is requested
Returns
  • The property type
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if a nested reference to a property returns null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Method getReadMethod (PropertyDescriptor descriptor)

Return an accessible property getter method for this property, if there is one; otherwise return null.

For more details see PropertyUtilsBean.

Parameters
descriptor Property descriptor to return a getter for
Returns
  • The read method

public static Object getSimpleProperty (Object bean, String name)

Return the value of the specified simple property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be extracted
name Name of the property to be extracted
Returns
  • The property value
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if the property name is nested or indexed
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static Method getWriteMethod (PropertyDescriptor descriptor)

Return an accessible property setter method for this property, if there is one; otherwise return null.

For more details see PropertyUtilsBean.

Parameters
descriptor Property descriptor to return a setter for
Returns
  • The write method

public static boolean isReadable (Object bean, String name)

Return true if the specified property name identifies a readable property on the specified bean; otherwise, return false.

For more details see PropertyUtilsBean.

Parameters
bean Bean to be examined (may be a DynaBean
name Property name to be evaluated
Returns
  • true if the property is readable, otherwise false
Throws
IllegalArgumentException if bean or name is null

public static boolean isWriteable (Object bean, String name)

Return true if the specified property name identifies a writeable property on the specified bean; otherwise, return false.

For more details see PropertyUtilsBean.

Parameters
bean Bean to be examined (may be a DynaBean
name Property name to be evaluated
Returns
  • true if the property is writeable, otherwise false
Throws
IllegalArgumentException if bean or name is null

public static void setDebug (int newDebug)

This method is deprecated.
The debug static property is no longer used

The debug static property is no longer used

Parameters
newDebug debug property

public static void setIndexedProperty (Object bean, String name, Object value)

Sets the value of the specified indexed property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be modified
name propertyname[index] of the property value to be modified
value Value to which the specified property element should be set
Throws
IndexOutOfBoundsException if the specified index is outside the valid range for the underlying property
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setIndexedProperty (Object bean, String name, int index, Object value)

Sets the value of the specified indexed property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be set
name Simple property name of the property value to be set
index Index of the property value to be set
value Value to which the indexed property element is to be set
Throws
IndexOutOfBoundsException if the specified index is outside the valid range for the underlying property
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setMappedProperty (Object bean, String name, String key, Object value)

Sets the value of the specified mapped property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be set
name Mapped property name of the property value to be set
key Key of the property value to be set
value The property value to be set
Throws
IllegalAccessException if the caller does not have access to the property accessor method
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setMappedProperty (Object bean, String name, Object value)

Sets the value of the specified mapped property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be set
name propertyname(key) of the property value to be set
value The property value to be set
Throws
IllegalAccessException if the caller does not have access to the property accessor method
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setNestedProperty (Object bean, String name, Object value)

Sets the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be modified
name Possibly nested name of the property to be modified
value Value to which the property is to be set
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if a nested reference to a property returns null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setProperty (Object bean, String name, Object value)

Set the value of the specified property of the specified bean, no matter which property reference format is used, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be modified
name Possibly indexed and/or nested name of the property to be modified
value Value to which this property is to be set
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found

public static void setSimpleProperty (Object bean, String name, Object value)

Set the value of the specified simple property of the specified bean, with no type conversions.

For more details see PropertyUtilsBean.

Parameters
bean Bean whose property is to be modified
name Name of the property to be modified
value Value to which the property should be set
Throws
IllegalAccessException if the caller does not have access to the property accessor method
IllegalArgumentException if bean or name is null
IllegalArgumentException if the property name is nested or indexed
InvocationTargetException if the property accessor method throws an exception
NoSuchMethodException if an accessor method for this propety cannot be found