<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>DeserializerImpl (Apache Axis)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
</head>
<body>
<script type="text/javascript"><!--
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="DeserializerImpl (Apache Axis)";
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar_top">
<!--   -->
</a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DeserializerImpl.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/axis/encoding/DeserializerFactory.html" title="interface in org.apache.axis.encoding"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis/encoding/DeserializerTarget.html" title="class in org.apache.axis.encoding"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/encoding/DeserializerImpl.html" target="_top">Frames</a></li>
<li><a href="DeserializerImpl.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.axis.encoding</div>
<h2 title="Class DeserializerImpl" class="title">Class DeserializerImpl</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/helpers.DefaultHandler.html?is-external=true" title="class or interface in org.xml.sax">org.xml.sax.helpers.DefaultHandler</a></li>
<li>
<ul class="inheritance">
<li><a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">org.apache.axis.message.SOAPHandler</a></li>
<li>
<ul class="inheritance">
<li>org.apache.axis.encoding.DeserializerImpl</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>, <a href="../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</a>, <a href="../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/ContentHandler.html?is-external=true" title="class or interface in org.xml.sax">ContentHandler</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/DTDHandler.html?is-external=true" title="class or interface in org.xml.sax">DTDHandler</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/EntityResolver.html?is-external=true" title="class or interface in org.xml.sax">EntityResolver</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/ErrorHandler.html?is-external=true" title="class or interface in org.xml.sax">ErrorHandler</a></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><a href="../../../../org/apache/axis/encoding/ser/ArrayDeserializer.html" title="class in org.apache.axis.encoding.ser">ArrayDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/BeanDeserializer.html" title="class in org.apache.axis.encoding.ser">BeanDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/castor/CastorDeserializer.html" title="class in org.apache.axis.encoding.ser.castor">CastorDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/castor/CastorEnumTypeDeserializer.html" title="class in org.apache.axis.encoding.ser.castor">CastorEnumTypeDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/DocumentDeserializer.html" title="class in org.apache.axis.encoding.ser">DocumentDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/ElementDeserializer.html" title="class in org.apache.axis.encoding.ser">ElementDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/JAFDataHandlerDeserializer.html" title="class in org.apache.axis.encoding.ser">JAFDataHandlerDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/MapDeserializer.html" title="class in org.apache.axis.encoding.ser">MapDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/SimpleDeserializer.html" title="class in org.apache.axis.encoding.ser">SimpleDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/VectorDeserializer.html" title="class in org.apache.axis.encoding.ser">VectorDeserializer</a>, <a href="../../../../org/apache/axis/encoding/ser/xbeans/XmlBeanDeserializer.html" title="class in org.apache.axis.encoding.ser.xbeans">XmlBeanDeserializer</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">DeserializerImpl</span>
extends <a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a>
implements <a href="../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</a>, <a href="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</a>, <a href="../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</a></pre>
<div class="block">The Deserializer base class.</div>
<dl><dt><span class="strong">Author:</span></dt>
  <dd>Glen Daniels (gdaniels@allaire.com)
 Re-architected for JAX-RPC Compliance by, Rich Scheuerle (sche@us.ibm.com)</dd>
<dt><span class="strong">See Also:</span></dt><dd><a href="../../../../serialized-form.html#org.apache.axis.encoding.DeserializerImpl">Serialized Form</a></dd></dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_summary">
<!--   -->
</a>
<h3>Field Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#componentsReadyFlag">componentsReadyFlag</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#defaultType">defaultType</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#id">id</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#isEnded">isEnded</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#isHref">isHref</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#isNil">isNil</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected static org.apache.commons.logging.Log</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#log">log</a></strong></code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#targets">targets</a></strong></code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#value">value</a></strong></code>&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.apache.axis.message.SOAPHandler">
<!--   -->
</a>
<h3>Fields inherited from class&nbsp;org.apache.axis.message.<a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></h3>
<code><a href="../../../../org/apache/axis/message/SOAPHandler.html#myElement">myElement</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#DeserializerImpl()">DeserializerImpl</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#addChildDeserializer(org.apache.axis.encoding.Deserializer)">addChildDeserializer</a></strong>(<a href="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</a>&nbsp;dSer)</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#componentsReady()">componentsReady</a></strong>()</code>
<div class="block">Some deserializers (ArrayDeserializer) require
 all of the component values to be known before the
 value is complete.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#endElement(java.lang.String,%20java.lang.String,%20org.apache.axis.encoding.DeserializationContext)">endElement</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
          <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
          <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)</code>
<div class="block">endElement is called when the end element tag is reached.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#getDefaultType()">getDefaultType</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#getMechanismType()">getMechanismType</a></strong>()</code>
<div class="block">JAX-RPC compliant method which returns mechanism type.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#getValue()">getValue</a></strong>()</code>
<div class="block">Get the deserialized value.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#getValue(java.lang.Object)">getValue</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)</code>
<div class="block">If the deserializer has component values (like ArrayDeserializer)
 this method gets the specific component via the hint.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#getValueTargets()">getValueTargets</a></strong>()</code>
<div class="block">Get the Value Targets of the Deserializer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#moveValueTargets(org.apache.axis.encoding.Deserializer)">moveValueTargets</a></strong>(<a href="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</a>&nbsp;other)</code>
<div class="block">Move someone else's targets to our own (see DeserializationContext)

 The DeserializationContext only allows one Deserializer to  
 wait for a unknown multi-ref'ed value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#onEndElement(java.lang.String,%20java.lang.String,%20org.apache.axis.encoding.DeserializationContext)">onEndElement</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
            <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)</code>
<div class="block">onEndElement is called by endElement.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#onStartChild(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">onStartChild</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
            <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)</code>
<div class="block">onStartChild is called on each child element.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#onStartElement(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">onStartElement</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
              <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)</code>
<div class="block">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.)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#registerValueTarget(org.apache.axis.encoding.Target)">registerValueTarget</a></strong>(<a href="../../../../org/apache/axis/encoding/Target.html" title="interface in org.apache.axis.encoding">Target</a>&nbsp;target)</code>
<div class="block">For deserializers of non-primitives, the value may not be
 known until later (due to multi-referencing).</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#removeValueTargets()">removeValueTargets</a></strong>()</code>
<div class="block">Remove the Value Targets of the Deserializer.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#setChildValue(java.lang.Object,%20java.lang.Object)">setChildValue</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
             <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)</code>
<div class="block">If the deserializer has component values (like ArrayDeserializer)
 this method sets the specific component via the hint.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#setDefaultType(javax.xml.namespace.QName)">setDefaultType</a></strong>(<a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a>&nbsp;qName)</code>
<div class="block">In some circumstances an element may not have 
 a type attribute, but a default type qname is known from
 information in the container.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#setValue(java.lang.Object)">setValue</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</code>
<div class="block">Set the deserialized value.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#setValue(java.lang.Object,%20java.lang.Object)">setValue</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
        <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#startElement(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">startElement</a></strong>(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
            <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)</code>
<div class="block">This method is invoked when an element start tag is encountered.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/DeserializerImpl.html#valueComplete()">valueComplete</a></strong>()</code>
<div class="block">The valueComplete() method is invoked when the
 end tag of the element is read.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axis.message.SOAPHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.axis.message.<a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></h3>
<code><a href="../../../../org/apache/axis/message/SOAPHandler.html#characters(char[],%20int,%20int)">characters</a>, <a href="../../../../org/apache/axis/message/SOAPHandler.html#makeNewElement(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">makeNewElement</a>, <a href="../../../../org/apache/axis/message/SOAPHandler.html#onEndChild(java.lang.String,%20java.lang.String,%20org.apache.axis.encoding.DeserializationContext)">onEndChild</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.xml.sax.helpers.DefaultHandler">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;org.xml.sax.helpers.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/helpers.DefaultHandler.html?is-external=true" title="class or interface in org.xml.sax">DefaultHandler</a></h3>
<code>endDocument, endElement, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startDocument, startElement, startPrefixMapping, unparsedEntityDecl, warning</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field_detail">
<!--   -->
</a>
<h3>Field Detail</h3>
<a name="log">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>log</h4>
<pre>protected static&nbsp;org.apache.commons.logging.Log log</pre>
</li>
</ul>
<a name="value">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>value</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a> value</pre>
</li>
</ul>
<a name="isEnded">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isEnded</h4>
<pre>protected&nbsp;boolean isEnded</pre>
</li>
</ul>
<a name="targets">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>targets</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a> targets</pre>
</li>
</ul>
<a name="defaultType">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>defaultType</h4>
<pre>protected&nbsp;<a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a> defaultType</pre>
</li>
</ul>
<a name="componentsReadyFlag">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>componentsReadyFlag</h4>
<pre>protected&nbsp;boolean componentsReadyFlag</pre>
</li>
</ul>
<a name="isHref">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isHref</h4>
<pre>protected&nbsp;boolean isHref</pre>
</li>
</ul>
<a name="isNil">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isNil</h4>
<pre>protected&nbsp;boolean isNil</pre>
</li>
</ul>
<a name="id">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>id</h4>
<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> id</pre>
</li>
</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="DeserializerImpl()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>DeserializerImpl</h4>
<pre>public&nbsp;DeserializerImpl()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="getMechanismType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMechanismType</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getMechanismType()</pre>
<div class="block">JAX-RPC compliant method which returns mechanism type.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../javax/xml/rpc/encoding/Deserializer.html#getMechanismType()">getMechanismType</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</a></code></dd>
<dt><span class="strong">Returns:</span></dt><dd>XML processing mechanism type</dd></dl>
</li>
</ul>
<a name="getValue()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getValue()</pre>
<div class="block">Get the deserialized value.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Object representing deserialized value or null</dd></dl>
</li>
</ul>
<a name="setValue(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;void&nbsp;setValue(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value)</pre>
<div class="block">Set the deserialized value.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>value</code> - Object representing deserialized value</dd></dl>
</li>
</ul>
<a name="getValue(java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getValue(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)</pre>
<div class="block">If the deserializer has component values (like ArrayDeserializer)
 this method gets the specific component via the hint.
 The default implementation returns null.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Object representing deserialized value or null</dd></dl>
</li>
</ul>
<a name="setChildValue(java.lang.Object, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setChildValue</h4>
<pre>public&nbsp;void&nbsp;setChildValue(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
                 <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)
                   throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">If the deserializer has component values (like ArrayDeserializer)
 this method sets the specific component via the hint.
 The default implementation does nothing.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>hint</code> - Object representing deserialized value or null</dd><dd><code>value</code> - Object representing deserialized value or null</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="setValue(java.lang.Object, java.lang.Object)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setValue</h4>
<pre>public&nbsp;void&nbsp;setValue(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;value,
            <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;hint)
              throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/encoding/Callback.html#setValue(java.lang.Object,%20java.lang.Object)">setValue</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="setDefaultType(javax.xml.namespace.QName)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultType</h4>
<pre>public&nbsp;void&nbsp;setDefaultType(<a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a>&nbsp;qName)</pre>
<div class="block">In some circumstances an element may not have 
 a type attribute, but a default type qname is known from
 information in the container.  For example,
 an element of an array may not have a type= attribute, 
 so the default qname is the component type of the array.
 This method is used to communicate the default type information 
 to the deserializer.</div>
</li>
</ul>
<a name="getDefaultType()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDefaultType</h4>
<pre>public&nbsp;<a href="../../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a>&nbsp;getDefaultType()</pre>
</li>
</ul>
<a name="registerValueTarget(org.apache.axis.encoding.Target)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>registerValueTarget</h4>
<pre>public&nbsp;void&nbsp;registerValueTarget(<a href="../../../../org/apache/axis/encoding/Target.html" title="interface in org.apache.axis.encoding">Target</a>&nbsp;target)</pre>
<div class="block">For deserializers of non-primitives, the value may not be
 known until later (due to multi-referencing).  In such
 cases the deserializer registers Target object(s).  When
 the value is known, the set(value) will be invoked for
 each Target registered with the Deserializer.  The Target
 object abstracts the function of setting a target with a
 value.  See the Target interface for more info.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>target</code> - </dd></dl>
</li>
</ul>
<a name="getValueTargets()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueTargets</h4>
<pre>public&nbsp;<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Vector.html?is-external=true" title="class or interface in java.util">Vector</a>&nbsp;getValueTargets()</pre>
<div class="block">Get the Value Targets of the Deserializer.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Vector of Target objects or null</dd></dl>
</li>
</ul>
<a name="removeValueTargets()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeValueTargets</h4>
<pre>public&nbsp;void&nbsp;removeValueTargets()</pre>
<div class="block">Remove the Value Targets of the Deserializer.</div>
</li>
</ul>
<a name="moveValueTargets(org.apache.axis.encoding.Deserializer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>moveValueTargets</h4>
<pre>public&nbsp;void&nbsp;moveValueTargets(<a href="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</a>&nbsp;other)</pre>
<div class="block">Move someone else's targets to our own (see DeserializationContext)

 The DeserializationContext only allows one Deserializer to  
 wait for a unknown multi-ref'ed value.  So to ensure
 that all of the targets are updated, this method is invoked
 to copy the Target objects to the waiting Deserializer.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>other</code> - is the Deserializer to copy targets from.</dd></dl>
</li>
</ul>
<a name="componentsReady()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>componentsReady</h4>
<pre>public&nbsp;boolean&nbsp;componentsReady()</pre>
<div class="block">Some deserializers (ArrayDeserializer) require
 all of the component values to be known before the
 value is complete.
 (For the ArrayDeserializer this is important because
 the elements are stored in an ArrayList, and all values
 must be known before the ArrayList is converted into the
 expected array.

 This routine is used to indicate when the components are ready.
 The default (true) is useful for most Deserializers.</div>
</li>
</ul>
<a name="valueComplete()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>valueComplete</h4>
<pre>public&nbsp;void&nbsp;valueComplete()
                   throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">The valueComplete() method is invoked when the
 end tag of the element is read.  This results
 in the setting of all registered Targets (see
 registerValueTarget).
 Note that the valueComplete() only processes
 the Targets if componentReady() returns true.
 So if you override componentReady(), then your
 specific Deserializer will need to call valueComplete()
 when your components are ready (See ArrayDeserializer)</div>
<dl><dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="addChildDeserializer(org.apache.axis.encoding.Deserializer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addChildDeserializer</h4>
<pre>public&nbsp;void&nbsp;addChildDeserializer(<a href="../../../../org/apache/axis/encoding/Deserializer.html" title="interface in org.apache.axis.encoding">Deserializer</a>&nbsp;dSer)</pre>
</li>
</ul>
<a name="startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>startElement</h4>
<pre>public&nbsp;void&nbsp;startElement(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
                <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
                <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
                <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)
                  throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">This method is invoked when an element start tag is encountered.
 DeserializerImpl provides default behavior, which involves the following:
   - directly handling the deserialization of a nill value
   - handling the registration of the id value.
   - handling the registration of a fixup if this element is an href.
   - calling onStartElement to do the actual deserialization if not nill or href cases.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/message/SOAPHandler.html#startElement(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">startElement</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>namespace</code> - is the namespace of the element</dd><dd><code>localName</code> - is the name of the element</dd><dd><code>prefix</code> - is the prefix of the element</dd><dd><code>attributes</code> - are the attributes on the element...used to get the type</dd><dd><code>context</code> - is the DeserializationContext

 Normally a specific Deserializer (FooDeserializer) should extend DeserializerImpl.
 Here is the flow that will occur in such cases:
   1) DeserializerImpl.startElement(...) will be called and do the id/href/nill stuff.
   2) If real deserialization needs to take place DeserializerImpl.onStartElement will be
      invoked, which will attempt to install the specific Deserializer (FooDeserializer)
   3) The FooDeserializer.startElement(...) will be called to do the Foo specific stuff.
      This results in a call to FooDeserializer.onStartElement(...) if startElement was
      not overridden.
   4) The onChildElement(...) method is called for each child element.  Nothing occurs
      if not overridden.  The FooDeserializer.onStartChild(...) method should return 
      the deserializer for the child element.
   5) When the end tag is reached, the endElement(..) method is invoked.  The default 
      behavior is to handle hrefs/ids, call onEndElement and then call the Deserializer
      valueComplete method.
 
 So the methods that you potentially want to override are:
   onStartElement, onStartChild, componentsReady, setValue(object, hint)
 You probably should not override startElement or endElement.
 If you need specific behaviour at the end of the element consider overriding
 onEndElement.

 See the pre-existing Deserializers for more information.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="onStartElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStartElement</h4>
<pre>public&nbsp;void&nbsp;onStartElement(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                  <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
                  <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
                  <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
                  <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)
                    throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">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.)
 DeserializerImpl provides default behavior, which simply
 involves obtaining a correct Deserializer and plugging its handler.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>namespace</code> - is the namespace of the element</dd><dd><code>localName</code> - is the name of the element</dd><dd><code>prefix</code> - is the prefix of the element</dd><dd><code>attributes</code> - are the attributes on the element...used to get the type</dd><dd><code>context</code> - is the DeserializationContext</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="onStartChild(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes, org.apache.axis.encoding.DeserializationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>onStartChild</h4>
<pre>public&nbsp;<a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a>&nbsp;onStartChild(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                       <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
                       <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;prefix,
                       <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/Attributes.html?is-external=true" title="class or interface in org.xml.sax">Attributes</a>&nbsp;attributes,
                       <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)
                         throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">onStartChild is called on each child element.
 The default behavior supplied by DeserializationImpl is to do nothing.
 A specific deserializer may perform other tasks.  For example a 
 BeanDeserializer will construct a deserializer for the indicated 
 property and return it.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/message/SOAPHandler.html#onStartChild(java.lang.String,%20java.lang.String,%20java.lang.String,%20org.xml.sax.Attributes,%20org.apache.axis.encoding.DeserializationContext)">onStartChild</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>namespace</code> - is the namespace of the child element</dd><dd><code>localName</code> - is the local name of the child element</dd><dd><code>prefix</code> - is the prefix used on the name of the child element</dd><dd><code>attributes</code> - are the attributes of the child element</dd><dd><code>context</code> - is the deserialization context.</dd>
<dt><span class="strong">Returns:</span></dt><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.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="endElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>endElement</h4>
<pre>public final&nbsp;void&nbsp;endElement(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
              <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)
                      throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">endElement is called when the end element tag is reached.
 It handles href/id information for multi-ref processing
 and invokes the valueComplete() method of the deserializer
 which sets the targets with the deserialized value.</div>
<dl>
<dt><strong>Overrides:</strong></dt>
<dd><code><a href="../../../../org/apache/axis/message/SOAPHandler.html#endElement(java.lang.String,%20java.lang.String,%20org.apache.axis.encoding.DeserializationContext)">endElement</a></code>&nbsp;in class&nbsp;<code><a href="../../../../org/apache/axis/message/SOAPHandler.html" title="class in org.apache.axis.message">SOAPHandler</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>namespace</code> - is the namespace of the child element</dd><dd><code>localName</code> - is the local name of the child element</dd><dd><code>context</code> - is the deserialization context</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
<a name="onEndElement(java.lang.String, java.lang.String, org.apache.axis.encoding.DeserializationContext)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>onEndElement</h4>
<pre>public&nbsp;void&nbsp;onEndElement(<a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;namespace,
                <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;localName,
                <a href="../../../../org/apache/axis/encoding/DeserializationContext.html" title="class in org.apache.axis.encoding">DeserializationContext</a>&nbsp;context)
                  throws <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></pre>
<div class="block">onEndElement is called by endElement.  It is not called
 if the element has an href.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>namespace</code> - is the namespace of the child element</dd><dd><code>localName</code> - is the local name of the child element</dd><dd><code>context</code> - is the deserialization context</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/xml/sax/SAXException.html?is-external=true" title="class or interface in org.xml.sax">SAXException</a></code></dd></dl>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar_bottom">
<!--   -->
</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/DeserializerImpl.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/axis/encoding/DeserializerFactory.html" title="interface in org.apache.axis.encoding"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis/encoding/DeserializerTarget.html" title="class in org.apache.axis.encoding"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/axis/encoding/DeserializerImpl.html" target="_top">Frames</a></li>
<li><a href="DeserializerImpl.html" target="_top">No Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses-noframe.html">All Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field_summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field_detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright © <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>