|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectnet.uidl.util.BeanUtils
public class BeanUtils
Field Summary | |
---|---|
static char |
INDEXED_DELIM
The delimiter that preceeds the zero-relative subscript for an indexed reference. |
static char |
INDEXED_DELIM2
The delimiter that follows the zero-relative subscript for an indexed reference. |
static char |
NESTED_DELIM
The delimiter that separates the components of a nested reference. |
Constructor Summary | |
---|---|
BeanUtils()
|
Method Summary | |
---|---|
static void |
copyProperties(java.lang.Object dest,
java.lang.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 void |
copyPropertiesNoNull(java.lang.Object dest,
java.lang.Object orig)
|
static java.util.Map |
describe(java.lang.Object bean)
Return the entire set of properties for which the specified bean provides a read method. |
static java.lang.String |
getClassName(java.lang.Class c)
|
static int |
getDebug()
|
static java.lang.Object |
getIndexedProperty(java.lang.Object bean,
java.lang.String name)
Return the value of the specified indexed property of the specified bean, with no type conversions. |
static java.lang.Object |
getIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index)
Return the value of the specified indexed property of the specified bean, with no type conversions. |
static java.lang.Object |
getNestedProperty(java.lang.Object bean,
java.lang.String name)
Return the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions. |
static java.lang.Object |
getProperty(java.lang.Object bean,
java.lang.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 java.beans.PropertyDescriptor |
getPropertyDescriptor(java.lang.Object bean,
java.lang.String name)
Retrieve the property descriptor for the specified property of the specified bean, or return null if there is no such
descriptor. |
static java.beans.PropertyDescriptor[] |
getPropertyDescriptors(java.lang.Object bean)
Retrieve the property descriptors for the specified bean, introspecting and caching them the first time a particular bean class is encountered. |
static java.lang.Class |
getPropertyEditorClass(java.lang.Object bean,
java.lang.String name)
Return the Java Class repesenting the property editor class that has been registered for this property (if any). |
static java.lang.Class |
getPropertyType(java.lang.Object bean,
java.lang.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 java.lang.reflect.Method |
getReadMethod(java.beans.PropertyDescriptor descriptor)
Return an accessible property getter method for this property, if there is one; otherwise return null . |
static java.lang.Object |
getSimpleProperty(java.lang.Object bean,
java.lang.String name)
Return the value of the specified simple property of the specified bean, with no type conversions. |
static java.lang.reflect.Method |
getWriteMethod(java.beans.PropertyDescriptor descriptor)
Return an accessible property setter method for this property, if there is one; otherwise return null . |
static java.util.Collection |
hibernateCollectionFilter(java.util.Collection list)
|
static java.lang.Object |
hibernateFilter(java.lang.Object orig)
|
static void |
setDebug(int newDebug)
|
static void |
setIndexedProperty(java.lang.Object bean,
java.lang.String name,
int index,
java.lang.Object value)
Set the value of the specified indexed property of the specified bean, with no type conversions. |
static void |
setIndexedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.Object value)
Set the value of the specified indexed property of the specified bean, with no type conversions. |
static void |
setNestedProperty(java.lang.Object bean,
java.lang.String name,
java.lang.Object value)
Set the value of the (possibly nested) property of the specified name, for the specified bean, with no type conversions. |
static void |
setProperty(java.lang.Object bean,
java.lang.String name,
java.lang.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(java.lang.Object bean,
java.lang.String name,
java.lang.Object value)
Set the value of the specified simple property of the specified bean, with no type conversions. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final char INDEXED_DELIM
public static final char INDEXED_DELIM2
public static final char NESTED_DELIM
Constructor Detail |
---|
public BeanUtils()
Method Detail |
---|
public static java.lang.String getClassName(java.lang.Class c)
public static int getDebug()
public static void setDebug(int newDebug)
public static java.util.Collection hibernateCollectionFilter(java.util.Collection list) throws java.lang.Exception
java.lang.Exception
public static java.lang.Object hibernateFilter(java.lang.Object orig) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException, java.lang.InstantiationException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException
java.lang.InstantiationException
public static void copyProperties(java.lang.Object dest, java.lang.Object orig) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
BeanInfo
classes). No conversions are performed on the
actual property values -- it is assumed that the values retrieved from
the origin bean are assignment-compatible with the types expected by
the destination bean.
dest
- Destination bean whose properties are modifiedorig
- Origin bean whose properties are retrieved
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if the dest
or
orig
argument is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static void copyPropertiesNoNull(java.lang.Object dest, java.lang.Object orig) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
java.lang.IllegalAccessException
java.lang.reflect.InvocationTargetException
java.lang.NoSuchMethodException
public static java.util.Map describe(java.lang.Object bean) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
getReadMethod()
returns non-null).
bean
- Bean whose properties are to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.Object getIndexedProperty(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
IllegalArgumentException
will be
thrown.
bean
- Bean whose property is to be extractedname
- propertyname[index]
of the property value
to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.Object getIndexedProperty(java.lang.Object bean, java.lang.String name, int index) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be extractedname
- Simple property name of the property value to be extractedindex
- Index of the property value to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.Object getNestedProperty(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be extractedname
- Possibly nested name of the property to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if a nested reference to a
property returns null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.Object getProperty(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be extractedname
- Possibly indexed and/or nested name of the property
to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.beans.PropertyDescriptor getPropertyDescriptor(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
null
if there is no such
descriptor. This method resolves indexed and nested property
references in the same manner as other methods in this class, except
that if the last (or only) name element is indexed, the descriptor
for the last resolved property itself is returned.
bean
- Bean for which a property descriptor is requestedname
- Possibly indexed and/or nested name of the property for
which a property descriptor is requested
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if a nested reference to a
property returns null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.beans.PropertyDescriptor[] getPropertyDescriptors(java.lang.Object bean)
bean
- Bean for which property descriptors are requested
java.lang.IllegalArgumentException
- if bean
is nullpublic static java.lang.Class getPropertyEditorClass(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
getPropertyDescriptor()
,
so if the last element of a name reference is indexed, the property
editor for the underlying property's class is returned.
Note that null
will be returned if there is no property,
or if there is no registered property editor class. Because this
return value is ambiguous, you should determine the existence of the
property itself by other means.
bean
- Bean for which a property descriptor is requestedname
- Possibly indexed and/or nested name of the property for
which a property descriptor is requested
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if a nested reference to a
property returns null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.Class getPropertyType(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
null
if there is no such property for the
specified bean. This method follows the same name resolution rules
used by getPropertyDescriptor()
, so if the last element
of a name reference is indexed, the type of the property itself will
be returned. If the last (or only) element has no property with the
specified name, null
is returned.
bean
- Bean for which a property descriptor is requestedname
- Possibly indexed and/or nested name of the property for
which a property descriptor is requested
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if a nested reference to a
property returns null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.reflect.Method getReadMethod(java.beans.PropertyDescriptor descriptor)
null
.
descriptor
- Property descriptor to return a getter forpublic static java.lang.Object getSimpleProperty(java.lang.Object bean, java.lang.String name) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be extractedname
- Name of the property to be extracted
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if the property name
is nested or indexed
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static java.lang.reflect.Method getWriteMethod(java.beans.PropertyDescriptor descriptor)
null
.
descriptor
- Property descriptor to return a setter forpublic static void setIndexedProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
IllegalArgumentException
will be
thrown.
bean
- Bean whose property is to be modifiedname
- propertyname[index]
of the property value
to be modifiedvalue
- Value to which the specified property element
should be set
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static void setIndexedProperty(java.lang.Object bean, java.lang.String name, int index, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be setname
- Simple property name of the property value to be setindex
- Index of the property value to be setvalue
- Value to which the indexed property element is to be set
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static void setNestedProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be modifiedname
- Possibly nested name of the property to be modifiedvalue
- Value to which the property is to be set
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if a nested reference to a
property returns null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static void setProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be modifiedname
- Possibly indexed and/or nested name of the property
to be modifiedvalue
- Value to which this property is to be set
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be foundpublic static void setSimpleProperty(java.lang.Object bean, java.lang.String name, java.lang.Object value) throws java.lang.IllegalAccessException, java.lang.reflect.InvocationTargetException, java.lang.NoSuchMethodException
bean
- Bean whose property is to be modifiedname
- Name of the property to be modifiedvalue
- Value to which the property should be set
java.lang.IllegalAccessException
- if the caller does not have
access to the property accessor method
java.lang.IllegalArgumentException
- if bean
or
name
is null
java.lang.IllegalArgumentException
- if the property name is
nested or indexed
java.lang.reflect.InvocationTargetException
- if the property accessor method
throws an exception
java.lang.NoSuchMethodException
- if an accessor method for this
propety cannot be found
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |