blob: 022cdb0d25c92073c95d9f7cc464a0daf8991cef [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>MulticastRelOptListener (Apache Calcite API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.3.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-migrate-3.0.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MulticastRelOptListener (Apache Calcite API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MulticastRelOptListener.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" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">org.apache.calcite.plan</a></div>
<h2 title="Class MulticastRelOptListener" class="title">Class MulticastRelOptListener</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.apache.calcite.plan.MulticastRelOptListener</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code>java.util.EventListener</code>, <code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">MulticastRelOptListener</span>
extends java.lang.Object
implements <a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></pre>
<div class="block">MulticastRelOptListener implements the <a href="RelOptListener.html" title="interface in org.apache.calcite.plan"><code>RelOptListener</code></a> interface by
forwarding events on to a collection of other listeners.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.apache.calcite.plan.RelOptListener">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.apache.calcite.plan.<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></h3>
<code><a href="RelOptListener.RelChosenEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelChosenEvent</a>, <a href="RelOptListener.RelDiscardedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelDiscardedEvent</a>, <a href="RelOptListener.RelEquivalenceEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEquivalenceEvent</a>, <a href="RelOptListener.RelEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEvent</a>, <a href="RelOptListener.RuleAttemptedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleAttemptedEvent</a>, <a href="RelOptListener.RuleEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleEvent</a>, <a href="RelOptListener.RuleProductionEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleProductionEvent</a></code></li>
</ul>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>private java.util.List&lt;<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&gt;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#listeners">listeners</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">MulticastRelOptListener</a></span>()</code></th>
<td class="colLast">
<div class="block">Creates a new empty multicast listener.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<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="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addListener(org.apache.calcite.plan.RelOptListener)">addListener</a></span>&#8203;(<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&nbsp;listener)</code></th>
<td class="colLast">
<div class="block">Adds a listener which will receive multicast events.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relChosen(org.apache.calcite.plan.RelOptListener.RelChosenEvent)">relChosen</a></span>&#8203;(<a href="RelOptListener.RelChosenEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelChosenEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Notifies this listener that a relational expression has been chosen as
part of the final implementation of the query plan.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relDiscarded(org.apache.calcite.plan.RelOptListener.RelDiscardedEvent)">relDiscarded</a></span>&#8203;(<a href="RelOptListener.RelDiscardedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelDiscardedEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Notifies this listener that a relational expression is no longer of
interest to the planner.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#relEquivalenceFound(org.apache.calcite.plan.RelOptListener.RelEquivalenceEvent)">relEquivalenceFound</a></span>&#8203;(<a href="RelOptListener.RelEquivalenceEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEquivalenceEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Notifies this listener that a relational expression has been registered
with a particular equivalence class after an equivalence has been either
detected or asserted.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ruleAttempted(org.apache.calcite.plan.RelOptListener.RuleAttemptedEvent)">ruleAttempted</a></span>&#8203;(<a href="RelOptListener.RuleAttemptedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleAttemptedEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Notifies this listener that an optimizer rule is being applied to a
particular relational expression.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ruleProductionSucceeded(org.apache.calcite.plan.RelOptListener.RuleProductionEvent)">ruleProductionSucceeded</a></span>&#8203;(<a href="RelOptListener.RuleProductionEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleProductionEvent</a>&nbsp;event)</code></th>
<td class="colLast">
<div class="block">Notifies this listener that an optimizer rule has been successfully
applied to a particular relational expression, resulting in a new
equivalent expression (relEquivalenceFound will also be called unless the
new expression is identical to an existing one).</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="listeners">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>listeners</h4>
<pre>private final&nbsp;java.util.List&lt;<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&gt; listeners</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MulticastRelOptListener</h4>
<pre>public&nbsp;MulticastRelOptListener()</pre>
<div class="block">Creates a new empty multicast listener.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="addListener(org.apache.calcite.plan.RelOptListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addListener&#8203;(<a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a>&nbsp;listener)</pre>
<div class="block">Adds a listener which will receive multicast events.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>listener</code> - listener to add</dd>
</dl>
</li>
</ul>
<a id="relEquivalenceFound(org.apache.calcite.plan.RelOptListener.RelEquivalenceEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>relEquivalenceFound</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;relEquivalenceFound&#8203;(<a href="RelOptListener.RelEquivalenceEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelEquivalenceEvent</a>&nbsp;event)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RelOptListener.html#relEquivalenceFound(org.apache.calcite.plan.RelOptListener.RelEquivalenceEvent)">RelOptListener</a></code></span></div>
<div class="block">Notifies this listener that a relational expression has been registered
with a particular equivalence class after an equivalence has been either
detected or asserted. Equivalence classes may be either logical (all
expressions which yield the same result set) or physical (all expressions
which yield the same result set with a particular calling convention).</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RelOptListener.html#relEquivalenceFound(org.apache.calcite.plan.RelOptListener.RelEquivalenceEvent)">relEquivalenceFound</a></code>&nbsp;in interface&nbsp;<code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - details about the event</dd>
</dl>
</li>
</ul>
<a id="ruleAttempted(org.apache.calcite.plan.RelOptListener.RuleAttemptedEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ruleAttempted</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ruleAttempted&#8203;(<a href="RelOptListener.RuleAttemptedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleAttemptedEvent</a>&nbsp;event)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RelOptListener.html#ruleAttempted(org.apache.calcite.plan.RelOptListener.RuleAttemptedEvent)">RelOptListener</a></code></span></div>
<div class="block">Notifies this listener that an optimizer rule is being applied to a
particular relational expression. This rule is called twice; once before
the rule is invoked, and once after. Note that the rel attribute of the
event is always the old expression.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RelOptListener.html#ruleAttempted(org.apache.calcite.plan.RelOptListener.RuleAttemptedEvent)">ruleAttempted</a></code>&nbsp;in interface&nbsp;<code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - details about the event</dd>
</dl>
</li>
</ul>
<a id="ruleProductionSucceeded(org.apache.calcite.plan.RelOptListener.RuleProductionEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ruleProductionSucceeded</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;ruleProductionSucceeded&#8203;(<a href="RelOptListener.RuleProductionEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RuleProductionEvent</a>&nbsp;event)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RelOptListener.html#ruleProductionSucceeded(org.apache.calcite.plan.RelOptListener.RuleProductionEvent)">RelOptListener</a></code></span></div>
<div class="block">Notifies this listener that an optimizer rule has been successfully
applied to a particular relational expression, resulting in a new
equivalent expression (relEquivalenceFound will also be called unless the
new expression is identical to an existing one). This rule is called
twice; once before registration of the new rel, and once after. Note that
the rel attribute of the event is always the new expression; to get the
old expression, use event.getRuleCall().rels[0].</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RelOptListener.html#ruleProductionSucceeded(org.apache.calcite.plan.RelOptListener.RuleProductionEvent)">ruleProductionSucceeded</a></code>&nbsp;in interface&nbsp;<code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - details about the event</dd>
</dl>
</li>
</ul>
<a id="relChosen(org.apache.calcite.plan.RelOptListener.RelChosenEvent)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>relChosen</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;relChosen&#8203;(<a href="RelOptListener.RelChosenEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelChosenEvent</a>&nbsp;event)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RelOptListener.html#relChosen(org.apache.calcite.plan.RelOptListener.RelChosenEvent)">RelOptListener</a></code></span></div>
<div class="block">Notifies this listener that a relational expression has been chosen as
part of the final implementation of the query plan. After the plan is
complete, this is called one more time with null for the rel.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RelOptListener.html#relChosen(org.apache.calcite.plan.RelOptListener.RelChosenEvent)">relChosen</a></code>&nbsp;in interface&nbsp;<code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - details about the event</dd>
</dl>
</li>
</ul>
<a id="relDiscarded(org.apache.calcite.plan.RelOptListener.RelDiscardedEvent)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>relDiscarded</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;relDiscarded&#8203;(<a href="RelOptListener.RelDiscardedEvent.html" title="class in org.apache.calcite.plan">RelOptListener.RelDiscardedEvent</a>&nbsp;event)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="RelOptListener.html#relDiscarded(org.apache.calcite.plan.RelOptListener.RelDiscardedEvent)">RelOptListener</a></code></span></div>
<div class="block">Notifies this listener that a relational expression is no longer of
interest to the planner.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="RelOptListener.html#relDiscarded(org.apache.calcite.plan.RelOptListener.RelDiscardedEvent)">relDiscarded</a></code>&nbsp;in interface&nbsp;<code><a href="RelOptListener.html" title="interface in org.apache.calcite.plan">RelOptListener</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>event</code> - details about the event</dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/MulticastRelOptListener.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" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.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>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li><a href="#nested.class.summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&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><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2012&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>