<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AuthenticationStrategy (Apache Shiro 1.10.0 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.5.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="AuthenticationStrategy (Apache Shiro 1.10.0 API)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":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";
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"><!-- Matomo --> <script>   var _paq = window._paq = window._paq || [];   /* tracker methods like "setCustomDimension" should be called before "trackPageView" */   /* We explicitly disable cookie tracking to avoid privacy issues */   _paq.push(['disableCookies']);   _paq.push(['trackPageView']);   _paq.push(['enableLinkTracking']);   (function() {     var u="//matomo.privacy.apache.org/";     _paq.push(['setTrackerUrl', u+'matomo.php']);     _paq.push(['setSiteId', '2']);     var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];     g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);   })(); </script> <!-- End Matomo Code -->
<!-- ========= 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/AuthenticationStrategy.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>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 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.shiro.authc.pam</a></div>
<h2 title="Interface AuthenticationStrategy" class="title">Interface AuthenticationStrategy</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractAuthenticationStrategy.html" title="class in org.apache.shiro.authc.pam">AbstractAuthenticationStrategy</a></code>, <code><a href="AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AllSuccessfulStrategy</a></code>, <code><a href="AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">AtLeastOneSuccessfulStrategy</a></code>, <code><a href="FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam">FirstSuccessfulStrategy</a></code></dd>
</dl>
<hr>
<pre>public interface <a href="../../../../../src-html/org/apache/shiro/authc/pam/AuthenticationStrategy.html#line.42">AuthenticationStrategy</a></pre>
<div class="block">A <code>AuthenticationStrategy</code> implementation assists the <a href="ModularRealmAuthenticator.html" title="class in org.apache.shiro.authc.pam"><code>ModularRealmAuthenticator</code></a> during the
 log-in process in a pluggable realm (PAM) environment.

 <p>The <code>ModularRealmAuthenticator</code> will consult implementations of this interface on what to do during each
 interaction with the configured Realms.  This allows a pluggable strategy of whether or not an authentication
 attempt must be successful for all realms, only 1 or more realms, no realms, etc.</div>
<dl>
<dt><span class="simpleTagLabel">Since:</span></dt>
<dd>0.2</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="AllSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><code>AllSuccessfulStrategy</code></a>, 
<a href="AtLeastOneSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><code>AtLeastOneSuccessfulStrategy</code></a>, 
<a href="FirstSuccessfulStrategy.html" title="class in org.apache.shiro.authc.pam"><code>FirstSuccessfulStrategy</code></a></dd>
</dl>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="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="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterAllAttempts(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">afterAllAttempts</a></span>&#8203;(<a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
                <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregate)</code></th>
<td class="colLast">
<div class="block">Method invoked by the ModularAuthenticator signifying that all of its configured Realms have been consulted
 for account data, allowing post-processing after all realms have completed.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#afterAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo,java.lang.Throwable)">afterAttempt</a></span>&#8203;(<a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&nbsp;realm,
            <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
            <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;singleRealmInfo,
            <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregateInfo,
            <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a>&nbsp;t)</code></th>
<td class="colLast">
<div class="block">Method invoked by the ModularAuthenticator just after the given realm has been consulted for authentication,
 allowing post-authentication-attempt logic for that realm only.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeAllAttempts(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">beforeAllAttempts</a></span>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&gt;&nbsp;realms,
                 <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token)</code></th>
<td class="colLast">
<div class="block">Method invoked by the ModularAuthenticator signifying that the authentication process is about to begin for the
 specified <code>token</code> - called before any <code>Realm</code> is actually invoked.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">beforeAttempt</a></span>&#8203;(<a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&nbsp;realm,
             <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
             <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregate)</code></th>
<td class="colLast">
<div class="block">Method invoked by the ModularAuthenticator just prior to the realm being consulted for account data,
 allowing pre-authentication-attempt logic for that realm only.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!--   -->
</a>
<h3>Method Detail</h3>
<a id="beforeAllAttempts(java.util.Collection,org.apache.shiro.authc.AuthenticationToken)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeAllAttempts</h4>
<pre class="methodSignature"><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/pam/AuthenticationStrategy.html#line.59">beforeAllAttempts</a>&#8203;(<a href="https://docs.oracle.com/javase/8/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util" class="externalLink">Collection</a>&lt;? extends <a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&gt;&nbsp;realms,
                                     <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token)
                              throws <a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></pre>
<div class="block">Method invoked by the ModularAuthenticator signifying that the authentication process is about to begin for the
 specified <code>token</code> - called before any <code>Realm</code> is actually invoked.

 <p>The <code>AuthenticationInfo</code> object returned from this method is essentially an empty place holder for
 aggregating account data across multiple realms.  It should be populated by the strategy implementation over the
 course of authentication attempts across the multiple realms.  It will be passed into the
 <a href="#beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)"><code>beforeAttempt(org.apache.shiro.realm.Realm, org.apache.shiro.authc.AuthenticationToken, org.apache.shiro.authc.AuthenticationInfo)</code></a> calls, allowing inspection of the aggregated account data up to that point in the
 multi-realm authentication, allowing any logic to be executed accordingly.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>realms</code> - the Realms that will be consulted during the authentication process for the specified token.</dd>
<dd><code>token</code> - the Principal/Credential representation to be used during authentication for a corresponding subject.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an empty AuthenticationInfo object that will populated with data from multiple realms.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></code> - if the strategy implementation does not wish the Authentication attempt to execute.</dd>
</dl>
</li>
</ul>
<a id="beforeAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>beforeAttempt</h4>
<pre class="methodSignature"><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/pam/AuthenticationStrategy.html#line.78">beforeAttempt</a>&#8203;(<a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&nbsp;realm,
                                 <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
                                 <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregate)
                          throws <a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></pre>
<div class="block">Method invoked by the ModularAuthenticator just prior to the realm being consulted for account data,
 allowing pre-authentication-attempt logic for that realm only.

 <p>This method returns an <code>AuthenticationInfo</code> object that will be used for further interaction with realms.  Most
 implementations will merely return the <code>aggregate</code> method argument if they don't have a need to
 manipulate it.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>realm</code> - the realm that will be consulted for <code>AuthenticationInfo</code> for the specified <code>token</code>.</dd>
<dd><code>token</code> - the <code>AuthenticationToken</code> submitted for the subject attempting system log-in.</dd>
<dd><code>aggregate</code> - the aggregated AuthenticationInfo object being used across the multi-realm authentication attempt</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the AuthenticationInfo object that will be presented to further realms in the authentication process - returning
         the <code>aggregate</code> method argument is the normal case if no special action needs to be taken.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></code> - an exception thrown by the Strategy implementation if it wishes the login
          process for the associated subject (user) to stop immediately.</dd>
</dl>
</li>
</ul>
<a id="afterAttempt(org.apache.shiro.realm.Realm,org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo,org.apache.shiro.authc.AuthenticationInfo,java.lang.Throwable)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>afterAttempt</h4>
<pre class="methodSignature"><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/pam/AuthenticationStrategy.html#line.98">afterAttempt</a>&#8203;(<a href="../../realm/Realm.html" title="interface in org.apache.shiro.realm">Realm</a>&nbsp;realm,
                                <a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
                                <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;singleRealmInfo,
                                <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregateInfo,
                                <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang" class="externalLink">Throwable</a>&nbsp;t)
                         throws <a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></pre>
<div class="block">Method invoked by the ModularAuthenticator just after the given realm has been consulted for authentication,
 allowing post-authentication-attempt logic for that realm only.

 <p>This method returns an <code>AuthenticationInfo</code> object that will be used for further interaction with realms.  Most
 implementations will merge the <code>singleRealmInfo</code> into the <code>aggregateInfo</code> and
 just return the <code>aggregateInfo</code> for continued use throughout the authentication process.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>realm</code> - the realm that was just consulted for <code>AuthenticationInfo</code> for the given <code>token</code>.</dd>
<dd><code>token</code> - the <code>AuthenticationToken</code> submitted for the subject attempting system log-in.</dd>
<dd><code>singleRealmInfo</code> - the info returned from a single realm.</dd>
<dd><code>aggregateInfo</code> - the aggregate info representing all realms in a multi-realm environment.</dd>
<dd><code>t</code> - the Throwable thrown by the Realm during the attempt, or <code>null</code> if the method returned normally.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the AuthenticationInfo object that will be presented to further realms in the authentication process - returning
         the <code>aggregateAccount</code> method argument is the normal case if no special action needs to be taken.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></code> - an exception thrown by the Strategy implementation if it wishes the login process
                                 for the associated subject (user) to stop immediately.</dd>
</dl>
</li>
</ul>
<a id="afterAllAttempts(org.apache.shiro.authc.AuthenticationToken,org.apache.shiro.authc.AuthenticationInfo)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>afterAllAttempts</h4>
<pre class="methodSignature"><a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;<a href="../../../../../src-html/org/apache/shiro/authc/pam/AuthenticationStrategy.html#line.114">afterAllAttempts</a>&#8203;(<a href="../AuthenticationToken.html" title="interface in org.apache.shiro.authc">AuthenticationToken</a>&nbsp;token,
                                    <a href="../AuthenticationInfo.html" title="interface in org.apache.shiro.authc">AuthenticationInfo</a>&nbsp;aggregate)
                             throws <a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></pre>
<div class="block">Method invoked by the ModularAuthenticator signifying that all of its configured Realms have been consulted
 for account data, allowing post-processing after all realms have completed.

 <p>Returns the final AuthenticationInfo object that will be returned from the Authenticator to the authenticate() caller.
 This is most likely the aggregate AuthenticationInfo object that has been populated by many realms, but the actual return value is
 always up to the implementation.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>token</code> - the <code>AuthenticationToken</code> submitted for the subject attempting system log-in.</dd>
<dd><code>aggregate</code> - the aggregate <code>AuthenticationInfo</code> instance populated by all realms during the log-in attempt.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the final <code>AuthenticationInfo</code> object to return to the Authenticator.authenticate() caller.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../AuthenticationException.html" title="class in org.apache.shiro.authc">AuthenticationException</a></code> - if the Strategy implementation wishes to fail the authentication attempt.</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/AuthenticationStrategy.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>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 id="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 2004&#x2013;2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>
