blob: bcb2df70476b13291b77438c13e1e9d64a50fc5a [file] [log] [blame]
<!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>Deserializer (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="Deserializer (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/Deserializer.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/DeserializationContext.html" title="class in org.apache.axis.encoding"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis/encoding/DeserializerFactory.html" title="interface 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/Deserializer.html" target="_top">Frames</a></li>
<li><a href="Deserializer.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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="Interface Deserializer" class="title">Interface Deserializer</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</a>, <a href="../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</a>, <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></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Deserializer</span>
extends <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></pre>
<div class="block">This interface describes the AXIS Deserializer.
A compliant implementiation must extend either
the AXIS SoapHandler (org.apache.axis.message.SOAPHandler)
or the AXIS DeserializerImpl (org.apache.axis.encoding.DeserializerImpl)
The DeserializerImpl provides a lot of the default behavior including the
support for id/href. So you may want to try extending it as opposed to
extending SoapHandler.
An Axis compliant Deserializer must provide one or more
of the following methods:
public &lt;constructor&gt;(Class javaType, QName xmlType)
public &lt;constructo&gt;()
This will allow for construction of generic factories that introspect the class
to determine how to construct a deserializer.
The xmlType, javaType arguments are filled in with the values known by the factory.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/Deserializer.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="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/Deserializer.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="altColor">
<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/Deserializer.html#getDefaultType()">getDefaultType</a></strong>()</code>&nbsp;</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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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/Deserializer.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;qName,
<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="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../org/apache/axis/encoding/Deserializer.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_javax.xml.rpc.encoding.Deserializer">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.rpc.encoding.<a href="../../../../javax/xml/rpc/encoding/Deserializer.html" title="interface in javax.xml.rpc.encoding">Deserializer</a></h3>
<code><a href="../../../../javax/xml/rpc/encoding/Deserializer.html#getMechanismType()">getMechanismType</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axis.encoding.Callback">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.axis.encoding.<a href="../../../../org/apache/axis/encoding/Callback.html" title="interface in org.apache.axis.encoding">Callback</a></h3>
<code><a href="../../../../org/apache/axis/encoding/Callback.html#setValue(java.lang.Object,%20java.lang.Object)">setValue</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a name="getValue()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValue</h4>
<pre><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>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><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>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>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="setDefaultType(javax.xml.namespace.QName)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setDefaultType</h4>
<pre>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><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>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> - Target</dd></dl>
</li>
</ul>
<a name="getValueTargets()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getValueTargets</h4>
<pre><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>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>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>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>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="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>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;qName,
<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><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>qName</code> - is the prefixed qName 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, set(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>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><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><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>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><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>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/Deserializer.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/DeserializationContext.html" title="class in org.apache.axis.encoding"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../../org/apache/axis/encoding/DeserializerFactory.html" title="interface 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/Deserializer.html" target="_top">Frames</a></li>
<li><a href="Deserializer.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>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&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>