<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Uses of Class org.apache.qpid.protonj2.engine.util.SequenceNumber (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="use: package: org.apache.qpid.protonj2.engine.util, class: SequenceNumber">
<meta name="generator" content="javadoc/ClassUseWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../../script.js"></script>
</head>
<body class="class-use-page">
<script type="text/javascript"></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><a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">Class</a></li>
<li class="nav-bar-cell1-rev">Use</li>
<li><a href="../package-tree.html">Tree</a></li>
<li><a href="../../../../../../../help-doc.html#use">Help</a></li>
</ul>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Uses of Class org.apache.qpid.protonj2.engine.util.SequenceNumber" class="title">Uses of Class<br>org.apache.qpid.protonj2.engine.util.SequenceNumber</h1>
</div>
<div class="caption"><span>Packages that use <a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="#org.apache.qpid.protonj2.engine.util">org.apache.qpid.protonj2.engine.util</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<section class="class-uses">
<ul class="block-list">
<li>
<section class="detail" id="org.apache.qpid.protonj2.engine.util">
<h2>Uses of <a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a> in <a href="../package-summary.html">org.apache.qpid.protonj2.engine.util</a></h2>
<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.qpid.protonj2.engine.util</a> that return <a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></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">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code><a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">SequenceNumber.</span><code><a href="../SequenceNumber.html#decrement()" class="member-name-link">decrement</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Subtract one to the sequence value.</div>
</div>
<div class="col-first odd-row-color"><code><a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></code></div>
<div class="col-second odd-row-color"><span class="type-name-label">SequenceNumber.</span><code><a href="../SequenceNumber.html#getAndDecrement()" class="member-name-link">getAndDecrement</a>()</code></div>
<div class="col-last odd-row-color">
<div class="block">Subtract one to the sequence value.</div>
</div>
<div class="col-first even-row-color"><code><a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></code></div>
<div class="col-second even-row-color"><span class="type-name-label">SequenceNumber.</span><code><a href="../SequenceNumber.html#getAndIncrement()" class="member-name-link">getAndIncrement</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Add one to the sequence value.</div>
</div>
<div class="col-first odd-row-color"><code><a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></code></div>
<div class="col-second odd-row-color"><span class="type-name-label">SequenceNumber.</span><code><a href="../SequenceNumber.html#increment()" class="member-name-link">increment</a>()</code></div>
<div class="col-last odd-row-color">
<div class="block">Add one to the sequence value.</div>
</div>
</div>
<div class="caption"><span>Methods in <a href="../package-summary.html">org.apache.qpid.protonj2.engine.util</a> with parameters of type <a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a></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">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>int</code></div>
<div class="col-second even-row-color"><span class="type-name-label">SequenceNumber.</span><code><a href="../SequenceNumber.html#compareTo(org.apache.qpid.protonj2.engine.util.SequenceNumber)" class="member-name-link">compareTo</a><wbr>(<a href="../SequenceNumber.html" title="class in org.apache.qpid.protonj2.engine.util">SequenceNumber</a>&nbsp;other)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
</ul>
</section>
</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>
