<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.4.2_08) on Sat Apr 22 18:56:45 PDT 2006 -->
<TITLE>
BeanDeserializer (Axis API)
</TITLE>

<META NAME="keywords" CONTENT="org.apache.axis.encoding.ser.BeanDeserializer class">

<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    parent.document.title="BeanDeserializer (Axis API)";
}
</SCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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="class-use/BeanDeserializer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/axis/encoding/ser/BaseSerializerFactory.html" title="class in org.apache.axis.encoding.ser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializerFactory.html" title="class in org.apache.axis.encoding.ser"><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="BeanDeserializer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&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>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.axis.encoding.ser</FONT>
<BR>
Class BeanDeserializer</H2>
<PRE>
java.lang.Object
  <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by">org.xml.sax.helpers.DefaultHandler
      <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">org.apache.axis.message.SOAPHandler</A>
          <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">org.apache.axis.encoding.DeserializerImpl</A>
              <IMG SRC="../../../../../resources/inherit.gif" ALT="extended by"><B>org.apache.axis.encoding.ser.BeanDeserializer</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</A>, org.xml.sax.ContentHandler, <A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A>, <A HREF="../../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</A>, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler, java.io.Serializable</DD>
</DL>
<HR>
<DL>
<DT>public class <B>BeanDeserializer</B><DT>extends <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A><DT>implements java.io.Serializable</DL>

<P>
General purpose deserializer for an arbitrary java bean.
<P>

<P>
<DL>
<DT><B>Author:</B></DT>
  <DD>Sam Ruby <rubys@us.ibm.com>, Rich Scheuerle <scheu@us.ibm.com>, Tom Jordahl <tomj@macromedia.com></DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.axis.encoding.ser.BeanDeserializer">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== NESTED CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<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>protected &nbsp;<A HREF="../../../../../org/apache/axis/encoding/ser/SimpleDeserializer.html" title="class in org.apache.axis.encoding.ser">SimpleDeserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#cacheStringDSer">cacheStringDSer</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#cacheXMLType">cacheXMLType</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#collectionIndex">collectionIndex</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/axis/encoding/Target.html" title="interface in org.apache.axis.encoding">Target</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#constructorTarget">constructorTarget</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor Target object to use (if constructorToUse != null)</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.reflect.Constructor</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#constructorToUse">constructorToUse</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructor if no default constructor</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;org.apache.commons.logging.Log</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#log">log</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#prevQName">prevQName</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.util.Map</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#propertyMap">propertyMap</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#typeDesc">typeDesc</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type metadata about this class for XML deserialization</TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.axis.encoding.DeserializerImpl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class org.apache.axis.encoding.<A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#componentsReadyFlag">componentsReadyFlag</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#defaultType">defaultType</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#id">id</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#isEnded">isEnded</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#isHref">isHref</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#isNil">isNil</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#targets">targets</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#value">value</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_org.apache.axis.message.SOAPHandler"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Fields inherited from class org.apache.axis.message.<A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/axis/message/SOAPHandler.html#myElement">myElement</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->

<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<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/axis/encoding/ser/BeanDeserializer.html#BeanDeserializer(java.lang.Class, javax.xml.namespace.QName)">BeanDeserializer</A></B>(java.lang.Class&nbsp;javaType,
                 <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#BeanDeserializer(java.lang.Class, javax.xml.namespace.QName, org.apache.axis.description.TypeDesc)">BeanDeserializer</A></B>(java.lang.Class&nbsp;javaType,
                 <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                 <A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A>&nbsp;typeDesc)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#BeanDeserializer(java.lang.Class, javax.xml.namespace.QName, org.apache.axis.description.TypeDesc, java.util.Map)">BeanDeserializer</A></B>(java.lang.Class&nbsp;javaType,
                 <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                 <A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A>&nbsp;typeDesc,
                 java.util.Map&nbsp;propertyMap)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<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>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#characters(char[], int, int)">characters</A></B>(char[]&nbsp;chars,
           int&nbsp;start,
           int&nbsp;end)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/axis/utils/BeanPropertyDescriptor.html" title="class in org.apache.axis.utils">BeanPropertyDescriptor</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#getAnyPropertyDesc()">getAnyPropertyDesc</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get a BeanPropertyDescriptor which indicates where we should
 put extensibility elements (i.e.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;<A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#getDeserializer(javax.xml.namespace.QName, java.lang.Class, java.lang.String, org.apache.axis.encoding.DeserializationContext)">getDeserializer</A></B>(<A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                java.lang.Class&nbsp;javaType,
                java.lang.String&nbsp;href,
                <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the Deserializer for the attribute or child element.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#handleMixedContent()">handleMixedContent</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#onEndElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">onEndElement</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onEndElement is called by endElement.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartChild</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             java.lang.String&nbsp;prefix,
             org.xml.sax.Attributes&nbsp;attributes,
             <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Deserializer interface called on each child element encountered in
 the XML stream.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartElement</A></B>(java.lang.String&nbsp;namespace,
               java.lang.String&nbsp;localName,
               java.lang.String&nbsp;prefix,
               org.xml.sax.Attributes&nbsp;attributes,
               <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the bean properties that correspond to element attributes.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializer.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">startElement</A></B>(java.lang.String&nbsp;namespace,
             java.lang.String&nbsp;localName,
             java.lang.String&nbsp;prefix,
             org.xml.sax.Attributes&nbsp;attributes,
             <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;startElement
 
 The ONLY reason that this method is overridden is so that
 the object value can be set or a reasonable exception is thrown
 indicating that the object cannot be created.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.axis.encoding.DeserializerImpl"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class org.apache.axis.encoding.<A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#addChildDeserializer(org.apache.axis.encoding.Deserializer)">addChildDeserializer</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#componentsReady()">componentsReady</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#endElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">endElement</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#getDefaultType()">getDefaultType</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#getMechanismType()">getMechanismType</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#getValue()">getValue</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#getValue(java.lang.Object)">getValue</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#getValueTargets()">getValueTargets</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#moveValueTargets(org.apache.axis.encoding.Deserializer)">moveValueTargets</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#registerValueTarget(org.apache.axis.encoding.Target)">registerValueTarget</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#removeValueTargets()">removeValueTargets</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#setChildValue(java.lang.Object, java.lang.Object)">setChildValue</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#setDefaultType(javax.xml.namespace.QName)">setDefaultType</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#setValue(java.lang.Object)">setValue</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#setValue(java.lang.Object, java.lang.Object)">setValue</A>, <A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#valueComplete()">valueComplete</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.axis.message.SOAPHandler"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class org.apache.axis.message.<A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</A></B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/axis/message/SOAPHandler.html#makeNewElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">makeNewElement</A>, <A HREF="../../../../../org/apache/axis/message/SOAPHandler.html#onEndChild(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">onEndChild</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.xml.sax.helpers.DefaultHandler"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class org.xml.sax.helpers.DefaultHandler</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning</CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<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, toString, wait, wait, wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="log"><!-- --></A><H3>
log</H3>
<PRE>
protected static org.apache.commons.logging.Log <B>log</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="propertyMap"><!-- --></A><H3>
propertyMap</H3>
<PRE>
protected java.util.Map <B>propertyMap</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="prevQName"><!-- --></A><H3>
prevQName</H3>
<PRE>
protected <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A> <B>prevQName</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="constructorToUse"><!-- --></A><H3>
constructorToUse</H3>
<PRE>
protected java.lang.reflect.Constructor <B>constructorToUse</B></PRE>
<DL>
<DD>Constructor if no default constructor
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="constructorTarget"><!-- --></A><H3>
constructorTarget</H3>
<PRE>
protected <A HREF="../../../../../org/apache/axis/encoding/Target.html" title="interface in org.apache.axis.encoding">Target</A> <B>constructorTarget</B></PRE>
<DL>
<DD>Constructor Target object to use (if constructorToUse != null)
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="typeDesc"><!-- --></A><H3>
typeDesc</H3>
<PRE>
protected <A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A> <B>typeDesc</B></PRE>
<DL>
<DD>Type metadata about this class for XML deserialization
<P>
<DL>
</DL>
</DL>
<HR>

<A NAME="collectionIndex"><!-- --></A><H3>
collectionIndex</H3>
<PRE>
protected int <B>collectionIndex</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="cacheStringDSer"><!-- --></A><H3>
cacheStringDSer</H3>
<PRE>
protected <A HREF="../../../../../org/apache/axis/encoding/ser/SimpleDeserializer.html" title="class in org.apache.axis.encoding.ser">SimpleDeserializer</A> <B>cacheStringDSer</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>

<A NAME="cacheXMLType"><!-- --></A><H3>
cacheXMLType</H3>
<PRE>
protected <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A> <B>cacheXMLType</B></PRE>
<DL>
<DL>
</DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->

<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="BeanDeserializer(java.lang.Class, javax.xml.namespace.QName)"><!-- --></A><H3>
BeanDeserializer</H3>
<PRE>
public <B>BeanDeserializer</B>(java.lang.Class&nbsp;javaType,
                        <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType)</PRE>
<DL>
</DL>
<HR>

<A NAME="BeanDeserializer(java.lang.Class, javax.xml.namespace.QName, org.apache.axis.description.TypeDesc)"><!-- --></A><H3>
BeanDeserializer</H3>
<PRE>
public <B>BeanDeserializer</B>(java.lang.Class&nbsp;javaType,
                        <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                        <A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A>&nbsp;typeDesc)</PRE>
<DL>
</DL>
<HR>

<A NAME="BeanDeserializer(java.lang.Class, javax.xml.namespace.QName, org.apache.axis.description.TypeDesc, java.util.Map)"><!-- --></A><H3>
BeanDeserializer</H3>
<PRE>
public <B>BeanDeserializer</B>(java.lang.Class&nbsp;javaType,
                        <A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                        <A HREF="../../../../../org/apache/axis/description/TypeDesc.html" title="class in org.apache.axis.description">TypeDesc</A>&nbsp;typeDesc,
                        java.util.Map&nbsp;propertyMap)</PRE>
<DL>
</DL>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
startElement</H3>
<PRE>
public void <B>startElement</B>(java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         java.lang.String&nbsp;prefix,
                         org.xml.sax.Attributes&nbsp;attributes,
                         <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)
                  throws org.xml.sax.SAXException</PRE>
<DL>
<DD>startElement
 
 The ONLY reason that this method is overridden is so that
 the object value can be set or a reasonable exception is thrown
 indicating that the object cannot be created.  This is done
 at this point so that it occurs BEFORE href/id processing.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">startElement</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">startElement</A></CODE> in class <CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace of the element<DD><CODE>localName</CODE> - is the name of the element<DD><CODE>prefix</CODE> - is the prefix of the element<DD><CODE>attributes</CODE> - are the attributes on the element...used to get the
                   type<DD><CODE>context</CODE> - is the DeserializationContext
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
onStartChild</H3>
<PRE>
public <A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</A> <B>onStartChild</B>(java.lang.String&nbsp;namespace,
                                java.lang.String&nbsp;localName,
                                java.lang.String&nbsp;prefix,
                                org.xml.sax.Attributes&nbsp;attributes,
                                <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)
                         throws org.xml.sax.SAXException</PRE>
<DL>
<DD>Deserializer interface called on each child element encountered in
 the XML stream.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartChild</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartChild</A></CODE> in class <CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace of the child element<DD><CODE>localName</CODE> - is the local name of the child element<DD><CODE>prefix</CODE> - is the prefix used on the name of the child element<DD><CODE>attributes</CODE> - are the attributes of the child element<DD><CODE>context</CODE> - is the deserialization context.
<DT><B>Returns:</B><DD>is a Deserializer to use to deserialize a child (must be
 a derived class of SOAPHandler) or null if no deserialization should
 be performed.
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getAnyPropertyDesc()"><!-- --></A><H3>
getAnyPropertyDesc</H3>
<PRE>
public <A HREF="../../../../../org/apache/axis/utils/BeanPropertyDescriptor.html" title="class in org.apache.axis.utils">BeanPropertyDescriptor</A> <B>getAnyPropertyDesc</B>()</PRE>
<DL>
<DD>Get a BeanPropertyDescriptor which indicates where we should
 put extensibility elements (i.e. XML which falls under the
 auspices of an &lt;xsd:any&gt; declaration in the schema)
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>an appropriate BeanPropertyDescriptor, or null</DL>
</DD>
</DL>
<HR>

<A NAME="onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
onStartElement</H3>
<PRE>
public void <B>onStartElement</B>(java.lang.String&nbsp;namespace,
                           java.lang.String&nbsp;localName,
                           java.lang.String&nbsp;prefix,
                           org.xml.sax.Attributes&nbsp;attributes,
                           <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)
                    throws org.xml.sax.SAXException</PRE>
<DL>
<DD>Set the bean properties that correspond to element attributes.
 
 This method is invoked after startElement when the element requires
 deserialization (i.e. the element is not an href and the value is not
 nil.)
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartElement</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">onStartElement</A></CODE> in class <CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace of the element<DD><CODE>localName</CODE> - is the name of the element<DD><CODE>prefix</CODE> - is the prefix of the element<DD><CODE>attributes</CODE> - are the attributes on the element...used to get the
                   type<DD><CODE>context</CODE> - is the DeserializationContext
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="getDeserializer(javax.xml.namespace.QName, java.lang.Class, java.lang.String, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
getDeserializer</H3>
<PRE>
protected <A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A> <B>getDeserializer</B>(<A HREF="../../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</A>&nbsp;xmlType,
                                       java.lang.Class&nbsp;javaType,
                                       java.lang.String&nbsp;href,
                                       <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)</PRE>
<DL>
<DD>Get the Deserializer for the attribute or child element.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>xmlType</CODE> - QName of the attribute/child element or null if not known.<DD><CODE>javaType</CODE> - Class of the corresponding property<DD><CODE>href</CODE> - String is the value of the href attribute, which is used
             to determine whether the child element is complete or an 
             href to another element.<DD><CODE>context</CODE> - DeserializationContext
<DT><B>Returns:</B><DD>Deserializer or null if not found.</DL>
</DD>
</DL>
<HR>

<A NAME="characters(char[], int, int)"><!-- --></A><H3>
characters</H3>
<PRE>
public void <B>characters</B>(char[]&nbsp;chars,
                       int&nbsp;start,
                       int&nbsp;end)
                throws org.xml.sax.SAXException</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE>characters</CODE> in interface <CODE>org.xml.sax.ContentHandler</CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/axis/message/SOAPHandler.html#characters(char[], int, int)">characters</A></CODE> in class <CODE><A HREF="../../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</A></CODE></DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="onEndElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)"><!-- --></A><H3>
onEndElement</H3>
<PRE>
public void <B>onEndElement</B>(java.lang.String&nbsp;namespace,
                         java.lang.String&nbsp;localName,
                         <A HREF="../../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</A>&nbsp;context)
                  throws org.xml.sax.SAXException</PRE>
<DL>
<DD><B>Description copied from class: <CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></CODE></B></DD>
<DD>onEndElement is called by endElement.  It is not called
 if the element has an href.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html#onEndElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">onEndElement</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</A></CODE><DT><B>Overrides:</B><DD><CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html#onEndElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">onEndElement</A></CODE> in class <CODE><A HREF="../../../../../org/apache/axis/encoding/DeserializerImpl.html" title="class in org.apache.axis.encoding">DeserializerImpl</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>namespace</CODE> - is the namespace of the child element<DD><CODE>localName</CODE> - is the local name of the child element<DD><CODE>context</CODE> - is the deserialization context
<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<HR>

<A NAME="handleMixedContent()"><!-- --></A><H3>
handleMixedContent</H3>
<PRE>
protected void <B>handleMixedContent</B>()
                           throws org.xml.sax.SAXException</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Throws:</B>
<DD><CODE>org.xml.sax.SAXException</CODE></DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=3 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <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="class-use/BeanDeserializer.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&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/axis/encoding/ser/BaseSerializerFactory.html" title="class in org.apache.axis.encoding.ser"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/axis/encoding/ser/BeanDeserializerFactory.html" title="class in org.apache.axis.encoding.ser"><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="BeanDeserializer.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>

</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&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>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2005 Apache Web Services Project. All Rights Reserved.
</BODY>
</HTML>
