blob: 8ae7f133c01c5046fc85ed20c0588c5b1f48435a [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>MemoryEstimates (Apache SystemDS 3.2.0-SNAPSHOT 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.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.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.6.0.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.min.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="MemoryEstimates (Apache SystemDS 3.2.0-SNAPSHOT API)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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/MemoryEstimates.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><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.apache.sysds.utils</a></div>
<h2 title="Class MemoryEstimates" class="title">Class MemoryEstimates</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>org.apache.sysds.utils.MemoryEstimates</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">MemoryEstimates</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></pre>
<div class="block">Memory Estimates is a helper class containing static classes that estimate the memory requirements of different types
of objects in java. All estimates are worst case JVM x86-64bit uncompressed object pointers.
This in practice means that the objects are most commonly smaller, for instance the object references are often time.
If the memory pressure is low (there is a low number of allocated objects) then object pointers are 4 bits.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section>
<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()">MemoryEstimates</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section>
<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="t1" class="tableTab"><span><a href="javascript:show(1);">Static 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>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#bitSetCost(long)">bitSetCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an java.util.BitSet java object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#booleanArrayCost(long)">booleanArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of booleans.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#byteArrayCost(long)">byteArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of bytes.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#charArrayCost(long)">charArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of chars.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#doubleArrayCost(long)">doubleArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of doubles.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#floatArrayCost(long)">floatArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of integers.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#intArrayCost(long)">intArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array of integers.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#longArrayCost(long)">longArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage for an array of longs</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#objectArrayCost(long)">objectArrayCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage for an array of objects.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>static double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stringArrayCost(java.lang.String%5B%5D)">stringArrayCost</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]&nbsp;strings)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of an array containing strings.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stringCost(long)">stringCost</a></span>&#8203;(long&nbsp;length)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of a single string, assuming given length.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#stringCost(java.lang.String)">stringCost</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Get the worst case memory usage of a single string.</div>
</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.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MemoryEstimates</h4>
<pre>public&nbsp;MemoryEstimates()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section>
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="bitSetCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>bitSetCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;bitSetCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an java.util.BitSet java object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="booleanArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>booleanArrayCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;booleanArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of booleans.
Unfortunately in java booleans are allocated as bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes.</dd>
</dl>
</li>
</ul>
<a id="byteArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>byteArrayCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;byteArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="charArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>charArrayCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;charArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of chars.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="intArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>intArrayCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;intArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of integers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="floatArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>floatArrayCost</h4>
<pre class="methodSignature">public static&nbsp;double&nbsp;floatArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of integers.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes.</dd>
</dl>
</li>
</ul>
<a id="doubleArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>doubleArrayCost</h4>
<pre class="methodSignature">public static final&nbsp;double&nbsp;doubleArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of an array of doubles.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="objectArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectArrayCost</h4>
<pre class="methodSignature">public static final&nbsp;double&nbsp;objectArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage for an array of objects.
Note this does not take into account each objects allocated variables, just the objects themselves.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="longArrayCost(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>longArrayCost</h4>
<pre class="methodSignature">public static final&nbsp;double&nbsp;longArrayCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage for an array of longs</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The memory estimate in bytes</dd>
</dl>
</li>
</ul>
<a id="stringArrayCost(java.lang.String[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringArrayCost</h4>
<pre class="methodSignature">public static final&nbsp;double&nbsp;stringArrayCost&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>[]&nbsp;strings)</pre>
<div class="block">Get the worst case memory usage of an array containing strings.
In case anyone is wondering ... strings are expensive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>strings</code> - The strings array.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The array memory cost</dd>
</dl>
</li>
</ul>
<a id="stringCost(java.lang.String)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>stringCost</h4>
<pre class="methodSignature">public static&nbsp;long&nbsp;stringCost&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink">String</a>&nbsp;value)</pre>
<div class="block">Get the worst case memory usage of a single string.
In case anyone is wondering ... strings are expensive.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The String to measure</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The size in memory.</dd>
</dl>
</li>
</ul>
<a id="stringCost(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>stringCost</h4>
<pre class="methodSignature">public static&nbsp;long&nbsp;stringCost&#8203;(long&nbsp;length)</pre>
<div class="block">Get the worst case memory usage of a single string, assuming given length.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>length</code> - The length of the string</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The size in memory</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/MemoryEstimates.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><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; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>