blob: 18c0704aeefad4d5ac73f565ecd584e499c93ed9 [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 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>OutboundStreamListener (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)</title>
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="OutboundStreamListener (Apache Arrow Java Root POM 17.0.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":18,"i7":18,"i8":18,"i9":18,"i10":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../overview-summary.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/OutboundStreamListener.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">
<li><a href="../../../../org/apache/arrow/flight/NoOpStreamListener.html" title="class in org.apache.arrow.flight"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/flight/PollInfo.html" title="class in org.apache.arrow.flight"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/flight/OutboundStreamListener.html" target="_top">Frames</a></li>
<li><a href="OutboundStreamListener.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.arrow.flight</div>
<h2 title="Interface OutboundStreamListener" class="title">Interface OutboundStreamListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Subinterfaces:</dt>
<dd><a href="../../../../org/apache/arrow/flight/FlightClient.ClientStreamListener.html" title="interface in org.apache.arrow.flight">FlightClient.ClientStreamListener</a>, <a href="../../../../org/apache/arrow/flight/FlightProducer.ServerStreamListener.html" title="interface in org.apache.arrow.flight">FlightProducer.ServerStreamListener</a></dd>
</dl>
<hr>
<br>
<pre>public interface <span class="typeNameLabel">OutboundStreamListener</span></pre>
<div class="block">An interface for writing data to a peer, client or server.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t5" class="tableTab"><span><a href="javascript:show(16);">Default 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>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#completed--">completed</a></span>()</code>
<div class="block">Indicate that transmission is finished.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#error-java.lang.Throwable-">error</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;ex)</code>
<div class="block">Indicate an error to the client.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#isReady--">isReady</a></span>()</code>
<div class="block">A hint indicating whether the client is ready to receive data without excessive buffering.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putMetadata-org.apache.arrow.memory.ArrowBuf-">putMetadata</a></span>(<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;metadata)</code>
<div class="block">Send a pure metadata message without any associated data.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putNext--">putNext</a></span>()</code>
<div class="block">Send the current contents of the associated <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putNext-org.apache.arrow.memory.ArrowBuf-">putNext</a></span>(<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;metadata)</code>
<div class="block">Send the current contents of the associated <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a> alongside application-defined metadata.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#setOnReadyHandler-java.lang.Runnable-">setOnReadyHandler</a></span>(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;handler)</code>
<div class="block">Set a callback for when the listener is ready for new calls to putNext(), i.e.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#setUseZeroCopy-boolean-">setUseZeroCopy</a></span>(boolean&nbsp;enabled)</code>
<div class="block">Toggle whether to use the zero-copy write optimization.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#start-org.apache.arrow.vector.VectorSchemaRoot-">start</a></span>(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root)</code>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>default void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#start-org.apache.arrow.vector.VectorSchemaRoot-org.apache.arrow.vector.dictionary.DictionaryProvider-">start</a></span>(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root,
<a href="../../../../org/apache/arrow/vector/dictionary/DictionaryProvider.html" title="interface in org.apache.arrow.vector.dictionary">DictionaryProvider</a>&nbsp;dictionaries)</code>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#start-org.apache.arrow.vector.VectorSchemaRoot-org.apache.arrow.vector.dictionary.DictionaryProvider-org.apache.arrow.vector.ipc.message.IpcOption-">start</a></span>(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root,
<a href="../../../../org/apache/arrow/vector/dictionary/DictionaryProvider.html" title="interface in org.apache.arrow.vector.dictionary">DictionaryProvider</a>&nbsp;dictionaries,
<a href="../../../../org/apache/arrow/vector/ipc/message/IpcOption.html" title="class in org.apache.arrow.vector.ipc.message">IpcOption</a>&nbsp;option)</code>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.</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="isReady--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isReady</h4>
<pre>boolean&nbsp;isReady()</pre>
<div class="block">A hint indicating whether the client is ready to receive data without excessive buffering.
<p>Writers should poll this flag before sending data to respect backpressure from the client and
avoid sending data faster than the client can handle. Ignoring this flag may mean that the server
will start consuming excessive amounts of memory, as it may buffer messages in memory.</div>
</li>
</ul>
<a name="setOnReadyHandler-java.lang.Runnable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setOnReadyHandler</h4>
<pre>default&nbsp;void&nbsp;setOnReadyHandler(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>&nbsp;handler)</pre>
<div class="block">Set a callback for when the listener is ready for new calls to putNext(), i.e. <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#isReady--"><code>isReady()</code></a>
has become true.
<p>Note that this callback may only be called some time after <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#isReady--"><code>isReady()</code></a> becomes true, and may never
be called if all executor threads on the server are busy, or the RPC method body is implemented in a blocking
fashion. Note that isReady() must still be checked after the callback is run as it may have been run
spuriously.</div>
</li>
</ul>
<a name="start-org.apache.arrow.vector.VectorSchemaRoot-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>default&nbsp;void&nbsp;start(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root)</pre>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.
<p>This method must be called before all others, except <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putMetadata-org.apache.arrow.memory.ArrowBuf-"><code>putMetadata(ArrowBuf)</code></a>.</div>
</li>
</ul>
<a name="start-org.apache.arrow.vector.VectorSchemaRoot-org.apache.arrow.vector.dictionary.DictionaryProvider-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>default&nbsp;void&nbsp;start(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root,
<a href="../../../../org/apache/arrow/vector/dictionary/DictionaryProvider.html" title="interface in org.apache.arrow.vector.dictionary">DictionaryProvider</a>&nbsp;dictionaries)</pre>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.
<p>This method must be called before all others, except <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putMetadata-org.apache.arrow.memory.ArrowBuf-"><code>putMetadata(ArrowBuf)</code></a>.</div>
</li>
</ul>
<a name="start-org.apache.arrow.vector.VectorSchemaRoot-org.apache.arrow.vector.dictionary.DictionaryProvider-org.apache.arrow.vector.ipc.message.IpcOption-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>start</h4>
<pre>void&nbsp;start(<a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector">VectorSchemaRoot</a>&nbsp;root,
<a href="../../../../org/apache/arrow/vector/dictionary/DictionaryProvider.html" title="interface in org.apache.arrow.vector.dictionary">DictionaryProvider</a>&nbsp;dictionaries,
<a href="../../../../org/apache/arrow/vector/ipc/message/IpcOption.html" title="class in org.apache.arrow.vector.ipc.message">IpcOption</a>&nbsp;option)</pre>
<div class="block">Start sending data, using the schema of the given <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.
<p>This method must be called before all others, except <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putMetadata-org.apache.arrow.memory.ArrowBuf-"><code>putMetadata(ArrowBuf)</code></a>.</div>
</li>
</ul>
<a name="putNext--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putNext</h4>
<pre>void&nbsp;putNext()</pre>
<div class="block">Send the current contents of the associated <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a>.
<p>This will not necessarily block until the message is actually sent; it may buffer messages
in memory. Use <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#isReady--"><code>isReady()</code></a> to check if there is backpressure and avoid excessive buffering.</div>
</li>
</ul>
<a name="putNext-org.apache.arrow.memory.ArrowBuf-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putNext</h4>
<pre>void&nbsp;putNext(<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;metadata)</pre>
<div class="block">Send the current contents of the associated <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html" title="class in org.apache.arrow.vector"><code>VectorSchemaRoot</code></a> alongside application-defined metadata.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>metadata</code> - The metadata to send. Ownership of the buffer is transferred to the Flight implementation.</dd>
</dl>
</li>
</ul>
<a name="putMetadata-org.apache.arrow.memory.ArrowBuf-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>putMetadata</h4>
<pre>void&nbsp;putMetadata(<a href="../../../../org/apache/arrow/memory/ArrowBuf.html" title="class in org.apache.arrow.memory">ArrowBuf</a>&nbsp;metadata)</pre>
<div class="block">Send a pure metadata message without any associated data.
<p>This may be called without starting the stream.</div>
</li>
</ul>
<a name="error-java.lang.Throwable-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>error</h4>
<pre>void&nbsp;error(<a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;ex)</pre>
<div class="block">Indicate an error to the client. Terminates the stream; do not call <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#completed--"><code>completed()</code></a> afterwards.</div>
</li>
</ul>
<a name="completed--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>completed</h4>
<pre>void&nbsp;completed()</pre>
<div class="block">Indicate that transmission is finished.</div>
</li>
</ul>
<a name="setUseZeroCopy-boolean-">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>setUseZeroCopy</h4>
<pre>default&nbsp;void&nbsp;setUseZeroCopy(boolean&nbsp;enabled)</pre>
<div class="block">Toggle whether to use the zero-copy write optimization.
<p>By default or when disabled, Arrow may copy data into a buffer for the underlying implementation to
send. When enabled, Arrow will instead try to directly enqueue the Arrow buffer for sending. Not all
implementations support this optimization, so even if enabled, you may not see a difference.
<p>In this mode, buffers must not be reused after they are written with <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putNext--"><code>putNext()</code></a>. For example,
you would have to call <a href="../../../../org/apache/arrow/vector/VectorSchemaRoot.html#allocateNew--"><code>VectorSchemaRoot.allocateNew()</code></a> after every call to <a href="../../../../org/apache/arrow/flight/OutboundStreamListener.html#putNext--"><code>putNext()</code></a>.
Hence, this is not enabled by default.
<p>The default value can be toggled globally by setting the JVM property arrow.flight.enable_zero_copy_write
or the environment variable ARROW_FLIGHT_ENABLE_ZERO_COPY_WRITE.</div>
</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/OutboundStreamListener.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">
<li><a href="../../../../org/apache/arrow/flight/NoOpStreamListener.html" title="class in org.apache.arrow.flight"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
<li><a href="../../../../org/apache/arrow/flight/PollInfo.html" title="class in org.apache.arrow.flight"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
</ul>
<ul class="navList">
<li><a href="../../../../index.html?org/apache/arrow/flight/OutboundStreamListener.html" target="_top">Frames</a></li>
<li><a href="OutboundStreamListener.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>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>