blob: 84313c2998ca7bb407c19dd200aa5650607962d4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc on Fri Jun 15 16:53:37 PDT 2001 -->
<TITLE>
Apache Struts API Documentation: Class PropertyUtils
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/struts/util/PropertyMessageResourcesFactory.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/struts/util/RequestUtils.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="PropertyUtils.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.struts.util</FONT>
<BR>
Class PropertyUtils</H2>
<PRE>
java.lang.Object
|
+--<B>org.apache.struts.util.PropertyUtils</B>
</PRE>
<HR>
<B>Deprecated.</B>&nbsp;<I>At some point after Struts 1.0 final, will be replaced by
an equivalent class in the Jakarta Commons Beanutils package.</I>
<P>
<DL>
<DT>public class <B>PropertyUtils</B><DT>extends java.lang.Object</DL>
<P>
Utility methods for using Java Reflection APIs to facilitate generic
property getter and setter operations on Java objects. Much of this
code was originally included in <code>BeanUtils</code>, but has been
separated because of the volume of code involved.
<p>
In general, the objects that are examined and modified using these
methods are expected to conform to the property getter and setter method
naming conventions described in the JavaBeans Specification (Version 1.0.1).
No data type conversions are performed, and there are no usage of any
<code>PropertyEditor</code> classes that have been registered, although
a convenient way to access the registered classes themselves is included.
<p>
For the purposes of this class, three formats for referencing a particular
property value of a bean are defined, with the layout of an identifying
String in parentheses:
<ul>
<li><strong>Simple (<code>name</code>)</strong> - The specified
<code>name</code> identifies an individual property of a particular
JavaBean. The name of the actual getter or setter method to be used
is determined using standard JavaBeans instrospection, so that (unless
overridden by a <code>BeanInfo</code> class, a property named "xyz"
will have a getter method named <code>getXyz()</code> or (for boolean
properties only) <code>isXyz()</code>, and a setter method named
<code>setXyz()</code>.</li>
<li><strong>Nested (<code>name1.name2.name3</code>)</strong> The first
name element is used to select a property getter, as for simple
references above. The object returned for this property is then
consulted, using the same approach, for a property getter for a
property named <code>name2</code>, and so on. The property value that
is ultimately retrieved or modified is the one identified by the
last name element.</li>
<li><strong>Indexed (<code>name[index]</code>)</strong> - The underlying
property value is assumed to be an array, or this JavaBean is assumed
to have indexed property getter and setter methods. The appropriate
(zero-relative) entry in the array is selected.</li>
<li><strong>Combined (<code>name1.name2[index].name3</strong> - Various
forms combining nested and indexed references are also supported.</li>
</ul>
<P>
<DL>
<DT><B>Version: </B><DD>$Revision: 1.1 $ $Date$</DD>
<DT><B>Author: </B><DD>Craig R. McClanahan, Ralph Schaer, Chris Audley</DD>
</DL>
<HR>
<P>
<!-- ======== INNER CLASS SUMMARY ======== -->
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#debug">debug</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The debugging detail level for this component.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;<A HREF="../../../../org/apache/struts/util/FastHashMap.html">FastHashMap</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#descriptorsCache">descriptorsCache</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The cache of PropertyDescriptor arrays for beans we have already
introspected, keyed by the fully qualified class name of this object.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#INDEXED_DELIM">INDEXED_DELIM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The delimiter that preceeds the zero-relative subscript for an
indexed reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#INDEXED_DELIM2">INDEXED_DELIM2</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The delimiter that follows the zero-relative subscript for an
indexed reference.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;char</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#NESTED_DELIM">NESTED_DELIM</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;The delimiter that separates the components of a nested reference.</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#PropertyUtils()">PropertyUtils</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>(package private) static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#<clinit>()"><clinit></A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#copyProperties(java.lang.Object, java.lang.Object)">copyProperties</A></B>(java.lang.Object&nbsp;dest,
java.lang.Object&nbsp;orig)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;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
<code>BeanInfo</code> classes).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#describe(java.lang.Object)">describe</A></B>(java.lang.Object&nbsp;bean)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the entire set of properties for which the specified bean
provides a read method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getAccessibleMethod(java.lang.reflect.Method)">getAccessibleMethod</A></B>(java.lang.reflect.Method&nbsp;method)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return an accessible method (that is, one that can be invoked via
reflection) that implements the specified Method.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>private static&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getAccessibleMethodFromInterfaceNest(java.lang.Class, java.lang.String, java.lang.Class[])">getAccessibleMethodFromInterfaceNest</A></B>(java.lang.Class&nbsp;clazz,
java.lang.String&nbsp;methodName,
java.lang.Class[]&nbsp;parameterTypes)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return an accessible method (that is, one that can be invoked via
reflection) that implements the specified method, by scanning through
all implemented interfaces and subinterfaces.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getDebug()">getDebug</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getIndexedProperty(java.lang.Object, java.lang.String)">getIndexedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the value of the specified indexed property of the specified
bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getIndexedProperty(java.lang.Object, java.lang.String, int)">getIndexedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
int&nbsp;index)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the value of the specified indexed property of the specified
bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getNestedProperty(java.lang.Object, java.lang.String)">getNestedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the value of the (possibly nested) property of the specified
name, for the specified bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getProperty(java.lang.Object, java.lang.String)">getProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the value of the specified property of the specified bean,
no matter which property reference format is used, with no
type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.beans.PropertyDescriptor</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getPropertyDescriptor(java.lang.Object, java.lang.String)">getPropertyDescriptor</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Retrieve the property descriptor for the specified property of the
specified bean, or return <code>null</code> if there is no such
descriptor.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.beans.PropertyDescriptor[]</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getPropertyDescriptors(java.lang.Object)">getPropertyDescriptors</A></B>(java.lang.Object&nbsp;bean)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Retrieve the property descriptors for the specified bean, introspecting
and caching them the first time a particular bean class is encountered.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getPropertyEditorClass(java.lang.Object, java.lang.String)">getPropertyEditorClass</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the Java Class repesenting the property editor class that has
been registered for this property (if any).</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Class</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getPropertyType(java.lang.Object, java.lang.String)">getPropertyType</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the Java Class representing the property type of the specified
property, or <code>null</code> if there is no such property for the
specified bean.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getReadMethod(java.beans.PropertyDescriptor)">getReadMethod</A></B>(java.beans.PropertyDescriptor&nbsp;descriptor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return an accessible property getter method for this property,
if there is one; otherwise return <code>null</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.Object</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getSimpleProperty(java.lang.Object, java.lang.String)">getSimpleProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return the value of the specified simple property of the specified
bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;java.lang.reflect.Method</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#getWriteMethod(java.beans.PropertyDescriptor)">getWriteMethod</A></B>(java.beans.PropertyDescriptor&nbsp;descriptor)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Return an accessible property setter method for this property,
if there is one; otherwise return <code>null</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setDebug(int)">setDebug</A></B>(int&nbsp;newDebug)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setIndexedProperty(java.lang.Object, java.lang.String, int, java.lang.Object)">setIndexedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
int&nbsp;index,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Set the value of the specified indexed property of the specified
bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setIndexedProperty(java.lang.Object, java.lang.String, java.lang.Object)">setIndexedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Set the value of the specified indexed property of the specified
bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setNestedProperty(java.lang.Object, java.lang.String, java.lang.Object)">setNestedProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Set the value of the (possibly nested) property of the specified
name, for the specified bean, with no type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setProperty(java.lang.Object, java.lang.String, java.lang.Object)">setProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Set the value of the specified property of the specified bean,
no matter which property reference format is used, with no
type conversions.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>static&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../org/apache/struts/util/PropertyUtils.html#setSimpleProperty(java.lang.Object, java.lang.String, java.lang.Object)">setSimpleProperty</A></B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>Deprecated.</B>&nbsp;Set the value of the specified simple property of the specified bean,
with no type conversions.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="INDEXED_DELIM"><!-- --></A><H3>
INDEXED_DELIM</H3>
<PRE>
public static final char <B>INDEXED_DELIM</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The delimiter that preceeds the zero-relative subscript for an
indexed reference.</DL>
<HR>
<A NAME="INDEXED_DELIM2"><!-- --></A><H3>
INDEXED_DELIM2</H3>
<PRE>
public static final char <B>INDEXED_DELIM2</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The delimiter that follows the zero-relative subscript for an
indexed reference.</DL>
<HR>
<A NAME="NESTED_DELIM"><!-- --></A><H3>
NESTED_DELIM</H3>
<PRE>
public static final char <B>NESTED_DELIM</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The delimiter that separates the components of a nested reference.</DL>
<HR>
<A NAME="debug"><!-- --></A><H3>
debug</H3>
<PRE>
private static int <B>debug</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The debugging detail level for this component.</DL>
<HR>
<A NAME="descriptorsCache"><!-- --></A><H3>
descriptorsCache</H3>
<PRE>
private static <A HREF="../../../../org/apache/struts/util/FastHashMap.html">FastHashMap</A> <B>descriptorsCache</B></PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>The cache of PropertyDescriptor arrays for beans we have already
introspected, keyed by the fully qualified class name of this object.</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="PropertyUtils()"><!-- --></A><H3>
PropertyUtils</H3>
<PRE>
public <B>PropertyUtils</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>
<A NAME="getDebug()"><!-- --></A><H3>
getDebug</H3>
<PRE>
public static int <B>getDebug</B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>
<HR>
<A NAME="setDebug(int)"><!-- --></A><H3>
setDebug</H3>
<PRE>
public static void <B>setDebug</B>(int&nbsp;newDebug)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>
<HR>
<A NAME="<clinit>()"><!-- --></A><H3>
<clinit></H3>
<PRE>
static void <B><clinit></B>()</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;</DL>
<HR>
<A NAME="copyProperties(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
copyProperties</H3>
<PRE>
public static void <B>copyProperties</B>(java.lang.Object&nbsp;dest,
java.lang.Object&nbsp;orig)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>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
<code>BeanInfo</code> 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.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>dest</CODE> - Destination bean whose properties are modified<DD><CODE>orig</CODE> - Origin bean whose properties are retrieved<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the <code>dest</code> or
<code>orig</code> argument is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="describe(java.lang.Object)"><!-- --></A><H3>
describe</H3>
<PRE>
public static java.util.Map <B>describe</B>(java.lang.Object&nbsp;bean)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the entire set of properties for which the specified bean
provides a read method. This map contains the unconverted property
values for all properties for which a read method is provided
(i.e. where the <code>getReadMethod()</code> returns non-null).<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose properties are to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getIndexedProperty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getIndexedProperty</H3>
<PRE>
public static java.lang.Object <B>getIndexedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the value of the specified indexed property of the specified
bean, with no type conversions. The zero-relative index of the
required value must be included (in square brackets) as a suffix to
the property name, or <code>IllegalArgumentException</code> will be
thrown.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be extracted<DD><CODE>name</CODE> - <code>propertyname[index]</code> of the property value
to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getIndexedProperty(java.lang.Object, java.lang.String, int)"><!-- --></A><H3>
getIndexedProperty</H3>
<PRE>
public static java.lang.Object <B>getIndexedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
int&nbsp;index)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the value of the specified indexed property of the specified
bean, with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be extracted<DD><CODE>name</CODE> - Simple property name of the property value to be extracted<DD><CODE>index</CODE> - Index of the property value to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getNestedProperty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getNestedProperty</H3>
<PRE>
public static java.lang.Object <B>getNestedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the value of the (possibly nested) property of the specified
name, for the specified bean, with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be extracted<DD><CODE>name</CODE> - Possibly nested name of the property to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if a nested reference to a
property returns null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getProperty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getProperty</H3>
<PRE>
public static java.lang.Object <B>getProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the value of the specified property of the specified bean,
no matter which property reference format is used, with no
type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be extracted<DD><CODE>name</CODE> - Possibly indexed and/or nested name of the property
to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getPropertyDescriptor(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getPropertyDescriptor</H3>
<PRE>
public static java.beans.PropertyDescriptor <B>getPropertyDescriptor</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Retrieve the property descriptor for the specified property of the
specified bean, or return <code>null</code> 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.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean for which a property descriptor is requested<DD><CODE>name</CODE> - Possibly indexed and/or nested name of the property for
which a property descriptor is requested<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if a nested reference to a
property returns null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getPropertyDescriptors(java.lang.Object)"><!-- --></A><H3>
getPropertyDescriptors</H3>
<PRE>
public static java.beans.PropertyDescriptor[] <B>getPropertyDescriptors</B>(java.lang.Object&nbsp;bean)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Retrieve the property descriptors for the specified bean, introspecting
and caching them the first time a particular bean class is encountered.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean for which property descriptors are requested<DT><B>Throws:</B><DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> is null</DL>
</DD>
</DL>
<HR>
<A NAME="getPropertyEditorClass(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getPropertyEditorClass</H3>
<PRE>
public static java.lang.Class <B>getPropertyEditorClass</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the Java Class repesenting the property editor class that has
been registered for this property (if any). This method follows the
same name resolution rules used by <code>getPropertyDescriptor()</code>,
so if the last element of a name reference is indexed, the property
editor for the underlying property's class is returned.
<p>
Note that <code>null</code> 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.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean for which a property descriptor is requested<DD><CODE>name</CODE> - Possibly indexed and/or nested name of the property for
which a property descriptor is requested<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if a nested reference to a
property returns null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getPropertyType(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getPropertyType</H3>
<PRE>
public static java.lang.Class <B>getPropertyType</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the Java Class representing the property type of the specified
property, or <code>null</code> if there is no such property for the
specified bean. This method follows the same name resolution rules
used by <code>getPropertyDescriptor()</code>, 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, <code>null</code> is returned.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean for which a property descriptor is requested<DD><CODE>name</CODE> - Possibly indexed and/or nested name of the property for
which a property descriptor is requested<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if a nested reference to a
property returns null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getReadMethod(java.beans.PropertyDescriptor)"><!-- --></A><H3>
getReadMethod</H3>
<PRE>
public static java.lang.reflect.Method <B>getReadMethod</B>(java.beans.PropertyDescriptor&nbsp;descriptor)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return an accessible property getter method for this property,
if there is one; otherwise return <code>null</code>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>descriptor</CODE> - Property descriptor to return a getter for</DL>
</DD>
</DL>
<HR>
<A NAME="getSimpleProperty(java.lang.Object, java.lang.String)"><!-- --></A><H3>
getSimpleProperty</H3>
<PRE>
public static java.lang.Object <B>getSimpleProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return the value of the specified simple property of the specified
bean, with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be extracted<DD><CODE>name</CODE> - Name of the property to be extracted<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the property name
is nested or indexed<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getWriteMethod(java.beans.PropertyDescriptor)"><!-- --></A><H3>
getWriteMethod</H3>
<PRE>
public static java.lang.reflect.Method <B>getWriteMethod</B>(java.beans.PropertyDescriptor&nbsp;descriptor)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return an accessible property setter method for this property,
if there is one; otherwise return <code>null</code>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>descriptor</CODE> - Property descriptor to return a setter for</DL>
</DD>
</DL>
<HR>
<A NAME="setIndexedProperty(java.lang.Object, java.lang.String, java.lang.Object)"><!-- --></A><H3>
setIndexedProperty</H3>
<PRE>
public static void <B>setIndexedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Set the value of the specified indexed property of the specified
bean, with no type conversions. The zero-relative index of the
required value must be included (in square brackets) as a suffix to
the property name, or <code>IllegalArgumentException</code> will be
thrown.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be modified<DD><CODE>name</CODE> - <code>propertyname[index]</code> of the property value
to be modified<DD><CODE>value</CODE> - Value to which the specified property element
should be set<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="setIndexedProperty(java.lang.Object, java.lang.String, int, java.lang.Object)"><!-- --></A><H3>
setIndexedProperty</H3>
<PRE>
public static void <B>setIndexedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
int&nbsp;index,
java.lang.Object&nbsp;value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Set the value of the specified indexed property of the specified
bean, with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be set<DD><CODE>name</CODE> - Simple property name of the property value to be set<DD><CODE>index</CODE> - Index of the property value to be set<DD><CODE>value</CODE> - Value to which the indexed property element is to be set<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="setNestedProperty(java.lang.Object, java.lang.String, java.lang.Object)"><!-- --></A><H3>
setNestedProperty</H3>
<PRE>
public static void <B>setNestedProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Set the value of the (possibly nested) property of the specified
name, for the specified bean, with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be modified<DD><CODE>name</CODE> - Possibly nested name of the property to be modified<DD><CODE>value</CODE> - Value to which the property is to be set<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if a nested reference to a
property returns null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="setProperty(java.lang.Object, java.lang.String, java.lang.Object)"><!-- --></A><H3>
setProperty</H3>
<PRE>
public static void <B>setProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Set the value of the specified property of the specified bean,
no matter which property reference format is used, with no
type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be modified<DD><CODE>name</CODE> - Possibly indexed and/or nested name of the property
to be modified<DD><CODE>value</CODE> - Value to which this property is to be set<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="setSimpleProperty(java.lang.Object, java.lang.String, java.lang.Object)"><!-- --></A><H3>
setSimpleProperty</H3>
<PRE>
public static void <B>setSimpleProperty</B>(java.lang.Object&nbsp;bean,
java.lang.String&nbsp;name,
java.lang.Object&nbsp;value)
throws java.lang.IllegalAccessException,
java.lang.reflect.InvocationTargetException,
java.lang.NoSuchMethodException</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Set the value of the specified simple property of the specified bean,
with no type conversions.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>bean</CODE> - Bean whose property is to be modified<DD><CODE>name</CODE> - Name of the property to be modified<DD><CODE>value</CODE> - Value to which the property should be set<DT><B>Throws:</B><DD><CODE>java.lang.IllegalAccessException</CODE> - if the caller does not have
access to the property accessor method<DD><CODE>java.lang.IllegalArgumentException</CODE> - if <code>bean</code> or
<code>name</code> is null<DD><CODE>java.lang.IllegalArgumentException</CODE> - if the property name is
nested or indexed<DD><CODE>java.lang.reflect.InvocationTargetException</CODE> - if the property accessor method
throws an exception<DD><CODE>java.lang.NoSuchMethodException</CODE> - if an accessor method for this
propety cannot be found</DL>
</DD>
</DL>
<HR>
<A NAME="getAccessibleMethod(java.lang.reflect.Method)"><!-- --></A><H3>
getAccessibleMethod</H3>
<PRE>
private static java.lang.reflect.Method <B>getAccessibleMethod</B>(java.lang.reflect.Method&nbsp;method)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return an accessible method (that is, one that can be invoked via
reflection) that implements the specified Method. If no such method
can be found, return <code>null</code>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>method</CODE> - The method that we wish to call</DL>
</DD>
</DL>
<HR>
<A NAME="getAccessibleMethodFromInterfaceNest(java.lang.Class, java.lang.String, java.lang.Class[])"><!-- --></A><H3>
getAccessibleMethodFromInterfaceNest</H3>
<PRE>
private static java.lang.reflect.Method <B>getAccessibleMethodFromInterfaceNest</B>(java.lang.Class&nbsp;clazz,
java.lang.String&nbsp;methodName,
java.lang.Class[]&nbsp;parameterTypes)</PRE>
<DL>
<DD><B>Deprecated.</B>&nbsp;<DD>Return an accessible method (that is, one that can be invoked via
reflection) that implements the specified method, by scanning through
all implemented interfaces and subinterfaces. If no such Method
can be found, return <code>null</code>.<DD><DL>
<DT><B>Parameters:</B><DD><CODE>clazz</CODE> - Parent class for the interfaces to be checked<DD><CODE>methodName</CODE> - Method name of the method we wish to call<DD><CODE>parameterTypes</CODE> - The parameter type signatures</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../org/apache/struts/util/PropertyMessageResourcesFactory.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../org/apache/struts/util/RequestUtils.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../index.html" TARGET="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="PropertyUtils.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->
<HR>
Copyright © 2000-2001 - Apache Software Foundation
</BODY>
</HTML>