blob: 9af8203c319b1e9a0dddbdc21cec08059e39f152 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>AbstractDescribedListTypeEncoder (Qpid ProtonJ2 Parent 1.0.0-M9 API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="AbstractDescribedListTypeEncoder (Qpid ProtonJ2 Parent 1.0.0-M9 API)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":10,"i2":10,"i3":10,"i4":6,"i5":10,"i6":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
</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/AbstractDescribedListTypeEncoder.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="../../../../../../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>
<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.qpid.protonj2.codec.encoders</a></div>
<h2 title="Class AbstractDescribedListTypeEncoder" class="title">Class AbstractDescribedListTypeEncoder&lt;V&gt;</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><a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">org.apache.qpid.protonj2.codec.encoders.AbstractDescribedTypeEncoder</a>&lt;V&gt;</li>
<li>
<ul class="inheritance">
<li>org.apache.qpid.protonj2.codec.encoders.AbstractDescribedListTypeEncoder&lt;V&gt;</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt><span class="paramLabel">Type Parameters:</span></dt>
<dd><code>V</code> - the type that is being encoded</dd>
</dl>
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../DescribedTypeEncoder.html" title="interface in org.apache.qpid.protonj2.codec">DescribedTypeEncoder</a>&lt;V&gt;</code>, <code><a href="../TypeEncoder.html" title="interface in org.apache.qpid.protonj2.codec">TypeEncoder</a>&lt;V&gt;</code></dd>
</dl>
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="messaging/AcceptedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">AcceptedTypeEncoder</a></code>, <code><a href="transport/AttachTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">AttachTypeEncoder</a></code>, <code><a href="transport/BeginTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">BeginTypeEncoder</a></code>, <code><a href="transport/CloseTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">CloseTypeEncoder</a></code>, <code><a href="transactions/CoordinatorTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transactions">CoordinatorTypeEncoder</a></code>, <code><a href="transactions/DeclaredTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transactions">DeclaredTypeEncoder</a></code>, <code><a href="transactions/DeclareTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transactions">DeclareTypeEncoder</a></code>, <code><a href="messaging/DeleteOnCloseTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">DeleteOnCloseTypeEncoder</a></code>, <code><a href="messaging/DeleteOnNoLinksOrMessagesTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">DeleteOnNoLinksOrMessagesTypeEncoder</a></code>, <code><a href="messaging/DeleteOnNoLinksTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">DeleteOnNoLinksTypeEncoder</a></code>, <code><a href="messaging/DeleteOnNoMessagesTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">DeleteOnNoMessagesTypeEncoder</a></code>, <code><a href="transport/DetachTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">DetachTypeEncoder</a></code>, <code><a href="transactions/DischargeTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transactions">DischargeTypeEncoder</a></code>, <code><a href="transport/DispositionTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">DispositionTypeEncoder</a></code>, <code><a href="transport/EndTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">EndTypeEncoder</a></code>, <code><a href="transport/ErrorConditionTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">ErrorConditionTypeEncoder</a></code>, <code><a href="transport/FlowTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">FlowTypeEncoder</a></code>, <code><a href="messaging/HeaderTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">HeaderTypeEncoder</a></code>, <code><a href="messaging/ModifiedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">ModifiedTypeEncoder</a></code>, <code><a href="transport/OpenTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">OpenTypeEncoder</a></code>, <code><a href="messaging/PropertiesTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">PropertiesTypeEncoder</a></code>, <code><a href="messaging/ReceivedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">ReceivedTypeEncoder</a></code>, <code><a href="messaging/RejectedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">RejectedTypeEncoder</a></code>, <code><a href="messaging/ReleasedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">ReleasedTypeEncoder</a></code>, <code><a href="security/SaslChallengeTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.security">SaslChallengeTypeEncoder</a></code>, <code><a href="security/SaslInitTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.security">SaslInitTypeEncoder</a></code>, <code><a href="security/SaslMechanismsTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.security">SaslMechanismsTypeEncoder</a></code>, <code><a href="security/SaslOutcomeTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.security">SaslOutcomeTypeEncoder</a></code>, <code><a href="security/SaslResponseTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.security">SaslResponseTypeEncoder</a></code>, <code><a href="messaging/SourceTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">SourceTypeEncoder</a></code>, <code><a href="messaging/TargetTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">TargetTypeEncoder</a></code>, <code><a href="transactions/TransactionStateTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transactions">TransactionStateTypeEncoder</a></code>, <code><a href="transport/TransferTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.transport">TransferTypeEncoder</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">AbstractDescribedListTypeEncoder&lt;V&gt;</span>
extends <a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">AbstractDescribedTypeEncoder</a>&lt;V&gt;</pre>
<div class="block">Base class used for all Described Type objects that are represented as a List</div>
</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()">AbstractDescribedListTypeEncoder</a></span>()</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="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract 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>abstract int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getElementCount(V)">getElementCount</a></span>&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Gets the number of elements that will result when this type is encoded
into an AMQP List type.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>byte</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getListEncoding(V)">getListEncoding</a></span>&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Determine the list type the given value can be encoded to based on the number
of bytes that would be needed to hold the encoded form of the resulting list
entries.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>int</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getMinElementCount()">getMinElementCount</a></span>()</code></th>
<td class="colLast">
<div class="block">Return the minimum number of elements that this AMQP type must provide
in order to be considered a valid type.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)">writeArray</a></span>&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<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>[]&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Write an array elements of the AMQP type to the given byte buffer.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>abstract void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeElement(V,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState)">writeElement</a></span>&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;source,
int&nbsp;index,
<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state)</code></th>
<td class="colLast">
<div class="block">Instructs the encoder to write the element identified with the given index</div>
</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="#writeRawArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)">writeRawArray</a></span>&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<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>[]&nbsp;values)</code></th>
<td class="colLast">
<div class="block">Write an array elements of the AMQP type to the given byte buffer.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,V)">writeType</a></span>&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write the full AMQP type data to the given byte buffer.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.codec.encoders.AbstractDescribedTypeEncoder">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;org.apache.qpid.protonj2.codec.encoders.<a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">AbstractDescribedTypeEncoder</a></h3>
<code><a href="AbstractDescribedTypeEncoder.html#isArrayType()">isArrayType</a></code></li>
</ul>
<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#clone()" title="class or interface in java.lang" class="externalLink">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">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">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">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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.codec.DescribedTypeEncoder">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.codec.<a href="../DescribedTypeEncoder.html" title="interface in org.apache.qpid.protonj2.codec">DescribedTypeEncoder</a></h3>
<code><a href="../DescribedTypeEncoder.html#getDescriptorCode()">getDescriptorCode</a>, <a href="../DescribedTypeEncoder.html#getDescriptorSymbol()">getDescriptorSymbol</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.org.apache.qpid.protonj2.codec.TypeEncoder">
<!-- -->
</a>
<h3>Methods inherited from interface&nbsp;org.apache.qpid.protonj2.codec.<a href="../TypeEncoder.html" title="interface in org.apache.qpid.protonj2.codec">TypeEncoder</a></h3>
<code><a href="../TypeEncoder.html#getTypeClass()">getTypeClass</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;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>AbstractDescribedListTypeEncoder</h4>
<pre>public&nbsp;AbstractDescribedListTypeEncoder()</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="getListEncoding(java.lang.Object)">
<!-- -->
</a><a id="getListEncoding(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getListEncoding</h4>
<pre class="methodSignature">public&nbsp;byte&nbsp;getListEncoding&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</pre>
<div class="block">Determine the list type the given value can be encoded to based on the number
of bytes that would be needed to hold the encoded form of the resulting list
entries.
<p>
Most encoders will return LIST32 but for cases where the type is known to
be encoded to LIST8 or always encodes an empty list (LIST0) the encoder can
optimize the encode step and not compute sizes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - The value that is to be encoded.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the encoding code of the list type encoding needed for this object.</dd>
</dl>
</li>
</ul>
<a id="writeElement(java.lang.Object,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState)">
<!-- -->
</a><a id="writeElement(V,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeElement</h4>
<pre class="methodSignature">public abstract&nbsp;void&nbsp;writeElement&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;source,
int&nbsp;index,
<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state)</pre>
<div class="block">Instructs the encoder to write the element identified with the given index</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>source</code> - the source of the list elements to write</dd>
<dd><code>index</code> - the element index that needs to be written</dd>
<dd><code>buffer</code> - the buffer to write the element to</dd>
<dd><code>state</code> - the current EncoderState value to use.</dd>
</dl>
</li>
</ul>
<a id="getElementCount(java.lang.Object)">
<!-- -->
</a><a id="getElementCount(V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElementCount</h4>
<pre class="methodSignature">public abstract&nbsp;int&nbsp;getElementCount&#8203;(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</pre>
<div class="block">Gets the number of elements that will result when this type is encoded
into an AMQP List type.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>value</code> - the value which will be encoded as a list type.</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of elements that should comprise the encoded list.</dd>
</dl>
</li>
</ul>
<a id="getMinElementCount()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getMinElementCount</h4>
<pre class="methodSignature">public&nbsp;int&nbsp;getMinElementCount()</pre>
<div class="block">Return the minimum number of elements that this AMQP type must provide
in order to be considered a valid type.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the minimum number of elements this type must provide.</dd>
</dl>
</li>
</ul>
<a id="writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object)">
<!-- -->
</a><a id="writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,V)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeType</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeType&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../TypeEncoder.html#writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,V)">TypeEncoder</a></code></span></div>
<div class="block">Write the full AMQP type data to the given byte buffer.
<p>
This can consist of writing both a type constructor value and
the bytes that make up the value of the type being written.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The buffer to write the AMQP type to</dd>
<dd><code>state</code> - The current encoder state</dd>
<dd><code>value</code> - The value that is to be written.</dd>
</dl>
</li>
</ul>
<a id="writeArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeArray</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeArray&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<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>[]&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../TypeEncoder.html#writeArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)">TypeEncoder</a></code></span></div>
<div class="block">Write an array elements of the AMQP type to the given byte buffer.
<p>
This method writes the full Array type definition of an array of the
type this encoder manages.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The buffer to write the AMQP array elements to</dd>
<dd><code>state</code> - The current encoder state</dd>
<dd><code>values</code> - The array of values that is to be written.</dd>
</dl>
</li>
</ul>
<a id="writeRawArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object[])">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>writeRawArray</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeRawArray&#8203;(<a href="../../buffer/ProtonBuffer.html" title="interface in org.apache.qpid.protonj2.buffer">ProtonBuffer</a>&nbsp;buffer,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state,
<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>[]&nbsp;values)</pre>
<div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../TypeEncoder.html#writeRawArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)">TypeEncoder</a></code></span></div>
<div class="block">Write an array elements of the AMQP type to the given byte buffer.
<p>
This method writes only the body portion of an AMQP array of this type, the
array encoding, size and element count should be assumed to be managed by
the caller.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>buffer</code> - The buffer to write the AMQP array elements to</dd>
<dd><code>state</code> - The current encoder state</dd>
<dd><code>values</code> - The array of values that is to be written.</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/AbstractDescribedListTypeEncoder.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="../../../../../../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; 2022 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</body>
</html>