<!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>XMPPListener (Apache Axis2)</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="XMPPListener (Apache Axis2)";
    }
//-->
</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/XMPPListener.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/transport/xmpp/XMPPSender.html" title="class in org.apache.axis2.transport.xmpp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/axis2/transport/xmpp/XMPPListener.html" target="_top">Frames</a></li>
<li><a href="XMPPListener.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><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="subTitle">org.apache.axis2.transport.xmpp</div>
<h2 title="Class XMPPListener" class="title">Class XMPPListener</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><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">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.axis2.transport.xmpp.XMPPListener</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></dd>
</dl>
<hr>
<br>
<pre>public class <span class="strong">XMPPListener</span>
extends <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>
implements <a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></pre>
</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.axis2.transport.TransportListener">
<!--   -->
</a>
<h3>Fields inherited from interface&nbsp;org.apache.axis2.transport.<a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></h3>
<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#HOST_ADDRESS">HOST_ADDRESS</a>, <a href="../../../../../org/apache/axis2/transport/TransportListener.html#PARAM_PORT">PARAM_PORT</a></code></li>
</ul>
</li>
</ul>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_summary">
<!--   -->
</a>
<h3>Constructor Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#XMPPListener()">XMPPListener</a></strong>()</code>&nbsp;</td>
</tr>
</table>
</li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method_summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#destroy()">destroy</a></strong>()</code>&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/axis2/addressing/EndpointReference.html" title="class in org.apache.axis2.addressing">EndpointReference</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#getEPRForService(java.lang.String, java.lang.String)">getEPRForService</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;serviceName,
                <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;ip)</code>
<div class="block">Returns Default EPR for a given Service name & IP</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/axis2/addressing/EndpointReference.html" title="class in org.apache.axis2.addressing">EndpointReference</a>[]</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#getEPRsForService(java.lang.String, java.lang.String)">getEPRsForService</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;serviceName,
                 <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;ip)</code>
<div class="block">Returns all EPRs for a given Service name & IP</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/axis2/context/SessionContext.html" title="class in org.apache.axis2.context">SessionContext</a></code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#getSessionContext(org.apache.axis2.context.MessageContext)">getSessionContext</a></strong>(<a href="../../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;messageContext)</code>
<div class="block">To get the sessionContext transport dependent manner.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#init(org.apache.axis2.context.ConfigurationContext, org.apache.axis2.description.TransportInDescription)">init</a></strong>(<a href="../../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;configurationCtx,
    <a href="../../../../../org/apache/axis2/description/TransportInDescription.html" title="class in org.apache.axis2.description">TransportInDescription</a>&nbsp;transportIn)</code>
<div class="block">Initializing the XMPPListener.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#start()">start</a></strong>()</code>
<div class="block">Start a pool of Workers.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><strong><a href="../../../../../org/apache/axis2/transport/xmpp/XMPPListener.html#stop()">stop</a></strong>()</code>
<div class="block">Stop XMPP listener & disconnect from all XMPP Servers</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
<!--   -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.<a href="http://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></h3>
<code><a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</a></code></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor_detail">
<!--   -->
</a>
<h3>Constructor Detail</h3>
<a name="XMPPListener()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>XMPPListener</h4>
<pre>public&nbsp;XMPPListener()</pre>
</li>
</ul>
</li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method_detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a name="init(org.apache.axis2.context.ConfigurationContext, org.apache.axis2.description.TransportInDescription)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>init</h4>
<pre>public&nbsp;void&nbsp;init(<a href="../../../../../org/apache/axis2/context/ConfigurationContext.html" title="class in org.apache.axis2.context">ConfigurationContext</a>&nbsp;configurationCtx,
        <a href="../../../../../org/apache/axis2/description/TransportInDescription.html" title="class in org.apache.axis2.description">TransportInDescription</a>&nbsp;transportIn)
          throws <a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Initializing the XMPPListener. Retrieve connection details provided in
 xmpp transport receiver, connect to those servers & start listening in
 for messages.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#init(org.apache.axis2.context.ConfigurationContext, org.apache.axis2.description.TransportInDescription)">init</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd></dl>
</li>
</ul>
<a name="stop()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stop</h4>
<pre>public&nbsp;void&nbsp;stop()</pre>
<div class="block">Stop XMPP listener & disconnect from all XMPP Servers</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#stop()">stop</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
</dl>
</li>
</ul>
<a name="getEPRForService(java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEPRForService</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/axis2/addressing/EndpointReference.html" title="class in org.apache.axis2.addressing">EndpointReference</a>&nbsp;getEPRForService(<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;serviceName,
                                 <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;ip)
                                   throws <a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Returns Default EPR for a given Service name & IP</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#getEPRForService(java.lang.String, java.lang.String)">getEPRForService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>serviceName</code> - </dd><dd><code>ip</code> - </dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd></dl>
</li>
</ul>
<a name="getEPRsForService(java.lang.String, java.lang.String)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getEPRsForService</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/axis2/addressing/EndpointReference.html" title="class in org.apache.axis2.addressing">EndpointReference</a>[]&nbsp;getEPRsForService(<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;serviceName,
                                    <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;ip)
                                      throws <a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Returns all EPRs for a given Service name & IP</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#getEPRsForService(java.lang.String, java.lang.String)">getEPRsForService</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>serviceName</code> - </dd><dd><code>ip</code> - </dd>
<dt><span class="strong">Returns:</span></dt><dd>an array of endpoint references for the given service</dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></code></dd></dl>
</li>
</ul>
<a name="getSessionContext(org.apache.axis2.context.MessageContext)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSessionContext</h4>
<pre>public&nbsp;<a href="../../../../../org/apache/axis2/context/SessionContext.html" title="class in org.apache.axis2.context">SessionContext</a>&nbsp;getSessionContext(<a href="../../../../../org/apache/axis2/context/MessageContext.html" title="class in org.apache.axis2.context">MessageContext</a>&nbsp;messageContext)</pre>
<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#getSessionContext(org.apache.axis2.context.MessageContext)">TransportListener</a></code></strong></div>
<div class="block">To get the sessionContext transport dependent manner. So that transport listener
 can return its own implementation of session managment</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#getSessionContext(org.apache.axis2.context.MessageContext)">getSessionContext</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
<dt><span class="strong">Parameters:</span></dt><dd><code>messageContext</code> - : MessageContext which has all the relavent data</dd>
<dt><span class="strong">Returns:</span></dt><dd>SessionContext</dd></dl>
</li>
</ul>
<a name="destroy()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>destroy</h4>
<pre>public&nbsp;void&nbsp;destroy()</pre>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#destroy()">destroy</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
</dl>
</li>
</ul>
<a name="start()">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>start</h4>
<pre>public&nbsp;void&nbsp;start()
           throws <a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</a></pre>
<div class="block">Start a pool of Workers. For each connection in connectionFactories,
 assign a packer listener. This packet listener will trigger when a 
 message arrives.</div>
<dl>
<dt><strong>Specified by:</strong></dt>
<dd><code><a href="../../../../../org/apache/axis2/transport/TransportListener.html#start()">start</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/axis2/transport/TransportListener.html" title="interface in org.apache.axis2.transport">TransportListener</a></code></dd>
<dt><span class="strong">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/axis2/AxisFault.html" title="class in org.apache.axis2">AxisFault</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/XMPPListener.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/transport/xmpp/XMPPSender.html" title="class in org.apache.axis2.transport.xmpp"><span class="strong">Next Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/axis2/transport/xmpp/XMPPListener.html" target="_top">Frames</a></li>
<li><a href="XMPPListener.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><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method_detail">Method</a></li>
</ul>
</div>
<a name="skip-navbar_bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &copy; <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.</small></p>
</body>
</html>