org.apache.commons.beanutils

Class BeanUtils

Known Direct Subclasses:
LocaleBeanUtils

public class BeanUtils
extends java.lang.Object

Utility methods for populating JavaBeans properties via reflection.

The implementations are provided by BeanUtilsBean. These static utility methods use the default instance. More sophisticated behaviour can be provided by using a BeanUtilsBean instance.

Version:
$Revision: 1.40 $ $Date: 2004/02/28 13:18:33 $
Authors:
Craig R. McClanahan
Ralph Schaer
Chris Audley
Rey Fran?ois
Gregor Ra?man
See Also:
BeanUtilsBean

Field Summary

private static int
debug
Deprecated. BeanUtils now uses commons-logging for all log messages.
private static FastHashMap
dummy
Dummy collection from the Commons Collections API, to force a ClassNotFoundException if commons-collections.jar is not present in the runtime classpath, and this class is the first one referenced.

Method Summary

static Object
cloneBean(Object bean)
Clone a bean based on the available property getters and setters, even if the bean class itself does not implement Cloneable.
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.
static void
copyProperty(Object bean, String name, Object value)
Copy the specified property value to the specified destination bean, performing any type conversion that is required.
static Map
describe(Object bean)
Return the entire set of properties for which the specified bean provides a read method.
static String[]
getArrayProperty(Object bean, String name)
Return the value of the specified array property of the specified bean, as a String array.
static int
getDebug()
Deprecated. BeanUtils now uses commons-logging for all log messages.
static String
getIndexedProperty(Object bean, String name)
Return the value of the specified indexed property of the specified bean, as a String.
static String
getIndexedProperty(Object bean, String name, int index)
Return the value of the specified indexed property of the specified bean, as a String.
static String
getMappedProperty(Object bean, String name)
Return the value of the specified indexed property of the specified bean, as a String.
static String
getMappedProperty(Object bean, String name, String key)
Return the value of the specified mapped property of the specified bean, as a String.
static String
getNestedProperty(Object bean, String name)
Return the value of the (possibly nested) property of the specified name, for the specified bean, as a String.
static String
getProperty(Object bean, String name)
Return the value of the specified property of the specified bean, no matter which property reference format is used, as a String.
static String
getSimpleProperty(Object bean, String name)
Return the value of the specified simple property of the specified bean, converted to a String.
static void
populate(Object bean, Map properties)
Populate the JavaBeans properties of the specified bean, based on the specified name/value pairs.
static void
setDebug(int newDebug)
Deprecated. BeanUtils now uses commons-logging for all log messages.
static void
setProperty(Object bean, String name, Object value)
Set the specified property value, performing type conversions as required to conform to the type of the destination property.

Field Details

debug

private static int debug

Deprecated. BeanUtils now uses commons-logging for all log messages. Use your favorite logging tool to configure logging for this class.

The debugging detail level for this component.

dummy

private static FastHashMap dummy
Dummy collection from the Commons Collections API, to force a ClassNotFoundException if commons-collections.jar is not present in the runtime classpath, and this class is the first one referenced. Otherwise, the ClassNotFoundException thrown by ConvertUtils or PropertyUtils can get masked.

Method Details

cloneBean

public static Object cloneBean(Object bean)
            throws IllegalAccessException,
                   InstantiationException,
                   InvocationTargetException,
                   NoSuchMethodException
Clone a bean based on the available property getters and setters, even if the bean class itself does not implement Cloneable.

For more details see BeanUtilsBean.


copyProperties

public static void copyProperties(Object dest,
                                  Object orig)
            throws IllegalAccessException,
                   InvocationTargetException
Copy property values from the origin bean to the destination bean for all cases where the property names are the same.

For more details see BeanUtilsBean.


copyProperty

public static void copyProperty(Object bean,
                                String name,
                                Object value)
            throws IllegalAccessException,
                   InvocationTargetException
Copy the specified property value to the specified destination bean, performing any type conversion that is required.

For more details see BeanUtilsBean.


describe

public static Map describe(Object bean)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the entire set of properties for which the specified bean provides a read method.

For more details see BeanUtilsBean.


getArrayProperty

public static String[] getArrayProperty(Object bean,
                                        String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified array property of the specified bean, as a String array.

For more details see BeanUtilsBean.


getDebug

public static int getDebug()

Deprecated. BeanUtils now uses commons-logging for all log messages. Use your favorite logging tool to configure logging for this class.


getIndexedProperty

public static String getIndexedProperty(Object bean,
                                        String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified indexed property of the specified bean, as a String.

For more details see BeanUtilsBean.


getIndexedProperty

public static String getIndexedProperty(Object bean,
                                        String name,
                                        int index)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified indexed property of the specified bean, as a String. The index is specified as a method parameter and must *not* be included in the property name expression

For more details see BeanUtilsBean.


getMappedProperty

public static String getMappedProperty(Object bean,
                                       String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified indexed property of the specified bean, as a String.

For more details see BeanUtilsBean.


getMappedProperty

public static String getMappedProperty(Object bean,
                                       String name,
                                       String key)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified mapped property of the specified bean, as a String.

For more details see BeanUtilsBean.


getNestedProperty

public static String getNestedProperty(Object bean,
                                       String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the (possibly nested) property of the specified name, for the specified bean, as a String.

For more details see BeanUtilsBean.


getProperty

public static String getProperty(Object bean,
                                 String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified property of the specified bean, no matter which property reference format is used, as a String.

For more details see BeanUtilsBean.


getSimpleProperty

public static String getSimpleProperty(Object bean,
                                       String name)
            throws IllegalAccessException,
                   InvocationTargetException,
                   NoSuchMethodException
Return the value of the specified simple property of the specified bean, converted to a String.

For more details see BeanUtilsBean.


populate

public static void populate(Object bean,
                            Map properties)
            throws IllegalAccessException,
                   InvocationTargetException
Populate the JavaBeans properties of the specified bean, based on the specified name/value pairs.

For more details see BeanUtilsBean.


setDebug

public static void setDebug(int newDebug)

Deprecated. BeanUtils now uses commons-logging for all log messages. Use your favorite logging tool to configure logging for this class.


setProperty

public static void setProperty(Object bean,
                               String name,
                               Object value)
            throws IllegalAccessException,
                   InvocationTargetException
Set the specified property value, performing type conversions as required to conform to the type of the destination property.

For more details see BeanUtilsBean.


Copyright (c) 2001-2004 - Apache Software Foundation