blob: b89fe20ff98007fcbed3ad2e573082bc56cccd79 [file] [log] [blame]
<!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 (1.8.0_161) on Thu Apr 30 21:50:54 PDT 2020 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>NCIntentMatch (Apache NLPCraft 0.5.0)</title>
<meta name="date" content="2020-04-30">
<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="NCIntentMatch (Apache NLPCraft 0.5.0)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":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>
<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> <script src="../../../../resources/sh/scripts/XRegExp.js" type="text/javascript"></script> <script src="../../../../resources/sh/scripts/shCore.js" type="text/javascript"></script> <script src="../../../../resources/sh/scripts/shAutoloader.js" type="text/javascript"></script> <link href="../../../../resources/sh/styles/shCoreNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="../../../../resources/sh/styles/shThemeNLPCraft.css" rel="stylesheet" type="text/css" title="Style"> <link href="https://fonts.googleapis.com/css?family=Roboto+Mono" rel="stylesheet"> <script async defer src="https://buttons.github.io/buttons.js"></script>
<!-- ========= 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="class-use/NCIntentMatch.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 class="aboutLanguage">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCIntentRef.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCIntentMatch.html" target="_top">Frames</a></li>
<li><a href="NCIntentMatch.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.nlpcraft.model</div>
<h2 title="Interface NCIntentMatch" class="title">Interface NCIntentMatch</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Superinterfaces:</dt>
<dd><a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">NCIntentMatch</span>
extends <a href="https://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a></pre>
<div class="block">An intent match context that can be passed into the callback of the matched intent.
Note that when using <a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntent</code></a> and <a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a>
annotations the callback method can be defined parameter-less (and this context won't be passed in).
If used, intent context must be the 1st formal parameter in intent callback.
<p>
Read full documentation in <a target=_ href="https://nlpcraft.apache.org/intent-matching.html">Intent Matching</a> section and review
<a target=_ href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples/">examples</a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntent</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentSkip.html" title="class in org.apache.nlpcraft.model"><code>NCIntentSkip</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentRef.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentRef</code></a></dd>
</dl>
</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="../../../../org/apache/nlpcraft/model/NCContext.html" title="interface in org.apache.nlpcraft.model">NCContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getContext--">getContext</a></span>()</code>
<div class="block">Context of the user input query.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentId--">getIntentId</a></span>()</code>
<div class="block">Gets ID of the matched intent.</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="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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentTokens--">getIntentTokens</a></span>()</code>
<div class="block">Gets a subset of tokens representing matched intent.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getTermTokens-int-">getTermTokens</a></span>(int&nbsp;idx)</code>
<div class="block">Gets tokens for given term.</div>
</td>
</tr>
<tr id="i4" 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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getTermTokens-java.lang.String-">getTermTokens</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;termId)</code>
<div class="block">Gets tokens for given term.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../../../org/apache/nlpcraft/model/NCVariant.html" title="interface in org.apache.nlpcraft.model">NCVariant</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getVariant--">getVariant</a></span>()</code>
<div class="block">Gets sentence parsing variant that produced the matching for this intent.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#isAmbiguous--">isAmbiguous</a></span>()</code>
<div class="block">Indicates whether or not the intent match was ambiguous (not exact).</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="getIntentId--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntentId</h4>
<pre><a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;getIntentId()</pre>
<div class="block">Gets ID of the matched intent.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>ID of the matched intent.</dd>
</dl>
</li>
</ul>
<a name="getContext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getContext</h4>
<pre><a href="../../../../org/apache/nlpcraft/model/NCContext.html" title="interface in org.apache.nlpcraft.model">NCContext</a>&nbsp;getContext()</pre>
<div class="block">Context of the user input query.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Original query context.</dd>
</dl>
</li>
</ul>
<a name="getIntentTokens--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getIntentTokens</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="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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;&gt;&nbsp;getIntentTokens()</pre>
<div class="block">Gets a subset of tokens representing matched intent. This subset is grouped by the matched terms
where a <code>null</code> sub-list defines an optional term. Order and index of sub-lists corresponds
to the order and index of terms in the matching intent. Number of sub-lists will always be the same
as the number of terms in the matched intent.
<p>
Note that unlike <a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getVariant--"><code>getVariant()</code></a> method
this method returns only subset of the tokens that were part of the matched intent. Specifically, it will
not return tokens for free words, stopwords or unmatched ("dangling") tokens.
<p>
Consider using <a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a> annotation instead for simpler access to intent tokens.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of list of tokens representing matched intent.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getVariant--"><code>getVariant()</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a></dd>
</dl>
</li>
</ul>
<a name="getTermTokens-int-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTermTokens</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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;&nbsp;getTermTokens(int&nbsp;idx)</pre>
<div class="block">Gets tokens for given term. This is a companion method for <a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentTokens--"><code>getIntentTokens()</code></a>.
<p>
Consider using <a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a> annotation instead for simpler access to intent tokens.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>idx</code> - Index of the term (starting from <code>0</code>).</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of tokens, potentially <code>null</code>, for given term.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getTermTokens-java.lang.String-"><code>getTermTokens(String)</code></a></dd>
</dl>
</li>
</ul>
<a name="getTermTokens-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getTermTokens</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/nlpcraft/model/NCToken.html" title="interface in org.apache.nlpcraft.model">NCToken</a>&gt;&nbsp;getTermTokens(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;termId)</pre>
<div class="block">Gets tokens for given term. This is a companion method for <a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentTokens--"><code>getIntentTokens()</code></a>.
<p>
Consider using <a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a> annotation instead for simpler access to intent tokens.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>termId</code> - ID of the term for which to get tokens.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>List of tokens, potentially <code>null</code>, for given term.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCIntentTerm.html" title="annotation in org.apache.nlpcraft.model"><code>NCIntentTerm</code></a>,
<a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getTermTokens-int-"><code>getTermTokens(int)</code></a></dd>
</dl>
</li>
</ul>
<a name="getVariant--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getVariant</h4>
<pre><a href="../../../../org/apache/nlpcraft/model/NCVariant.html" title="interface in org.apache.nlpcraft.model">NCVariant</a>&nbsp;getVariant()</pre>
<div class="block">Gets sentence parsing variant that produced the matching for this intent. Returned variant is one of the
variants provided by <a href="../../../../org/apache/nlpcraft/model/NCContext.html#getVariants--"><code>NCContext.getVariants()</code></a> methods. Note that tokens returned by this method are
a superset of the tokens returned by <a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentTokens--"><code>getIntentTokens()</code></a> method, i.e. not all tokens
from this variant may have been used in matching of the winning intent.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Sentence parsing variant that produced the matching for this intent.</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../org/apache/nlpcraft/model/NCIntentMatch.html#getIntentTokens--"><code>getIntentTokens()</code></a></dd>
</dl>
</li>
</ul>
<a name="isAmbiguous--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>isAmbiguous</h4>
<pre>boolean&nbsp;isAmbiguous()</pre>
<div class="block">Indicates whether or not the intent match was ambiguous (not exact).
<p>
An exact match means that for the intent to match it has to use all non-free word tokens
in the user input, i.e. only free word tokens can be left after the match. An ambiguous match
doesn't have this restriction. Note that an ambiguous match should be used with a great care.
An ambiguous match completely ignores extra found user or system tokens (which are not part
of the intent template) which could have altered the matching outcome had they been considered.
<p>
Intent callbacks that check this property should always provide custom rejection message.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd><code>True</code> if the intent match was exact, <code>false</code> otherwise.</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="class-use/NCIntentMatch.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 class="aboutLanguage"><span style="vertical-align: super">Apache NLPCraft <span style="font-size: 80%">0.5.0</span></span> <a style="vertical-align: super; margin-right: 10px" href="https://github.com/apache/incubator-nlpcraft" target="github"><i class="fa fa-github github-logo"></i></a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/tree/master/src/main/scala/org/apache/nlpcraft/examples" data-icon="octicon-eye" aria-label="NLPCraft Examples">Examples</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft" data-icon="octicon-star" aria-label="Star on GitHub">Star</a> <a class="github-button" href="https://github.com/apache/incubator-nlpcraft/fork" data-icon="octicon-repo-forked" aria-label="Fork on GitHub">Fork</a> <script type="text/javascript"> SyntaxHighlighter.defaults["auto-links"] = false; SyntaxHighlighter.defaults["tab-size"] = 2; SyntaxHighlighter.autoloader( 'java ../../../../resources/sh/scripts/shBrushJava.js', 'js jscript javascript ../../../../resources/sh/scripts/shBrushJScript.js', 'text plain ../../../../resources/sh/scripts/shBrushPlain.js', 'py python ../../../../resources/sh/scripts/shBrushPython.js', 'ruby rails ror rb ../../../../resources/sh/scripts/shBrushRuby.js', 'scala ../../../../resources/sh/scripts/shBrushScala.js', 'sql ../../../../resources/sh/scripts/shBrushSql.js', 'xml xhtml xslt html ../../../../resources/sh/scripts/shBrushXml.js' ); SyntaxHighlighter.all(); </script></div>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../org/apache/nlpcraft/model/NCIntent.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/nlpcraft/model/NCIntentRef.html" title="annotation in org.apache.nlpcraft.model"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/nlpcraft/model/NCIntentMatch.html" target="_top">Frames</a></li>
<li><a href="NCIntentMatch.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 ======= -->
<p class="legalCopy"><small><center> <br/> <span style="font-size: larger">Copyright &#169; 2020 Apache Software Foundation</span> <br/> <br/> <img src="https://www.apache.org/img/ASF20thAnniversary.jpg" height="64px"> </center></small></p>
</body>
</html>