<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (version 1.7.0_51) on Sun Jun 28 00:28:53 BST 2015 -->
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<title>Block (Apache Axis2 - Root 1.6.3 API)</title>
<meta name="date" content="2015-06-28">
<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="Block (Apache Axis2 - Root 1.6.3 API)";
    }
//-->
</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/Block.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>Prev Class</li>
<li><a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/axis2/jaxws/message/Block.html" target="_top">Frames</a></li>
<li><a href="Block.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.axis2.jaxws.message</div>
<h2 title="Interface Block" class="title">Interface Block</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd>org.apache.axiom.om.OMDataSource, org.apache.axiom.om.OMDataSourceExt</dd>
</dl>
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../../org/apache/axis2/jaxws/message/databinding/DataSourceBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">DataSourceBlock</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/JAXBBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">JAXBBlock</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/OMBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">OMBlock</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/SOAPEnvelopeBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">SOAPEnvelopeBlock</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/SourceBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">SourceBlock</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/XMLStringBlock.html" title="interface in org.apache.axis2.jaxws.message.databinding">XMLStringBlock</a></dd>
</dl>
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><a href="../../../../../org/apache/axis2/jaxws/message/impl/BlockImpl.html" title="class in org.apache.axis2.jaxws.message.impl">BlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/DataSourceBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">DataSourceBlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/JAXBBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">JAXBBlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/OMBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">OMBlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/SOAPEnvelopeBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">SOAPEnvelopeBlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/SourceBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">SourceBlockImpl</a>, <a href="../../../../../org/apache/axis2/jaxws/message/databinding/impl/XMLStringBlockImpl.html" title="class in org.apache.axis2.jaxws.message.databinding.impl">XMLStringBlockImpl</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="strong">Block</span>
extends org.apache.axiom.om.OMDataSourceExt</pre>
<div class="block">Block A Block represents an xml element and associated sub-tree. The name of the element must be
 defined by a root element in a schema. All prefixes within the subtree must correspond to
 namespace declarations defined within the tree. Many specifications refer to this as a "embedded
 document" or "xml block".  I chose the term, block, for simplicity.
 <p/>
 The block can be exposed as: * BusinessObject * StAX object
 <p/>
 Note that the whole Message can also be thought of as a Block.  Thus a Message can be createFrom
 a Block and written as a Block.
 <p/>
 In addition, each of the accessors has a consume parameter.  If consume is true, the Block is no
 longer valid after the message is called. (i.e. the implementation does not need to cache the
 information)</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.apache.axiom.om.OMDataSourceExt">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.axiom.om.OMDataSourceExt</h3>
<code>LOSSY_PREFIX</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="../../../../../org/apache/axis2/jaxws/message/factory/BlockFactory.html" title="interface in org.apache.axis2.jaxws.message.factory">BlockFactory</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#getBlockFactory()">getBlockFactory</a></strong>()</code>
<div class="block">Get BlockFactory</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/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/axis2/jaxws/message/Block.html#getBusinessContext()">getBusinessContext</a></strong>()</code>
<div class="block">GetBusinesContext Some business objects have an associated context object (i.e.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/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/axis2/jaxws/message/Block.html#getBusinessObject(boolean)">getBusinessObject</a></strong>(boolean&nbsp;consume)</code>
<div class="block">Get a reference to the Business Object represented by this Block</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>org.apache.axiom.om.OMElement</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#getOMElement()">getOMElement</a></strong>()</code>
<div class="block">Get the OMElement represented by this Block.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message">Message</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#getParent()">getParent</a></strong>()</code>
<div class="block">Get the Message associated with this block</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#getQName()">getQName</a></strong>()</code>
<div class="block">Get the QName (namespace, localpart) of the Block.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamReader.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamReader</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#getXMLStreamReader(boolean)">getXMLStreamReader</a></strong>(boolean&nbsp;consume)</code>
<div class="block">Get the XMLStreamReader represented by this Block</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#isConsumed()">isConsumed</a></strong>()</code>
<div class="block">isConsumed Return true if the block is consumed.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#isElementData()">isElementData</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#isQNameAvailable()">isQNameAvailable</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#outputTo(javax.xml.stream.XMLStreamWriter, boolean)">outputTo</a></strong>(<a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamWriter.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamWriter</a>&nbsp;writer,
        boolean&nbsp;consume)</code>
<div class="block">Write out the Block</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#setParent(org.apache.axis2.jaxws.message.Message)">setParent</a></strong>(<a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message">Message</a>&nbsp;parent)</code>
<div class="block">Set the Message associated with this block (This method is intended to be called by the
 Message Implementation only)</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/jaxws/message/Block.html#traceString(java.lang.String)">traceString</a></strong>(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indent)</code>
<div class="block">Get a traceString...the trace string dumps the contents of the Block without forcing an
 underlying ill-performant transformation of the message.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axiom.om.OMDataSourceExt">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.axiom.om.OMDataSourceExt</h3>
<code>close, copy, getObject, getProperty, getXMLBytes, getXMLInputStream, hasProperty, isDestructiveRead, isDestructiveWrite, setProperty</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_org.apache.axiom.om.OMDataSource">
<!--   -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.axiom.om.OMDataSource</h3>
<code>getReader, serialize, serialize, serialize</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="getBusinessObject(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBusinessObject</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getBusinessObject(boolean&nbsp;consume)
                         throws <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a>,
                                <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></pre>
<div class="block">Get a reference to the Business Object represented by this Block</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>consume</code> - true if this is the last request on the block.</dd>
<dt><span class="strong">Returns:</span></dt><dd>Object (JAXB, String etc.)</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a></code></dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></code></dd></dl>
</li>
</ul>
<a name="getBusinessContext()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBusinessContext</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;getBusinessContext()</pre>
<div class="block">GetBusinesContext Some business objects have an associated context object (i.e. JAXBContext)</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Context Object or null</dd></dl>
</li>
</ul>
<a name="getXMLStreamReader(boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getXMLStreamReader</h4>
<pre><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamReader.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamReader</a>&nbsp;getXMLStreamReader(boolean&nbsp;consume)
                                   throws <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a>,
                                          <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></pre>
<div class="block">Get the XMLStreamReader represented by this Block</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>consume</code> - true if this is the last request on the block.</dd>
<dt><span class="strong">Returns:</span></dt><dd>XMLStreamReader</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a></code></dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></code></dd></dl>
</li>
</ul>
<a name="getOMElement()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getOMElement</h4>
<pre>org.apache.axiom.om.OMElement&nbsp;getOMElement()
                                           throws <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a>,
                                                  <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></pre>
<div class="block">Get the OMElement represented by this Block. This call always consumes the block because you are
 taking control of the underlying OM</div>
<dl><dt><span class="strong">Returns:</span></dt><dd></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a></code></dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></code></dd></dl>
</li>
</ul>
<a name="outputTo(javax.xml.stream.XMLStreamWriter, boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>outputTo</h4>
<pre>void&nbsp;outputTo(<a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamWriter.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamWriter</a>&nbsp;writer,
            boolean&nbsp;consume)
              throws <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a>,
                     <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></pre>
<div class="block">Write out the Block</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>writer</code> - XMLStreamWriter</dd><dd><code>consume</code> - true if this is the last request on the block.</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/stream/XMLStreamException.html?is-external=true" title="class or interface in javax.xml.stream">XMLStreamException</a></code></dd>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></code></dd></dl>
</li>
</ul>
<a name="isConsumed()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isConsumed</h4>
<pre>boolean&nbsp;isConsumed()</pre>
<div class="block">isConsumed Return true if the block is consumed.  Once consumed, the information in the block
 is no longer available.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if the block is consumed (a method was called with consume=true)</dd></dl>
</li>
</ul>
<a name="traceString(java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>traceString</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;traceString(<a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;indent)</pre>
<div class="block">Get a traceString...the trace string dumps the contents of the Block without forcing an
 underlying ill-performant transformation of the message.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>String containing trace information</dd></dl>
</li>
</ul>
<a name="isQNameAvailable()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isQNameAvailable</h4>
<pre>boolean&nbsp;isQNameAvailable()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>If QName is available without doing an expensive parse of the business object, then
         return true Otherwise return false Note: This method should be used in situations where
         it would be nice to know the qname (like logging or a special check) but we don't want
         to cause an ill-performant parse.</dd></dl>
</li>
</ul>
<a name="getQName()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getQName</h4>
<pre><a href="http://download.oracle.com/javase/1.5.0/docs/api/javax/xml/namespace/QName.html?is-external=true" title="class or interface in javax.xml.namespace">QName</a>&nbsp;getQName()
               throws <a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></pre>
<div class="block">Get the QName (namespace, localpart) of the Block.  Do not depend on prefix being set correctly.
 Asking for the QName can cause a performant hit.</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>QName of the block</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="http://java.sun.com/javaee/5/docs/api/javax/xml/ws/WebServiceException.html?is-external=true" title="class or interface in javax.xml.ws">WebServiceException</a></code></dd><dt><span class="strong">See Also:</span></dt><dd><code>isQNameAvailable</code></dd></dl>
</li>
</ul>
<a name="getBlockFactory()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBlockFactory</h4>
<pre><a href="../../../../../org/apache/axis2/jaxws/message/factory/BlockFactory.html" title="interface in org.apache.axis2.jaxws.message.factory">BlockFactory</a>&nbsp;getBlockFactory()</pre>
<div class="block">Get BlockFactory</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>BlockFactory that created the Block</dd></dl>
</li>
</ul>
<a name="getParent()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getParent</h4>
<pre><a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message">Message</a>&nbsp;getParent()</pre>
<div class="block">Get the Message associated with this block</div>
<dl><dt><span class="strong">Returns:</span></dt><dd>Message</dd></dl>
</li>
</ul>
<a name="setParent(org.apache.axis2.jaxws.message.Message)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setParent</h4>
<pre>void&nbsp;setParent(<a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message">Message</a>&nbsp;parent)</pre>
<div class="block">Set the Message associated with this block (This method is intended to be called by the
 Message Implementation only)</div>
<dl><dt><span class="strong">Parameters:</span></dt><dd><code>parent</code> - </dd></dl>
</li>
</ul>
<a name="isElementData()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isElementData</h4>
<pre>boolean&nbsp;isElementData()</pre>
<dl><dt><span class="strong">Returns:</span></dt><dd>true if data is always an element; false if possibly mixed content or multiple
         elements</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/Block.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>Prev Class</li>
<li><a href="../../../../../org/apache/axis2/jaxws/message/Message.html" title="interface in org.apache.axis2.jaxws.message"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/axis2/jaxws/message/Block.html" target="_top">Frames</a></li>
<li><a href="Block.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 &#169; 2004-2015 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>
