blob: 40a726e354c194362a7d6c86f37444e635a53348 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ByteStream (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.jvm.trace.format.api.ByteStream class">
<meta name="keywords" content="reverseBytes()">
<meta name="keywords" content="add()">
<meta name="keywords" content="get()">
<meta name="keywords" content="getUTF8Char()">
<meta name="keywords" content="getDouble()">
<meta name="keywords" content="getFloat()">
<meta name="keywords" content="getInt()">
<meta name="keywords" content="getUnsignedInt()">
<meta name="keywords" content="getLong()">
<meta name="keywords" content="getShort()">
<meta name="keywords" content="getASCIIString()">
<meta name="keywords" content="getUTF8String()">
<meta name="keywords" content="getBigInteger()">
<meta name="keywords" content="order()">
<meta name="keywords" content="setGuardBytes()">
<meta name="keywords" content="getGuardBytes()">
<meta name="keywords" content="truncate()">
<meta name="keywords" content="remaining()">
<meta name="keywords" content="peek()">
<meta name="keywords" content="skip()">
<meta name="keywords" content="put()">
<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="ByteStream (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":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="../../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ByteStream.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</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="moduleLabelInType">Module</span>&nbsp;<a href="../../../../../../module-summary.html">openj9.traceformat</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.jvm.trace.format.api</a></div>
<h2 title="Class ByteStream" class="title">Class ByteStream</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" target="_blank">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.ibm.jvm.trace.format.api.ByteStream</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">ByteStream</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" target="_blank">Object</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== 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()">ByteStream</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(byte%5B%5D)">ByteStream</a></span>&#8203;(byte[]&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(byte%5B%5D,int)">ByteStream</a></span>&#8203;(byte[]&nbsp;data,
int&nbsp;offset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E(byte%5B%5D,int,int)">ByteStream</a></span>&#8203;(byte[]&nbsp;data,
int&nbsp;offset,
int&nbsp;length)</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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(byte%5B%5D)">add</a></span>&#8203;(byte[]&nbsp;data)</code></th>
<td class="colLast">&nbsp;</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="#add(byte%5B%5D,int)">add</a></span>&#8203;(byte[]&nbsp;data,
int&nbsp;offset)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#add(byte%5B%5D,int,int)">add</a></span>&#8203;(byte[]&nbsp;data,
int&nbsp;offset,
int&nbsp;length)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get()">get</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="#get(byte%5B%5D)">get</a></span>&#8203;(byte[]&nbsp;dst)</code></th>
<td class="colLast">&nbsp;</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="#get(byte%5B%5D,int,int)">get</a></span>&#8203;(byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#get(int)">get</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><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" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getASCIIString()">getASCIIString</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><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" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getASCIIString(int)">getASCIIString</a></span>&#8203;(int&nbsp;length)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigInteger.html?is-external=true" title="class or interface in java.math" class="externalLink" target="_blank">BigInteger</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBigInteger(int)">getBigInteger</a></span>&#8203;(int&nbsp;bytes)</code></th>
<td class="colLast">
<div class="block">reads the specified number of bytes and turns them in to a positive
BigInteger</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDouble()">getDouble</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>double</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDouble(int)">getDouble</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFloat()">getFloat</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code>float</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getFloat(int)">getFloat</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getGuardBytes()">getGuardBytes</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInt()">getInt</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getInt(int)">getInt</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLong()">getLong</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getLong(int)">getLong</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>short</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getShort()">getShort</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>short</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getShort(int)">getShort</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUnsignedInt()">getUnsignedInt</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUnsignedInt(int)">getUnsignedInt</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i23" class="rowColor">
<td class="colFirst"><code>char</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUTF8Char()">getUTF8Char</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i24" class="altColor">
<td class="colFirst"><code>char</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUTF8Char(int)">getUTF8Char</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i25" class="rowColor">
<td class="colFirst"><code><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" target="_blank">String</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getUTF8String()">getUTF8String</a></span>()</code></th>
<td class="colLast">
<div class="block">Constructs a string.</div>
</td>
</tr>
<tr id="i26" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">ByteOrder</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#order()">order</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i27" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#order(java.nio.ByteOrder)">order</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">ByteOrder</a>&nbsp;order)</code></th>
<td class="colLast">
<div class="block">Default order is big endian and that's what you'll get if you pass
null in.</div>
</td>
</tr>
<tr id="i28" class="altColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#peek()">peek</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i29" class="rowColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#peek(byte%5B%5D)">peek</a></span>&#8203;(byte[]&nbsp;dest)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i30" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(byte%5B%5D,int)">put</a></span>&#8203;(byte[]&nbsp;data,
int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">This method, in addition to putByte, is negatively indexed, i.e. it
indexes from the end of the data.</div>
</td>
</tr>
<tr id="i31" class="rowColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#put(byte,int)">put</a></span>&#8203;(byte&nbsp;b,
int&nbsp;index)</code></th>
<td class="colLast">
<div class="block">This takes a negative index and puts byte b in the index specified
working back from the end of the rawData as if it were one large
array allowing negative addressing.</div>
</td>
</tr>
<tr id="i32" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#remaining()">remaining</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i33" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#reverseBytes(byte%5B%5D)">reverseBytes</a></span>&#8203;(byte[]&nbsp;data)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i34" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#setGuardBytes(int)">setGuardBytes</a></span>&#8203;(int&nbsp;bytes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i35" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#skip(int)">skip</a></span>&#8203;(int&nbsp;bytes)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i36" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#truncate(byte%5B%5D)">truncate</a></span>&#8203;(byte[]&nbsp;bytes)</code></th>
<td class="colLast">
<div class="block">This allows you to strip off the last n bytes from the stream so long
as they've not been reached.</div>
</td>
</tr>
<tr id="i37" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#truncate(int)">truncate</a></span>&#8203;(int&nbsp;bytes)</code></th>
<td class="colLast">
<div class="block">This allows you to strip off the last n bytes from the stream so long
as they've not been reached.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods declared in 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" target="_blank">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#clone()" title="class or interface in java.lang" class="externalLink" target="_blank">clone</a>, <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" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink" target="_blank">finalize</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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">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" target="_blank">wait</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;(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ByteStream</h4>
<pre>public&nbsp;ByteStream&#8203;(byte[]&nbsp;data)</pre>
</li>
</ul>
<a id="&lt;init&gt;(byte[],int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ByteStream</h4>
<pre>public&nbsp;ByteStream&#8203;(byte[]&nbsp;data,
int&nbsp;offset)</pre>
</li>
</ul>
<a id="&lt;init&gt;(byte[],int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ByteStream</h4>
<pre>public&nbsp;ByteStream&#8203;(byte[]&nbsp;data,
int&nbsp;offset,
int&nbsp;length)</pre>
</li>
</ul>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ByteStream</h4>
<pre>public&nbsp;ByteStream()</pre>
</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="reverseBytes(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>reverseBytes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;reverseBytes&#8203;(byte[]&nbsp;data)</pre>
</li>
</ul>
<a id="add(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;add&#8203;(byte[]&nbsp;data)</pre>
</li>
</ul>
<a id="add(byte[],int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;add&#8203;(byte[]&nbsp;data,
int&nbsp;offset)</pre>
</li>
</ul>
<a id="add(byte[],int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>add</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;add&#8203;(byte[]&nbsp;data,
int&nbsp;offset,
int&nbsp;length)</pre>
</li>
</ul>
<a id="get()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;byte&nbsp;get()</pre>
</li>
</ul>
<a id="get(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;byte&nbsp;get&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getUTF8Char()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUTF8Char</h4>
<pre class="methodSignature">public&nbsp;char&nbsp;getUTF8Char()</pre>
</li>
</ul>
<a id="getUTF8Char(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUTF8Char</h4>
<pre class="methodSignature">public&nbsp;char&nbsp;getUTF8Char&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getDouble()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getDouble()</pre>
</li>
</ul>
<a id="getDouble(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDouble</h4>
<pre class="methodSignature">public&nbsp;double&nbsp;getDouble&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getFloat()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloat</h4>
<pre class="methodSignature">public&nbsp;float&nbsp;getFloat()</pre>
</li>
</ul>
<a id="getFloat(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getFloat</h4>
<pre class="methodSignature">public&nbsp;float&nbsp;getFloat&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getInt()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getInt()</pre>
</li>
</ul>
<a id="getInt(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getInt</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getInt&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getUnsignedInt()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnsignedInt</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getUnsignedInt()</pre>
</li>
</ul>
<a id="getUnsignedInt(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUnsignedInt</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getUnsignedInt&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getLong()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getLong()</pre>
</li>
</ul>
<a id="getLong(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getLong</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;getLong&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getShort()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre class="methodSignature">public&nbsp;short&nbsp;getShort()</pre>
</li>
</ul>
<a id="getShort(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getShort</h4>
<pre class="methodSignature">public&nbsp;short&nbsp;getShort&#8203;(int&nbsp;index)</pre>
</li>
</ul>
<a id="getASCIIString(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getASCIIString</h4>
<pre class="methodSignature">public&nbsp;<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" target="_blank">String</a>&nbsp;getASCIIString&#8203;(int&nbsp;length)</pre>
</li>
</ul>
<a id="getASCIIString()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getASCIIString</h4>
<pre class="methodSignature">public&nbsp;<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" target="_blank">String</a>&nbsp;getASCIIString()</pre>
</li>
</ul>
<a id="getUTF8String()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getUTF8String</h4>
<pre class="methodSignature">public&nbsp;<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" target="_blank">String</a>&nbsp;getUTF8String()
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/UnsupportedEncodingException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">UnsupportedEncodingException</a></pre>
<div class="block">Constructs a string. This has a prerequisite that the string is
prefixed with a short specifying it's length.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/UnsupportedEncodingException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">UnsupportedEncodingException</a></code></dd>
</dl>
</li>
</ul>
<a id="getBigInteger(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBigInteger</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/math/BigInteger.html?is-external=true" title="class or interface in java.math" class="externalLink" target="_blank">BigInteger</a>&nbsp;getBigInteger&#8203;(int&nbsp;bytes)</pre>
<div class="block">reads the specified number of bytes and turns them in to a positive
BigInteger</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - </dd>
<dt><span class="returnLabel">Returns:</span></dt>
</dl>
</li>
</ul>
<a id="get(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;get&#8203;(byte[]&nbsp;dst)</pre>
</li>
</ul>
<a id="get(byte[],int,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>get</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;get&#8203;(byte[]&nbsp;dst,
int&nbsp;offset,
int&nbsp;length)</pre>
</li>
</ul>
<a id="order()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>order</h4>
<pre class="methodSignature">public&nbsp;<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">ByteOrder</a>&nbsp;order()</pre>
</li>
</ul>
<a id="order(java.nio.ByteOrder)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>order</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;order&#8203;(<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/ByteOrder.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">ByteOrder</a>&nbsp;order)</pre>
<div class="block">Default order is big endian and that's what you'll get if you pass
null in.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>order</code> - </dd>
</dl>
</li>
</ul>
<a id="setGuardBytes(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>setGuardBytes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;setGuardBytes&#8203;(int&nbsp;bytes)</pre>
</li>
</ul>
<a id="getGuardBytes()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getGuardBytes</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getGuardBytes()</pre>
</li>
</ul>
<a id="truncate(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncate</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;truncate&#8203;(int&nbsp;bytes)</pre>
<div class="block">This allows you to strip off the last n bytes from the stream so long
as they've not been reached. This will remove data until it hits the
beginning of the stream, then will throw an exception. If an
exception is thrown the stream will be completely empty, all data
discarded.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - - the number of bytes to remove</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/BufferUnderflowException.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">BufferUnderflowException</a></code></dd>
</dl>
</li>
</ul>
<a id="truncate(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>truncate</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;truncate&#8203;(byte[]&nbsp;bytes)</pre>
<div class="block">This allows you to strip off the last n bytes from the stream so long
as they've not been reached. This will remove data until it hits the
beginning of the stream, then will return. The data that's truncated
will be placed into the provided array, filling from the end (i.e. if
there's insufficient data in the stream to fill the array then the
initial bytes in the array will be zero.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>bytes</code> - - the number of bytes to remove</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>- the number of bytes truncated</dd>
</dl>
</li>
</ul>
<a id="remaining()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>remaining</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;remaining()</pre>
</li>
</ul>
<a id="peek()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>peek</h4>
<pre class="methodSignature">public&nbsp;byte&nbsp;peek()
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/BufferUnderflowException.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">BufferUnderflowException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/nio/BufferUnderflowException.html?is-external=true" title="class or interface in java.nio" class="externalLink" target="_blank">BufferUnderflowException</a></code></dd>
</dl>
</li>
</ul>
<a id="peek(byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>peek</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;peek&#8203;(byte[]&nbsp;dest)</pre>
</li>
</ul>
<a id="skip(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>skip</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;skip&#8203;(int&nbsp;bytes)</pre>
</li>
</ul>
<a id="put(byte[],int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>put</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;put&#8203;(byte[]&nbsp;data,
int&nbsp;index)</pre>
<div class="block">This method, in addition to putByte, is negatively indexed, i.e. it
indexes from the end of the data. This is primarily because it's hard
to be sure where the start of the data is in relation to the bytes we
know we can modify, i.e. those bytes that are guarded.
put(data, -1) will insert the bytes in data in the last but one
position of the stream, moving the last byte in the stream out by
data.length and increase the count of guarded bytes by data.length</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>data</code> - - the data to insert</dd>
<dd><code>index</code> - - the negative index at which to insert, must be
within the guard bytes</dd>
</dl>
</li>
</ul>
<a id="put(byte,int)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>put</h4>
<pre class="methodSignature">public&nbsp;byte&nbsp;put&#8203;(byte&nbsp;b,
int&nbsp;index)</pre>
<div class="block">This takes a negative index and puts byte b in the index specified
working back from the end of the rawData as if it were one large
array allowing negative addressing. Positive indexes throw index out
of bounds. It is worth noting that an index of -1 means the last byte
present, i.e. we are not zero indexed.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>index</code> - </dd>
<dd><code>b</code> - - the original byte we're replacing</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="../../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ByteStream.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-files/index-1.html">Index</a></li>
<li><a href="../../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</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><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</body>
</html>