<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<title>DetailEntry</title>
<link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="DetailEntry";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<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="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="../../../jakarta/xml/soap/Detail.html" title="interface in jakarta.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/soap/MessageFactory.html" title="class in jakarta.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/soap/DetailEntry.html" target="_top">Frames</a></li>
<li><a href="DetailEntry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../allclasses-noframe.html">All&nbsp;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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">jakarta.xml.soap</div>
<h2 title="Interface DetailEntry" class="title">Interface DetailEntry</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>org.w3c.dom.Element, org.w3c.dom.Node, <a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">DetailEntry</span>
extends <a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></pre>
<div class="block">The content for a <code>Detail</code> object, giving details for
 a <code>SOAPFault</code> object.  A <code>DetailEntry</code> object,
 which carries information about errors related to the <code>SOAPBody</code>
 object that contains it, is application-specific.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>1.6</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>
<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.Node</h3>
<code>ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE</code></li>
</ul>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.jakarta.xml.soap.SOAPElement">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.xml.soap.<a href="../../../jakarta/xml/soap/SOAPElement.html" title="interface in jakarta.xml.soap">SOAPElement</a></h3>
<code><a href="../../../jakarta/xml/soap/SOAPElement.html#addAttribute-jakarta.xml.soap.Name-java.lang.String-">addAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addAttribute-javax.xml.namespace.QName-java.lang.String-">addAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-jakarta.xml.soap.Name-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-javax.xml.namespace.QName-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-jakarta.xml.soap.SOAPElement-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addChildElement-java.lang.String-java.lang.String-java.lang.String-">addChildElement</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addNamespaceDeclaration-java.lang.String-java.lang.String-">addNamespaceDeclaration</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#addTextNode-java.lang.String-">addTextNode</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#createQName-java.lang.String-java.lang.String-">createQName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAllAttributes--">getAllAttributes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAllAttributesAsQNames--">getAllAttributesAsQNames</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAttributeValue-jakarta.xml.soap.Name-">getAttributeValue</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getAttributeValue-javax.xml.namespace.QName-">getAttributeValue</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements--">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements-jakarta.xml.soap.Name-">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getChildElements-javax.xml.namespace.QName-">getChildElements</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getElementName--">getElementName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getElementQName--">getElementQName</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getEncodingStyle--">getEncodingStyle</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getNamespacePrefixes--">getNamespacePrefixes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getNamespaceURI-java.lang.String-">getNamespaceURI</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#getVisibleNamespacePrefixes--">getVisibleNamespacePrefixes</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeAttribute-jakarta.xml.soap.Name-">removeAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeAttribute-javax.xml.namespace.QName-">removeAttribute</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeContents--">removeContents</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#removeNamespaceDeclaration-java.lang.String-">removeNamespaceDeclaration</a>, <a href="../../../jakarta/xml/soap/SOAPElement.html#setElementQName-javax.xml.namespace.QName-">setElementQName</a>, <a href="../../../jakarta/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.jakarta.xml.soap.Node">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;jakarta.xml.soap.<a href="../../../jakarta/xml/soap/Node.html" title="interface in jakarta.xml.soap">Node</a></h3>
<code><a href="../../../jakarta/xml/soap/Node.html#detachNode--">detachNode</a>, <a href="../../../jakarta/xml/soap/Node.html#getParentElement--">getParentElement</a>, <a href="../../../jakarta/xml/soap/Node.html#getValue--">getValue</a>, <a href="../../../jakarta/xml/soap/Node.html#recycleNode--">recycleNode</a>, <a href="../../../jakarta/xml/soap/Node.html#setParentElement-jakarta.xml.soap.SOAPElement-">setParentElement</a>, <a href="../../../jakarta/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.Element</h3>
<code>getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS</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.Node</h3>
<code>appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData</code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
</div>
<!-- ========= END OF CLASS DATA ========= -->
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<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="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="../../../jakarta/xml/soap/Detail.html" title="interface in jakarta.xml.soap"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../jakarta/xml/soap/MessageFactory.html" title="class in jakarta.xml.soap"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../index.html?jakarta/xml/soap/DetailEntry.html" target="_top">Frames</a></li>
<li><a href="DetailEntry.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../allclasses-noframe.html">All&nbsp;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>Method</li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>
