<!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 -->
<title>LuceneQuery (Apache Geode 1.15.1)</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="LuceneQuery (Apache Geode 1.15.1)";
        }
    }
    catch(err) {
    }
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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="../../../../../org/apache/geode/cache/lucene/LuceneIndexNotFoundException.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/lucene/LuceneQuery.html" target="_top">Frames</a></li>
<li><a href="LuceneQuery.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><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.geode.cache.lucene</div>
<h2 title="Interface LuceneQuery" class="title">Interface LuceneQuery&lt;K,V&gt;</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<br>
<pre>public interface <span class="typeNameLabel">LuceneQuery&lt;K,V&gt;</span></pre>
<div class="block"><p>
 A query on a Lucene index. Instances of this interface are created using
 <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryFactory.html#create-java.lang.String-java.lang.String-java.lang.String-java.lang.String-"><code>LuceneQueryFactory.create(java.lang.String, java.lang.String, java.lang.String, java.lang.String)</code></a>. Once this query is constructed, use one of the find methods to
 find region entries that match this query.
 <p>
 Instances obtained from <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryFactory.html" title="interface in org.apache.geode.cache.lucene"><code>LuceneQueryFactory</code></a> are immutable, so they are safe for reuse and
 can be shared by multiple threads.
 <p>
 Because Lucene indexes are maintained asynchronously, results returned from the find methods may
 not reflect the most recent updates to the region.
 <p>
 Results are returned in order of their score with respect to this query.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!--   -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#findKeys--">findKeys</a></span>()</code>
<div class="block">Execute the query and return the region keys that match this query, up to the limit specified
 by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a>.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/geode/cache/lucene/PageableLuceneQueryResults.html" title="interface in org.apache.geode.cache.lucene">PageableLuceneQueryResults</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>,<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#findPages--">findPages</a></span>()</code>
<div class="block">Execute the query and get a <a href="../../../../../org/apache/geode/cache/lucene/PageableLuceneQueryResults.html" title="interface in org.apache.geode.cache.lucene"><code>PageableLuceneQueryResults</code></a>.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene">LuceneResultStruct</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>,<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#findResults--">findResults</a></span>()</code>
<div class="block">Execute the query and return a list of <a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene"><code>LuceneResultStruct</code></a>s that match this query, up to
 the limit specified by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a> A <a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene"><code>LuceneResultStruct</code></a> contains the region
 key, value, and a score for that entry.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#findValues--">findValues</a></span>()</code>
<div class="block">Execute the query and return the region values that match this query, up to the limit specified
 by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a></div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--">getLimit</a></span>()</code>
<div class="block">Get limit size setting of current query.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getPageSize--">getPageSize</a></span>()</code>
<div class="block">Gets the page size setting of current query.</div>
</td>
</tr>
</table>
</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="findKeys--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findKeys</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>&gt;&nbsp;findKeys()
                throws <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></pre>
<div class="block">Execute the query and return the region keys that match this query, up to the limit specified
 by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a>.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Collection of Apache Geode region keys that satisfy the Lucene query.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></code> - if the query could not be parsed or executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></code> - if the cache was closed while the Lucene query was being executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/execute/FunctionException.html" title="class in org.apache.geode.cache.execute">FunctionException</a></code> - if the function execution mechanism encounters an error while
         executing the Lucene query.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/persistence/PartitionOfflineException.html" title="class in org.apache.geode.cache.persistence">PartitionOfflineException</a></code> - if the node containing the buckets required to execute the
         Lucene query goes offline.</dd>
<dd><code><a href="../../../../../org/apache/geode/CancelException.html" title="class in org.apache.geode">CancelException</a></code> - if a cancel is in progress while the Lucene query was being executed.</dd>
</dl>
</li>
</ul>
<a name="findValues--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findValues</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;&nbsp;findValues()
                  throws <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></pre>
<div class="block">Execute the query and return the region values that match this query, up to the limit specified
 by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a Collection of Apache Geode region values that satisfy the Lucene query.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></code> - if the query could not be parsed or executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></code> - if the cache was closed while the Lucene query was being executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/execute/FunctionException.html" title="class in org.apache.geode.cache.execute">FunctionException</a></code> - if the function execution mechanism encounters an error while
         executing the Lucene query.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/persistence/PartitionOfflineException.html" title="class in org.apache.geode.cache.persistence">PartitionOfflineException</a></code> - if the node containing the buckets required to execute the
         Lucene query goes offline.</dd>
<dd><code><a href="../../../../../org/apache/geode/CancelException.html" title="class in org.apache.geode">CancelException</a></code> - if a cancel is in progress while the Lucene query was being executed.</dd>
</dl>
</li>
</ul>
<a name="findResults--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findResults</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene">LuceneResultStruct</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>,<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;&gt;&nbsp;findResults()
                                   throws <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></pre>
<div class="block">Execute the query and return a list of <a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene"><code>LuceneResultStruct</code></a>s that match this query, up to
 the limit specified by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getLimit--"><code>getLimit()</code></a> A <a href="../../../../../org/apache/geode/cache/lucene/LuceneResultStruct.html" title="interface in org.apache.geode.cache.lucene"><code>LuceneResultStruct</code></a> contains the region
 key, value, and a score for that entry.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a List of LuceneResultStruct that match the Lucene query</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></code> - if the query could not be parsed or executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></code> - if the cache was closed while the Lucene query was being executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/execute/FunctionException.html" title="class in org.apache.geode.cache.execute">FunctionException</a></code> - if the function execution mechanism encounters an error while
         executing the Lucene query.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/persistence/PartitionOfflineException.html" title="class in org.apache.geode.cache.persistence">PartitionOfflineException</a></code> - if the node containing the buckets required to execute the
         Lucene query goes offline.</dd>
<dd><code><a href="../../../../../org/apache/geode/CancelException.html" title="class in org.apache.geode">CancelException</a></code> - if a cancel is in progress while the Lucene query was being executed.</dd>
</dl>
</li>
</ul>
<a name="findPages--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>findPages</h4>
<pre><a href="../../../../../org/apache/geode/cache/lucene/PageableLuceneQueryResults.html" title="interface in org.apache.geode.cache.lucene">PageableLuceneQueryResults</a>&lt;<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">K</a>,<a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html" title="type parameter in LuceneQuery">V</a>&gt;&nbsp;findPages()
                                   throws <a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></pre>
<div class="block">Execute the query and get a <a href="../../../../../org/apache/geode/cache/lucene/PageableLuceneQueryResults.html" title="interface in org.apache.geode.cache.lucene"><code>PageableLuceneQueryResults</code></a>. The
 <a href="../../../../../org/apache/geode/cache/lucene/PageableLuceneQueryResults.html" title="interface in org.apache.geode.cache.lucene"><code>PageableLuceneQueryResults</code></a> provides the ability to fetch a page of results at a time,
 as specified by <a href="../../../../../org/apache/geode/cache/lucene/LuceneQuery.html#getPageSize--"><code>getPageSize()</code></a></div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a PageableLuceneQuery that can be used to fetch one page of result at a time.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene">LuceneQueryException</a></code> - if the query could not be parsed or executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/CacheClosedException.html" title="class in org.apache.geode.cache">CacheClosedException</a></code> - if the cache was closed while the Lucene query was being executed.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/execute/FunctionException.html" title="class in org.apache.geode.cache.execute">FunctionException</a></code> - if the function execution mechanism encounters an error while
         executing the Lucene query.</dd>
<dd><code><a href="../../../../../org/apache/geode/cache/persistence/PartitionOfflineException.html" title="class in org.apache.geode.cache.persistence">PartitionOfflineException</a></code> - if the node containing the buckets required to execute the
         Lucene query goes offline.</dd>
<dd><code><a href="../../../../../org/apache/geode/CancelException.html" title="class in org.apache.geode">CancelException</a></code> - if a cancel is in progress while the Lucene query was being executed.</dd>
</dl>
</li>
</ul>
<a name="getPageSize--">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getPageSize</h4>
<pre>int&nbsp;getPageSize()</pre>
<div class="block">Gets the page size setting of current query. This page size is set while creating
 <code>LuceneQueryImpl</code> object</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int value representing the page size of the current query</dd>
</dl>
</li>
</ul>
<a name="getLimit--">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getLimit</h4>
<pre>int&nbsp;getLimit()</pre>
<div class="block">Get limit size setting of current query. This value is the maximum number of results that can
 be returned by the Lucene query. This value is set while creating the <code>LuceneQueryImpl</code>
 object</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>int value representing the limit of the current query</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>
<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="../../../../../org/apache/geode/cache/lucene/LuceneIndexNotFoundException.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../../org/apache/geode/cache/lucene/LuceneQueryException.html" title="class in org.apache.geode.cache.lucene"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/geode/cache/lucene/LuceneQuery.html" target="_top">Frames</a></li>
<li><a href="LuceneQuery.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><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 ======= -->
</body>
</html>
