<!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>SOAPFault (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="SOAPFault (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/SOAPFault.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="../../../javax/xml/soap/SOAPFactory.html" title="class in javax.xml.soap"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/xml/soap/SOAPFaultElement.html" title="interface in javax.xml.soap"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/soap/SOAPFault.html" target="_top">Frames</a></li>
<li><a href="SOAPFault.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">javax.xml.soap</div>
<h2 title="Interface SOAPFault" class="title">Interface SOAPFault</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true" title="class or interface in org.w3c.dom">Element</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a>, <a href="../../../javax/xml/soap/SOAPBodyElement.html" title="interface in javax.xml.soap">SOAPBodyElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../org/apache/axis/message/SOAPFault.html" title="class in org.apache.axis.message">SOAPFault</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">SOAPFault</span>
extends <a href="../../../javax/xml/soap/SOAPBodyElement.html" title="interface in javax.xml.soap">SOAPBodyElement</a></pre>
<div class="block">An element in the <CODE>SOAPBody</CODE> object that contains
   error and/or status information. This information may relate to
   errors in the <CODE>SOAPMessage</CODE> object or to problems
   that are not related to the content in the message itself.
   Problems not related to the message itself are generally errors
   in processing, such as the inability to communicate with an
   upstream server.
   <P>
   The <CODE>SOAPFault</CODE> interface provides methods for
   retrieving the information contained in a <CODE>
   SOAPFault</CODE> object and for setting the fault code, the
   fault actor, and a string describing the fault. A fault code is
   one of the codes defined in the SOAP 1.1 specification that
   describe the fault. An actor is an intermediate recipient to
   whom a message was routed. The message path may include one or
   more actors, or, if no actors are specified, the message goes
   only to the default actor, which is the final intended
   recipient.</div>
</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>
<ul class="blockList">
<li class="blockList"><a name="fields_inherited_from_class_org.w3c.dom.Node">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.w3c.dom.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a></h3>
<code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#ATTRIBUTE_NODE" title="class or interface in org.w3c.dom">ATTRIBUTE_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#CDATA_SECTION_NODE" title="class or interface in org.w3c.dom">CDATA_SECTION_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#COMMENT_NODE" title="class or interface in org.w3c.dom">COMMENT_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_FRAGMENT_NODE" title="class or interface in org.w3c.dom">DOCUMENT_FRAGMENT_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_NODE" title="class or interface in org.w3c.dom">DOCUMENT_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_CONTAINED_BY" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_CONTAINED_BY</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_CONTAINS" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_CONTAINS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_DISCONNECTED" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_DISCONNECTED</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_FOLLOWING" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_FOLLOWING</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_POSITION_PRECEDING" title="class or interface in org.w3c.dom">DOCUMENT_POSITION_PRECEDING</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#DOCUMENT_TYPE_NODE" title="class or interface in org.w3c.dom">DOCUMENT_TYPE_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#ELEMENT_NODE" title="class or interface in org.w3c.dom">ELEMENT_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#ENTITY_NODE" title="class or interface in org.w3c.dom">ENTITY_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#ENTITY_REFERENCE_NODE" title="class or interface in org.w3c.dom">ENTITY_REFERENCE_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#NOTATION_NODE" title="class or interface in org.w3c.dom">NOTATION_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#PROCESSING_INSTRUCTION_NODE" title="class or interface in org.w3c.dom">PROCESSING_INSTRUCTION_NODE</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#TEXT_NODE" title="class or interface in org.w3c.dom">TEXT_NODE</a></code></li>
</ul>
</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><a href="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#addDetail()">addDetail</a></strong>()</code>
<div class="block">Creates a <CODE>Detail</CODE> object and sets it as the
   <CODE>Detail</CODE> object for this <CODE>SOAPFault</CODE>
   object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#getDetail()">getDetail</a></strong>()</code>
<div class="block">Returns the detail element for this <CODE>SOAPFault</CODE>
   object.</div>
</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="../../../javax/xml/soap/SOAPFault.html#getFaultActor()">getFaultActor</a></strong>()</code>
<div class="block">Gets the fault actor for this <CODE>SOAPFault</CODE>
 object.</div>
</td>
</tr>
<tr class="rowColor">
<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="../../../javax/xml/soap/SOAPFault.html#getFaultCode()">getFaultCode</a></strong>()</code>
<div class="block">Gets the fault code for this <CODE>SOAPFault</CODE>
 object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#getFaultCodeAsName()">getFaultCodeAsName</a></strong>()</code>
<div class="block">Gets the mandatory SOAP 1.1 fault code for this <code>SOAPFault</code>
 object as a SAAJ <code>Name</code> object.</div>
</td>
</tr>
<tr class="rowColor">
<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="../../../javax/xml/soap/SOAPFault.html#getFaultString()">getFaultString</a></strong>()</code>
<div class="block">Gets the fault string for this <CODE>SOAPFault</CODE>
 object.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a></code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#getFaultStringLocale()">getFaultStringLocale</a></strong>()</code>
<div class="block">Returns the optional detail element for this <code>SOAPFault</code>
 object.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#setFaultActor(java.lang.String)">setFaultActor</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;faultActor)</code>
<div class="block">Sets this <CODE>SOAPFault</CODE> object with the given
   fault actor.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#setFaultCode(javax.xml.soap.Name)">setFaultCode</a></strong>(<a href="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</a>&nbsp;name)</code>
<div class="block">Sets this <code>SOAPFault</code> object with the given fault code.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#setFaultCode(java.lang.String)">setFaultCode</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;faultCode)</code>
<div class="block">Sets this <CODE>SOAPFault</CODE> object with the given
   fault code.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#setFaultString(java.lang.String)">setFaultString</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;faultString)</code>
<div class="block">Sets the fault string for this <CODE>SOAPFault</CODE>
 object to the given string.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../javax/xml/soap/SOAPFault.html#setFaultString(java.lang.String,%20java.util.Locale)">setFaultString</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;faultString,
              <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)</code>
<div class="block">Sets the fault string for this <code>SOAPFault</code> object to the given
 string and localized to the given locale.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_javax.xml.soap.SOAPElement">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.soap.<a href="../../../javax/xml/soap/SOAPElement.html" title="interface in javax.xml.soap">SOAPElement</a></h3>
<code><a href="../../../javax/xml/soap/SOAPElement.html#addAttribute(javax.xml.soap.Name,%20java.lang.String)">addAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.Name)">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement(javax.xml.soap.SOAPElement)">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String)">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String,%20java.lang.String)">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addChildElement(java.lang.String,%20java.lang.String,%20java.lang.String)">addChildElement</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addNamespaceDeclaration(java.lang.String,%20java.lang.String)">addNamespaceDeclaration</a>, <a href="../../../javax/xml/soap/SOAPElement.html#addTextNode(java.lang.String)">addTextNode</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAllAttributes()">getAllAttributes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getAttributeValue(javax.xml.soap.Name)">getAttributeValue</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getChildElements()">getChildElements</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getChildElements(javax.xml.soap.Name)">getChildElements</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getElementName()">getElementName</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getEncodingStyle()">getEncodingStyle</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getNamespacePrefixes()">getNamespacePrefixes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getNamespaceURI(java.lang.String)">getNamespaceURI</a>, <a href="../../../javax/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes()">getVisibleNamespacePrefixes</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeAttribute(javax.xml.soap.Name)">removeAttribute</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeContents()">removeContents</a>, <a href="../../../javax/xml/soap/SOAPElement.html#removeNamespaceDeclaration(java.lang.String)">removeNamespaceDeclaration</a>, <a href="../../../javax/xml/soap/SOAPElement.html#setEncodingStyle(java.lang.String)">setEncodingStyle</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_javax.xml.soap.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;javax.xml.soap.<a href="../../../javax/xml/soap/Node.html" title="interface in javax.xml.soap">Node</a></h3>
<code><a href="../../../javax/xml/soap/Node.html#detachNode()">detachNode</a>, <a href="../../../javax/xml/soap/Node.html#getParentElement()">getParentElement</a>, <a href="../../../javax/xml/soap/Node.html#getValue()">getValue</a>, <a href="../../../javax/xml/soap/Node.html#recycleNode()">recycleNode</a>, <a href="../../../javax/xml/soap/Node.html#setParentElement(javax.xml.soap.SOAPElement)">setParentElement</a>, <a href="../../../javax/xml/soap/Node.html#setValue(java.lang.String)">setValue</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.w3c.dom.Element">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.w3c.dom.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true" title="class or interface in org.w3c.dom">Element</a></h3>
<code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getAttribute(java.lang.String)" title="class or interface in org.w3c.dom">getAttribute</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getAttributeNode(java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getAttributeNodeNS(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNodeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getAttributeNS(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">getAttributeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getElementsByTagName(java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagName</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getElementsByTagNameNS(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">getElementsByTagNameNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getSchemaTypeInfo()" title="class or interface in org.w3c.dom">getSchemaTypeInfo</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#getTagName()" title="class or interface in org.w3c.dom">getTagName</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#hasAttribute(java.lang.String)" title="class or interface in org.w3c.dom">hasAttribute</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#hasAttributeNS(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">hasAttributeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#removeAttribute(java.lang.String)" title="class or interface in org.w3c.dom">removeAttribute</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#removeAttributeNode(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">removeAttributeNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#removeAttributeNS(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">removeAttributeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setAttribute(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">setAttribute</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setAttributeNode(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">setAttributeNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setAttributeNodeNS(org.w3c.dom.Attr)" title="class or interface in org.w3c.dom">setAttributeNodeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setAttributeNS(java.lang.String,%20java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">setAttributeNS</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setIdAttribute(java.lang.String,%20boolean)" title="class or interface in org.w3c.dom">setIdAttribute</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setIdAttributeNode(org.w3c.dom.Attr,%20boolean)" title="class or interface in org.w3c.dom">setIdAttributeNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Element.html?is-external=true#setIdAttributeNS(java.lang.String,%20java.lang.String,%20boolean)" title="class or interface in org.w3c.dom">setIdAttributeNS</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.w3c.dom.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.w3c.dom.<a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true" title="class or interface in org.w3c.dom">Node</a></h3>
<code><a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#appendChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">appendChild</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#cloneNode(boolean)" title="class or interface in org.w3c.dom">cloneNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#compareDocumentPosition(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">compareDocumentPosition</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getAttributes()" title="class or interface in org.w3c.dom">getAttributes</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getBaseURI()" title="class or interface in org.w3c.dom">getBaseURI</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getChildNodes()" title="class or interface in org.w3c.dom">getChildNodes</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getFeature(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">getFeature</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getFirstChild()" title="class or interface in org.w3c.dom">getFirstChild</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getLastChild()" title="class or interface in org.w3c.dom">getLastChild</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getLocalName()" title="class or interface in org.w3c.dom">getLocalName</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getNamespaceURI()" title="class or interface in org.w3c.dom">getNamespaceURI</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getNextSibling()" title="class or interface in org.w3c.dom">getNextSibling</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getNodeName()" title="class or interface in org.w3c.dom">getNodeName</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getNodeType()" title="class or interface in org.w3c.dom">getNodeType</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getNodeValue()" title="class or interface in org.w3c.dom">getNodeValue</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getOwnerDocument()" title="class or interface in org.w3c.dom">getOwnerDocument</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getParentNode()" title="class or interface in org.w3c.dom">getParentNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getPrefix()" title="class or interface in org.w3c.dom">getPrefix</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getPreviousSibling()" title="class or interface in org.w3c.dom">getPreviousSibling</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getTextContent()" title="class or interface in org.w3c.dom">getTextContent</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#getUserData(java.lang.String)" title="class or interface in org.w3c.dom">getUserData</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#hasAttributes()" title="class or interface in org.w3c.dom">hasAttributes</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#hasChildNodes()" title="class or interface in org.w3c.dom">hasChildNodes</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#insertBefore(org.w3c.dom.Node,%20org.w3c.dom.Node)" title="class or interface in org.w3c.dom">insertBefore</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#isDefaultNamespace(java.lang.String)" title="class or interface in org.w3c.dom">isDefaultNamespace</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#isEqualNode(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">isEqualNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#isSameNode(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">isSameNode</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#isSupported(java.lang.String,%20java.lang.String)" title="class or interface in org.w3c.dom">isSupported</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#lookupNamespaceURI(java.lang.String)" title="class or interface in org.w3c.dom">lookupNamespaceURI</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#lookupPrefix(java.lang.String)" title="class or interface in org.w3c.dom">lookupPrefix</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#normalize()" title="class or interface in org.w3c.dom">normalize</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#removeChild(org.w3c.dom.Node)" title="class or interface in org.w3c.dom">removeChild</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#replaceChild(org.w3c.dom.Node,%20org.w3c.dom.Node)" title="class or interface in org.w3c.dom">replaceChild</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#setNodeValue(java.lang.String)" title="class or interface in org.w3c.dom">setNodeValue</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#setPrefix(java.lang.String)" title="class or interface in org.w3c.dom">setPrefix</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#setTextContent(java.lang.String)" title="class or interface in org.w3c.dom">setTextContent</a>, <a href="http://docs.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/Node.html?is-external=true#setUserData(java.lang.String,%20java.lang.Object,%20org.w3c.dom.UserDataHandler)" title="class or interface in org.w3c.dom">setUserData</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="setFaultCode(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFaultCode</h4>
<pre>void&nbsp;setFaultCode(<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;faultCode)
                  throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Sets this <CODE>SOAPFault</CODE> object with the given
   fault code.

   <P>Fault codes, which given information about the fault,
   are defined in the SOAP 1.1 specification.</P></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>faultCode</code> - a <CODE>String</CODE> giving
     the fault code to be set; must be one of the fault codes
     defined in the SOAP 1.1 specification</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there was an error in
     adding the <CODE>faultCode</CODE> to the underlying XML
     tree.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/xml/soap/SOAPFault.html#getFaultCode()"><code>getFaultCode()</code></a></dd></dl>
</li>
</ul>
<a name="getFaultCode()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFaultCode</h4>
<pre><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;getFaultCode()</pre>
<div class="block">Gets the fault code for this <CODE>SOAPFault</CODE>
 object.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> with the fault code</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/xml/soap/SOAPFault.html#setFaultCode(java.lang.String)"><code>setFaultCode(java.lang.String)</code></a></dd></dl>
</li>
</ul>
<a name="setFaultActor(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFaultActor</h4>
<pre>void&nbsp;setFaultActor(<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;faultActor)
                   throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Sets this <CODE>SOAPFault</CODE> object with the given
   fault actor.

   <P>The fault actor is the recipient in the message path who
   caused the fault to happen.</P></div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>faultActor</code> - a <CODE>String</CODE>
     identifying the actor that caused this <CODE>
     SOAPFault</CODE> object</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there was an error in
     adding the <CODE>faultActor</CODE> to the underlying XML
     tree.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/xml/soap/SOAPFault.html#getFaultActor()"><code>getFaultActor()</code></a></dd></dl>
</li>
</ul>
<a name="getFaultActor()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFaultActor</h4>
<pre><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;getFaultActor()</pre>
<div class="block">Gets the fault actor for this <CODE>SOAPFault</CODE>
 object.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> giving the actor in the message
     path that caused this <CODE>SOAPFault</CODE> object</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/xml/soap/SOAPFault.html#setFaultActor(java.lang.String)"><code>setFaultActor(java.lang.String)</code></a></dd></dl>
</li>
</ul>
<a name="setFaultString(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFaultString</h4>
<pre>void&nbsp;setFaultString(<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;faultString)
                    throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Sets the fault string for this <CODE>SOAPFault</CODE>
 object to the given string.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>faultString</code> - a <CODE>String</CODE>
     giving an explanation of the fault</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there was an error in
     adding the <CODE>faultString</CODE> to the underlying XML
     tree.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../javax/xml/soap/SOAPFault.html#getFaultString()"><code>getFaultString()</code></a></dd></dl>
</li>
</ul>
<a name="getFaultString()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFaultString</h4>
<pre><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;getFaultString()</pre>
<div class="block">Gets the fault string for this <CODE>SOAPFault</CODE>
 object.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <CODE>String</CODE> giving an explanation of the
     fault</dd></dl>
</li>
</ul>
<a name="getDetail()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDetail</h4>
<pre><a href="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</a>&nbsp;getDetail()</pre>
<div class="block">Returns the detail element for this <CODE>SOAPFault</CODE>
   object.

   <P>A <CODE>Detail</CODE> object carries
   application-specific error information related to <CODE>
   SOAPBodyElement</CODE> objects.</P></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <CODE>Detail</CODE> object with
     application-specific error information</dd></dl>
</li>
</ul>
<a name="addDetail()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addDetail</h4>
<pre><a href="../../../javax/xml/soap/Detail.html" title="interface in javax.xml.soap">Detail</a>&nbsp;addDetail()
                 throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Creates a <CODE>Detail</CODE> object and sets it as the
   <CODE>Detail</CODE> object for this <CODE>SOAPFault</CODE>
   object.

   <P>It is illegal to add a detail when the fault already
   contains a detail. Therefore, this method should be called
   only after the existing detail has been removed.</P></div>
<dl><dt><span class="strong">Returns:</span></dt><dd>the new <CODE>Detail</CODE> object</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if this
     <CODE>SOAPFault</CODE> object already contains a valid
     <CODE>Detail</CODE> object</dd></dl>
</li>
</ul>
<a name="setFaultCode(javax.xml.soap.Name)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFaultCode</h4>
<pre>void&nbsp;setFaultCode(<a href="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</a>&nbsp;name)
                  throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Sets this <code>SOAPFault</code> object with the given fault code.

 Fault codes, which give information about the fault, are defined in the
 SOAP 1.1 specification. A fault code is mandatory and must be of type
 <code>QName</code>. This method provides a convenient way to set a fault
 code. For example,

 <pre>
     SOAPEnvelope se = ...;
     // Create a qualified name in the SOAP namespace with a localName
     // of "Client".  Note that prefix parameter is optional and is null
     // here which causes the implementation to use an appropriate prefix.
     Name qname = se.createName("Client", null,
     SOAPConstants.URI_NS_SOAP_ENVELOPE);
     SOAPFault fault = ...;
     fault.setFaultCode(qname);

 It is preferable to use this method over setFaultCode(String).</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>name</code> - a <code>Name</code> object giving the fault code to be set.
              It must be namespace qualified.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there was an error in adding the
              <code>faultcode</code> element to the underlying XML tree</dd></dl>
</li>
</ul>
<a name="getFaultCodeAsName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFaultCodeAsName</h4>
<pre><a href="../../../javax/xml/soap/Name.html" title="interface in javax.xml.soap">Name</a>&nbsp;getFaultCodeAsName()</pre>
<div class="block">Gets the mandatory SOAP 1.1 fault code for this <code>SOAPFault</code>
 object as a SAAJ <code>Name</code> object. The SOAP 1.1 specification
 requires the value of the "faultcode" element to be of type QName. This
 method returns the content of the element as a QName in the form of a
 SAAJ <code>Name</code> object. This method should be used instead of the
 <code>getFaultCode()</code> method since it allows applications to easily
 access the namespace name without additional parsing.
 <p>
 In the future, a QName object version of this method may also be added.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <code>Name</code> representing the faultcode</dd></dl>
</li>
</ul>
<a name="setFaultString(java.lang.String, java.util.Locale)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setFaultString</h4>
<pre>void&nbsp;setFaultString(<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;faultString,
                  <a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;locale)
                    throws <a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></pre>
<div class="block">Sets the fault string for this <code>SOAPFault</code> object to the given
 string and localized to the given locale.</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>faultString</code> - a <code>String</code> giving an explanation of
              the fault</dd><dd><code>locale</code> - a <code>Locale</code> object indicating the
              native language of the <code>faultString</code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../javax/xml/soap/SOAPException.html" title="class in javax.xml.soap">SOAPException</a></code> - if there was an error in adding the
              <code>faultString</code> to the underlying XML tree</dd></dl>
</li>
</ul>
<a name="getFaultStringLocale()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getFaultStringLocale</h4>
<pre><a href="http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Locale.html?is-external=true" title="class or interface in java.util">Locale</a>&nbsp;getFaultStringLocale()</pre>
<div class="block">Returns the optional detail element for this <code>SOAPFault</code>
 object.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>a <code>Locale</code> object indicating the native language of
              the fault string or <code>null</code> if no locale was
              specified</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/SOAPFault.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="../../../javax/xml/soap/SOAPFactory.html" title="class in javax.xml.soap"><span class="strong">Prev Class</span></a></li>
<li><a href="../../../javax/xml/soap/SOAPFaultElement.html" title="interface in javax.xml.soap"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?javax/xml/soap/SOAPFault.html" target="_top">Frames</a></li>
<li><a href="SOAPFault.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>