blob: 2869600d2dbccd4af6d7da37c2d0a267717c1841 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.14.1) on Mon Apr 04 09:10:48 CDT 2022 -->
<title>QpackDecoder (Eclipse Jetty API Doc - v11.0.9)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-04-04">
<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="QpackDecoder (Eclipse Jetty API Doc - v11.0.9)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":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/QpackDecoder.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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a 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.eclipse.jetty.http3.qpack</a></div>
<h2 title="Class QpackDecoder" class="title">Class QpackDecoder</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>org.eclipse.jetty.http3.qpack.QpackDecoder</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
</dl>
<hr>
<pre>public class <span class="typeNameLabel">QpackDecoder</span>
extends java.lang.Object
implements <a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></pre>
</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>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="QpackDecoder.Handler.html" title="interface in org.eclipse.jetty.http3.qpack">QpackDecoder.Handler</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="nested.classes.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Nested classes/interfaces inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.DumpableContainer.html" title="interface in org.eclipse.jetty.util.component">Dumpable.DumpableContainer</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>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Fields inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#KEY">KEY</a></code></li>
</ul>
</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(org.eclipse.jetty.http3.qpack.Instruction.Handler,int)">QpackDecoder</a></span>&#8203;(<a href="Instruction.Handler.html" title="interface in org.eclipse.jetty.http3.qpack">Instruction.Handler</a>&nbsp;handler,
int&nbsp;maxHeaderSize)</code></th>
<td class="colLast">&nbsp;</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>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#decode(long,java.nio.ByteBuffer,org.eclipse.jetty.http3.qpack.QpackDecoder.Handler)">decode</a></span>&#8203;(long&nbsp;streamId,
java.nio.ByteBuffer&nbsp;buffer,
<a href="QpackDecoder.Handler.html" title="interface in org.eclipse.jetty.http3.qpack">QpackDecoder.Handler</a>&nbsp;handler)</code></th>
<td class="colLast">
<div class="block">Decode a buffer into a <a href="../../http/MetaData.html" title="class in org.eclipse.jetty.http"><code>MetaData</code></a> object given a HTTP/3 stream ID.</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="#dump(java.lang.Appendable,java.lang.String)">dump</a></span>&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)</code></th>
<td class="colLast">
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxBlockedStreams()">getMaxBlockedStreams</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMaxHeaderSize()">getMaxHeaderSize</a></span>()</code></th>
<td class="colLast">&nbsp;</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="#parseInstructions(java.nio.ByteBuffer)">parseInstructions</a></span>&#8203;(java.nio.ByteBuffer&nbsp;buffer)</code></th>
<td class="colLast">
<div class="block">Parse instructions from the Encoder stream.</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="#setMaxBlockedStreams(int)">setMaxBlockedStreams</a></span>&#8203;(int&nbsp;maxBlockedStreams)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setMaxHeaderSize(int)">setMaxHeaderSize</a></span>&#8203;(int&nbsp;maxHeaderSize)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#streamCancellation(long)">streamCancellation</a></span>&#8203;(long&nbsp;streamId)</code></th>
<td class="colLast">
<div class="block">Tells the <a href="QpackDecoder.html" title="class in org.eclipse.jetty.http3.qpack"><code>QpackDecoder</code></a> that a particular stream has been cancelled.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>java.lang.String</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#toString()">toString</a></span>()</code></th>
<td class="colLast">&nbsp;</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, wait, wait, wait</code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.eclipse.jetty.util.component.Dumpable">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.eclipse.jetty.util.component.<a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></h3>
<code><a href="../../util/component/Dumpable.html#dump()">dump</a>, <a href="../../util/component/Dumpable.html#dumpSelf()">dumpSelf</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= 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;(org.eclipse.jetty.http3.qpack.Instruction.Handler,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>QpackDecoder</h4>
<pre>public&nbsp;QpackDecoder&#8203;(<a href="Instruction.Handler.html" title="interface in org.eclipse.jetty.http3.qpack">Instruction.Handler</a>&nbsp;handler,
int&nbsp;maxHeaderSize)</pre>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>maxHeaderSize</code> - The maximum allowed size of a headers block, expressed as total of all name and value characters, plus 32 per field</dd>
</dl>
</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="getMaxHeaderSize()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxHeaderSize</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getMaxHeaderSize()</pre>
</li>
</ul>
<a id="setMaxHeaderSize(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxHeaderSize</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMaxHeaderSize&#8203;(int&nbsp;maxHeaderSize)</pre>
</li>
</ul>
<a id="getMaxBlockedStreams()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMaxBlockedStreams</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getMaxBlockedStreams()</pre>
</li>
</ul>
<a id="setMaxBlockedStreams(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setMaxBlockedStreams</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setMaxBlockedStreams&#8203;(int&nbsp;maxBlockedStreams)</pre>
</li>
</ul>
<a id="decode(long,java.nio.ByteBuffer,org.eclipse.jetty.http3.qpack.QpackDecoder.Handler)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>decode</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;decode&#8203;(long&nbsp;streamId,
java.nio.ByteBuffer&nbsp;buffer,
<a href="QpackDecoder.Handler.html" title="interface in org.eclipse.jetty.http3.qpack">QpackDecoder.Handler</a>&nbsp;handler)
throws <a href="QpackException.html" title="class in org.eclipse.jetty.http3.qpack">QpackException</a></pre>
<div class="block"><p>Decode a buffer into a <a href="../../http/MetaData.html" title="class in org.eclipse.jetty.http"><code>MetaData</code></a> object given a HTTP/3 stream ID. The buffer must be the complete content of a
headers frame and will be fully consumed. It may be that the Dynamic Table does not yet contain the state required
to decode this headers frame, in this case the encoded headers will be saved until the required state arrives on the
instruction stream to update the dynamic table.</p>
<p>This method may generate instructions to be sent back over the Decoder stream to the remote Encoder.</p></div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the stream ID corresponding to this headers frame.</dd>
<dd><code>buffer</code> - the content of the headers frame.</dd>
<dd><code>handler</code> - a handler that is invoked when the MetaData is able to be decoded.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true if the MetaData could be decoded immediately without requiring addition state in the DynamicTable.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="QpackException.html" title="class in org.eclipse.jetty.http3.qpack">QpackException</a></code> - if there was an error with the QPACK decompression.</dd>
</dl>
</li>
</ul>
<a id="parseInstructions(java.nio.ByteBuffer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>parseInstructions</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;parseInstructions&#8203;(java.nio.ByteBuffer&nbsp;buffer)
throws <a href="QpackException.html" title="class in org.eclipse.jetty.http3.qpack">QpackException</a></pre>
<div class="block">Parse instructions from the Encoder stream. The Encoder stream carries an unframed sequence of instructions from
the Encoder to the Decoder. This method will fully consume the supplied <code>ByteBuffer</code> and produce instructions
to update the state of the Decoder and its Dynamic Table.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - a buffer containing bytes from the Encoder stream.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="QpackException.html" title="class in org.eclipse.jetty.http3.qpack">QpackException</a></code> - if there was an error parsing or handling the instructions.</dd>
</dl>
</li>
</ul>
<a id="streamCancellation(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>streamCancellation</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;streamCancellation&#8203;(long&nbsp;streamId)</pre>
<div class="block">Tells the <a href="QpackDecoder.html" title="class in org.eclipse.jetty.http3.qpack"><code>QpackDecoder</code></a> that a particular stream has been cancelled. Any encoded field sections for this stream
will be discarded and a stream cancellation instruction will be sent to the remote Encoder.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>streamId</code> - the streamId of the stream that was cancelled.</dd>
</dl>
</li>
</ul>
<a id="dump(java.lang.Appendable,java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>dump</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;dump&#8203;(java.lang.Appendable&nbsp;out,
java.lang.String&nbsp;indent)
throws java.io.IOException</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">Dumpable</a></code></span></div>
<div class="block">Dump this object (and children) into an Appendable using the provided indent after any new lines.
The indent should not be applied to the first object dumped.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../util/component/Dumpable.html#dump(java.lang.Appendable,java.lang.String)">dump</a></code>&nbsp;in interface&nbsp;<code><a href="../../util/component/Dumpable.html" title="interface in org.eclipse.jetty.util.component">Dumpable</a></code></dd>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>out</code> - The appendable to dump to</dd>
<dd><code>indent</code> - The indent to apply after any new lines.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code>java.io.IOException</code> - if unable to write to Appendable</dd>
</dl>
</li>
</ul>
<a id="toString()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>toString</h4>
<pre class="methodSignature">public&nbsp;java.lang.String&nbsp;toString()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code>toString</code>&nbsp;in class&nbsp;<code>java.lang.Object</code></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/QpackDecoder.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>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small>Copyright &#169; 1995&#x2013;2022 <a href="https://webtide.com">Webtide</a>. All rights reserved.</small></p>
</footer>
</body>
</html>