blob: bf83ec795bf2e6b70d27f910fa556b661c6d7616 [file] [log] [blame]
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>AbstractDescribedMapTypeEncoder (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: AbstractDescribedMapTypeEncoder">
<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/AbstractDescribedMapTypeEncoder.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 AbstractDescribedMapTypeEncoder" class="title">Class AbstractDescribedMapTypeEncoder&lt;K,<wbr>V,<wbr>M&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;M&gt;
<div class="inheritance">org.apache.qpid.protonj2.codec.encoders.AbstractDescribedMapTypeEncoder&lt;K,<wbr>V,<wbr>M&gt;</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Type Parameters:</dt>
<dd><code>M</code> - the map type that is being encoded.</dd>
<dd><code>K</code> - the key type used for the encoded map's keys.</dd>
<dd><code>V</code> - the value type used for the encoded map's values.</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;M&gt;</code>, <code><a href="../TypeEncoder.html" title="interface in org.apache.qpid.protonj2.codec">TypeEncoder</a>&lt;M&gt;</code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="messaging/ApplicationPropertiesTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">ApplicationPropertiesTypeEncoder</a></code>, <code><a href="messaging/DeliveryAnnotationsTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">DeliveryAnnotationsTypeEncoder</a></code>, <code><a href="messaging/FooterTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">FooterTypeEncoder</a></code>, <code><a href="messaging/MessageAnnotationsTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders.messaging">MessageAnnotationsTypeEncoder</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AbstractDescribedMapTypeEncoder&lt;K,<wbr>V,<wbr>M&gt;</span>
<span class="extends-implements">extends <a href="AbstractDescribedTypeEncoder.html" title="class in org.apache.qpid.protonj2.codec.encoders">AbstractDescribedTypeEncoder</a>&lt;M&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">AbstractDescribedMapTypeEncoder</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-tab4"><code>byte</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getMapEncoding(M)" class="member-name-link">getMapEncoding</a><wbr>(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</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">Determine the map 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 odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getMapSize(M)" class="member-name-link">getMapSize</a><wbr>(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</a>&nbsp;value)</code></div>
<div class="col-last odd-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 Map type.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#hasMap(M)" class="member-name-link">hasMap</a><wbr>(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</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">Returns false when the value to be encoded has no Map body and can be
written as a Null body type instead of a Map 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="#writeMapEntries(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState,M)" class="member-name-link">writeMapEntries</a><wbr>(<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,
<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</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">Performs the write of the Map entries to the given buffer, the caller
takes care of writing the Map preamble and tracking the final size of
the written elements of the Map.</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,M)" 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="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</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>AbstractDescribedMapTypeEncoder</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AbstractDescribedMapTypeEncoder</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="getMapEncoding(M)">
<h3 id="getMapEncoding(java.lang.Object)">getMapEncoding</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">byte</span>&nbsp;<span class="element-name">getMapEncoding</span><wbr><span class="parameters">(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</a>&nbsp;value)</span></div>
<div class="block">Determine the map 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 MAP32 but for cases where the type is known to
be encoded to MAP8 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 map type encoding needed for this object.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hasMap(M)">
<h3 id="hasMap(java.lang.Object)">hasMap</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">hasMap</span><wbr><span class="parameters">(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</a>&nbsp;value)</span></div>
<div class="block">Returns false when the value to be encoded has no Map body and can be
written as a Null body type instead of a Map type.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the value which be encoded as a map type.</dd>
<dt>Returns:</dt>
<dd>true if the type to be encoded has a Map body, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getMapSize(M)">
<h3 id="getMapSize(java.lang.Object)">getMapSize</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getMapSize</span><wbr><span class="parameters">(<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</a>&nbsp;value)</span></div>
<div class="block">Gets the number of elements that will result when this type is encoded
into an AMQP Map type.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>value</code> - the value which will be encoded as a map 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="writeMapEntries(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState,M)">
<h3 id="writeMapEntries(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.Encoder,org.apache.qpid.protonj2.codec.EncoderState,java.lang.Object)">writeMapEntries</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">writeMapEntries</span><wbr><span class="parameters">(<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,
<a href="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</a>&nbsp;value)</span></div>
<div class="block">Performs the write of the Map entries to the given buffer, the caller
takes care of writing the Map preamble and tracking the final size of
the written elements of the Map.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>buffer</code> - the buffer where the type should be encoded to.</dd>
<dd><code>encoder</code> - the current encoder.</dd>
<dd><code>state</code> - the current encoder state.</dd>
<dd><code>value</code> - the value which will be encoded as a map type.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="writeType(org.apache.qpid.protonj2.buffer.ProtonBuffer,org.apache.qpid.protonj2.codec.EncoderState,M)">
<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="AbstractDescribedMapTypeEncoder.html" title="type parameter in AbstractDescribedMapTypeEncoder">M</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>