blob: 203b1007c667d419e9ebe40a2419e02dc80bd4e4 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>AbstractDescribedListTypeEncoder (Qpid ProtonJ2 Parent 1.0.0-M19 API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: package: org.apache.qpid.protonj2.codec.encoders, class: AbstractDescribedListTypeEncoder">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/AbstractDescribedListTypeEncoder.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>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="sub-nav-list">
<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>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">org.apache.qpid.protonj2.codec.encoders</a></div>
<h1 title="Class AbstractDescribedListTypeEncoder" class="title">Class AbstractDescribedListTypeEncoder&lt;V&gt;</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">org.apache.qpid.protonj2.codec.encoders.AbstractDescribedTypeEncoder</a>&lt;V&gt;
<div class="inheritance">org.apache.qpid.protonj2.codec.encoders.AbstractDescribedListTypeEncoder&lt;V&gt;</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>V</code> - the type that is being encoded</dd>
</dl>
<dl class="notes">
<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 class="notes">
<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>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AbstractDescribedListTypeEncoder&lt;V&gt;</span>
<span class="extends-implements">extends <a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">AbstractDescribedTypeEncoder</a>&lt;V&gt;</span></div>
<div class="block">Base class used for all Described Type objects that are represented as a List</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">AbstractDescribedListTypeEncoder</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getElementCount(V)" class="member-name-link">getElementCount</a><wbr>(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Gets the number of elements that will result when this type is encoded
into an AMQP List type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>byte</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getListEncoding(V)" class="member-name-link">getListEncoding</a><wbr>(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMinElementCount()" class="member-name-link">getMinElementCount</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Return the minimum number of elements that this AMQP type must provide
in order to be considered a valid type.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)" class="member-name-link">writeArray</a><wbr>(<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" title="class or interface in java.lang" class="external-link">Object</a>[]&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Write an array elements of the AMQP type to the given byte buffer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#writeElement(V,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState)" class="member-name-link">writeElement</a><wbr>(<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="../Encoder.html" title="interface in org.apache.qpid.protonj2.codec">Encoder</a>&nbsp;encoder,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Instructs the encoder to write the element identified with the given index</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeRawArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object%5B%5D)" class="member-name-link">writeRawArray</a><wbr>(<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" title="class or interface in java.lang" class="external-link">Object</a>[]&nbsp;values)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Write an array elements of the AMQP type to the given byte buffer.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,V)" class="member-name-link">writeType</a><wbr>(<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></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Write the full AMQP type data to the given byte buffer.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.codec.encoders.AbstractDescribedTypeEncoder">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></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.codec.DescribedTypeEncoder">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#encoderRegistered(org.apache.qpid.protonj2.codec.Encoder)">encoderRegistered</a>, <a href="../DescribedTypeEncoder.html#getDescriptorCode()">getDescriptorCode</a>, <a href="../DescribedTypeEncoder.html#getDescriptorSymbol()">getDescriptorSymbol</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-org.apache.qpid.protonj2.codec.TypeEncoder">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></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>AbstractDescribedListTypeEncoder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AbstractDescribedListTypeEncoder</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getListEncoding(V)">
<h3 id="getListEncoding(java.lang.Object)">getListEncoding</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">byte</span>&nbsp;<span class="element-name">getListEncoding</span><wbr><span class="parameters">(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</span></div>
<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 class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - The value that is to be encoded.</dd>
<dt>Returns:</dt>
<dd>the encoding code of the list type encoding needed for this object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeElement(V,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState)">
<h3 id="writeElement(java.lang.Object,int,org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState)">writeElement</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeElement</span><wbr><span class="parameters">(<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="../Encoder.html" title="interface in org.apache.qpid.protonj2.codec">Encoder</a>&nbsp;encoder,
<a href="../EncoderState.html" title="interface in org.apache.qpid.protonj2.codec">EncoderState</a>&nbsp;state)</span></div>
<div class="block">Instructs the encoder to write the element identified with the given index</div>
<dl class="notes">
<dt>Parameters:</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>encoder</code> - the current Encoder value to use.</dd>
<dd><code>state</code> - the current EncoderState value to use.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getElementCount(V)">
<h3 id="getElementCount(java.lang.Object)">getElementCount</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getElementCount</span><wbr><span class="parameters">(<a href="AbstractDescribedListTypeEncoder.html" title="type parameter in AbstractDescribedListTypeEncoder">V</a>&nbsp;value)</span></div>
<div class="block">Gets the number of elements that will result when this type is encoded
into an AMQP List type.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the value which will be encoded as a list type.</dd>
<dt>Returns:</dt>
<dd>the number of elements that should comprise the encoded list.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMinElementCount()">
<h3>getMinElementCount</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMinElementCount</span>()</div>
<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 class="notes">
<dt>Returns:</dt>
<dd>the minimum number of elements this type must provide.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,V)">
<h3 id="writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object)">writeType</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeType</span><wbr><span class="parameters">(<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)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Parameters:</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>
</section>
</li>
<li>
<section class="detail" id="writeArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object[])">
<h3>writeArray</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeArray</span><wbr><span class="parameters">(<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" title="class or interface in java.lang" class="external-link">Object</a>[]&nbsp;values)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Parameters:</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>
</section>
</li>
<li>
<section class="detail" id="writeRawArray(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object[])">
<h3>writeRawArray</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeRawArray</span><wbr><span class="parameters">(<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" title="class or interface in java.lang" class="external-link">Object</a>[]&nbsp;values)</span></div>
<div class="block"><span class="descfrm-type-label">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 class="notes">
<dt>Parameters:</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>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><small>Copyright &#169; 2024 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</footer>
</div>
</div>
</body>
</html>