blob: 15507c0fe02d2549a43462413ff37d02252877c2 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>OutputStreamOptions (Qpid ProtonJ2 Parent 1.0.0-M19 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.client, class: OutputStreamOptions">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/OutputStreamOptions.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&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="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.client</a></div>
<h1 title="Class OutputStreamOptions" class="title">Class OutputStreamOptions</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">org.apache.qpid.protonj2.client.OutputStreamOptions</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">OutputStreamOptions</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Cloneable.html" title="class or interface in java.lang" class="external-link">Cloneable</a></span></div>
<div class="block">Options class that controls various aspects of a <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> instance created to write
the contents of a section of a <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a>.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static final boolean</code></div>
<div class="col-second even-row-color"><code><a href="#DEFAULT_COMPLETE_SEND_ON_CLOSE" class="member-name-link">DEFAULT_COMPLETE_SEND_ON_CLOSE</a></code></div>
<div class="col-last even-row-color">
<div class="block">Defines the default value for the complete parent <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> on close option</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">OutputStreamOptions</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance with default values for all options</div>
</div>
<div class="col-constructor-name odd-row-color"><code><a href="#%3Cinit%3E(org.apache.qpid.protonj2.client.OutputStreamOptions)" class="member-name-link">OutputStreamOptions</a><wbr>(<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a>&nbsp;options)</code></div>
<div class="col-last odd-row-color">
<div class="block">Create a <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance that copies all configuration from the given
<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#bodyLength()" class="member-name-link">bodyLength</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#bodyLength(int)" class="member-name-link">bodyLength</a><wbr>(int&nbsp;streamSize)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the overall stream size for this associated <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> that the
options are applied to.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clone()" class="member-name-link">clone</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#completeSendOnClose()" class="member-name-link">completeSendOnClose</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#completeSendOnClose(boolean)" class="member-name-link">completeSendOnClose</a><wbr>(boolean&nbsp;completeContextOnClose)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Configures if the close of the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> should result in a completion of the parent
<a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> (default is true).</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#copyInto(org.apache.qpid.protonj2.client.OutputStreamOptions)" class="member-name-link">copyInto</a><wbr>(<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a>&nbsp;other)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Copy all options from this <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance into the instance
provided.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="DEFAULT_COMPLETE_SEND_ON_CLOSE">
<h3>DEFAULT_COMPLETE_SEND_ON_CLOSE</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">DEFAULT_COMPLETE_SEND_ON_CLOSE</span></div>
<div class="block">Defines the default value for the complete parent <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> on close option</div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../constant-values.html#org.apache.qpid.protonj2.client.OutputStreamOptions.DEFAULT_COMPLETE_SEND_ON_CLOSE">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>OutputStreamOptions</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">OutputStreamOptions</span>()</div>
<div class="block">Creates a <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance with default values for all options</div>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(org.apache.qpid.protonj2.client.OutputStreamOptions)">
<h3>OutputStreamOptions</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">OutputStreamOptions</span><wbr><span class="parameters">(<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a>&nbsp;options)</span></div>
<div class="block">Create a <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance that copies all configuration from the given
<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>options</code> - The options instance to copy all configuration values from.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="clone()">
<h3>clone</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></span>&nbsp;<span class="element-name">clone</span>()</div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="copyInto(org.apache.qpid.protonj2.client.OutputStreamOptions)">
<h3>copyInto</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type"><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></span>&nbsp;<span class="element-name">copyInto</span><wbr><span class="parameters">(<a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a>&nbsp;other)</span></div>
<div class="block">Copy all options from this <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance into the instance
provided.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>other</code> - the target of this copy operation.</dd>
<dt>Returns:</dt>
<dd>the <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> that was given.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="bodyLength()">
<h3>bodyLength</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">bodyLength</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the configured stream size limit for associated <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="bodyLength(int)">
<h3>bodyLength</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></span>&nbsp;<span class="element-name">bodyLength</span><wbr><span class="parameters">(int&nbsp;streamSize)</span></div>
<div class="block">Sets the overall stream size for this associated <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> that the
options are applied to.
<p>
When set this option indicates the number of bytes that can be written to the stream before an error
would be thrown indicating that this value was exceeded. Conversely if the stream is closed before
the number of bytes indicated is written the send will be aborted and an error will be thrown to the
caller.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>streamSize</code> - The fixed number of bytes that must be written in order for the stream to be complete.</dd>
<dt>Returns:</dt>
<dd>this <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="completeSendOnClose()">
<h3>completeSendOnClose</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">completeSendOnClose</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the whether the close of the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> should complete the parent <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="completeSendOnClose(boolean)">
<h3>completeSendOnClose</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client">OutputStreamOptions</a></span>&nbsp;<span class="element-name">completeSendOnClose</span><wbr><span class="parameters">(boolean&nbsp;completeContextOnClose)</span></div>
<div class="block">Configures if the close of the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> should result in a completion of the parent
<a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> (default is true). If there is a configured stream size and the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a>
is closed the parent <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> will always be aborted as the send would be incomplete, but the
close of an <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html" title="class or interface in java.io" class="external-link"><code>OutputStream</code></a> may not always be the desired outcome. In the case the user wishes to
add a <a href="../types/messaging/Footer.html" title="class in org.apache.qpid.protonj2.types.messaging"><code>Footer</code></a> to the message transmitted by the <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a> this option should be set to
false and the user should complete the stream manually.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>completeContextOnClose</code> - Should the <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/OutputStream.html#close()" title="class or interface in java.io" class="external-link"><code>OutputStream.close()</code></a> method complete the parent <a href="StreamSenderMessage.html" title="interface in org.apache.qpid.protonj2.client"><code>StreamSenderMessage</code></a></dd>
<dt>Returns:</dt>
<dd>this <a href="OutputStreamOptions.html" title="class in org.apache.qpid.protonj2.client"><code>OutputStreamOptions</code></a> instance.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>