blob: 3c1b83e1aca4ca1d68107a933565687347c75bac [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>org.apache.beam.sdk.coders (Apache Beam 2.38.0-SNAPSHOT)</title>
<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="org.apache.beam.sdk.coders (Apache Beam 2.38.0-SNAPSHOT)";
}
}
catch(err) {
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/beam/sdk/annotations/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/beam/sdk/expansion/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/coders/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<a name="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="header">
<p>@DefaultAnnotation(value=<a href="https://static.javadoc.io/org.checkerframework/checker-qual/3.10.0/org/checkerframework/checker/nullness/qual/NonNull.html?is-external=true" title="class or interface in org.checkerframework.checker.nullness.qual">org.checkerframework.checker.nullness.qual.NonNull.class</a>)
</p>
<h1 title="Package" class="title">Package&nbsp;org.apache.beam.sdk.coders</h1>
<div class="docSummary">
<div class="block">Defines <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coders</code></a> to specify how data is encoded to and
decoded from byte strings.</div>
</div>
<p>See:&nbsp;<a href="#package.description">Description</a></p>
</div>
<div class="contentContainer">
<ul class="blockList">
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Interface Summary table, listing interfaces, and an explanation">
<caption><span>Interface Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Interface</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CoderProviderRegistrar.html" title="interface in org.apache.beam.sdk.coders">CoderProviderRegistrar</a></td>
<td class="colLast">
<div class="block"><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> creators have the ability to automatically have their <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>coders</code></a>
registered with this SDK by creating a <code>ServiceLoader</code> entry and a concrete implementation
of this interface.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DelegateCoder.CodingFunction.html" title="interface in org.apache.beam.sdk.coders">DelegateCoder.CodingFunction</a>&lt;InputT,OutputT&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/DelegateCoder.CodingFunction.html" title="interface in org.apache.beam.sdk.coders"><code>CodingFunction&lt;InputT, OutputT&gt;</code></a> is a serializable
function from <code>InputT</code> to <code>OutputT</code> that may throw any <code>Exception</code>.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
<caption><span>Class Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/AtomicCoder.html" title="class in org.apache.beam.sdk.coders">AtomicCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that has no component <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coders</code></a> or other configuration.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/AvroCoder.html" title="class in org.apache.beam.sdk.coders">AvroCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> using Avro binary format.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/AvroCoder.JodaTimestampConversion.html" title="class in org.apache.beam.sdk.coders">AvroCoder.JodaTimestampConversion</a></td>
<td class="colLast">
<div class="block">Conversion for DateTime.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/AvroGenericCoder.html" title="class in org.apache.beam.sdk.coders">AvroGenericCoder</a></td>
<td class="colLast">
<div class="block">AvroCoder specialisation for GenericRecord.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BigDecimalCoder.html" title="class in org.apache.beam.sdk.coders">BigDecimalCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/BigDecimalCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigDecimalCoder</code></a> encodes a <code>BigDecimal</code> as an integer scale encoded with <a href="../../../../../org/apache/beam/sdk/coders/VarIntCoder.html" title="class in org.apache.beam.sdk.coders"><code>VarIntCoder</code></a> and a <code>BigInteger</code> encoded using <a href="../../../../../org/apache/beam/sdk/coders/BigIntegerCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigIntegerCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BigEndianIntegerCoder.html" title="class in org.apache.beam.sdk.coders">BigEndianIntegerCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/BigEndianIntegerCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigEndianIntegerCoder</code></a> encodes <code>Integers</code> in 4 bytes, big-endian.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BigEndianLongCoder.html" title="class in org.apache.beam.sdk.coders">BigEndianLongCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/BigEndianLongCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigEndianLongCoder</code></a> encodes <code>Longs</code> in 8 bytes, big-endian.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BigEndianShortCoder.html" title="class in org.apache.beam.sdk.coders">BigEndianShortCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/BigEndianShortCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigEndianShortCoder</code></a> encodes <code>Shorts</code> in 2 bytes, big-endian.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BigIntegerCoder.html" title="class in org.apache.beam.sdk.coders">BigIntegerCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/BigIntegerCoder.html" title="class in org.apache.beam.sdk.coders"><code>BigIntegerCoder</code></a> encodes a <code>BigInteger</code> as a byte array containing the big endian
two's-complement representation, encoded via <a href="../../../../../org/apache/beam/sdk/coders/ByteArrayCoder.html" title="class in org.apache.beam.sdk.coders"><code>ByteArrayCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BitSetCoder.html" title="class in org.apache.beam.sdk.coders">BitSetCoder</a></td>
<td class="colLast">
<div class="block">Coder for <code>BitSet</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/BooleanCoder.html" title="class in org.apache.beam.sdk.coders">BooleanCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>Boolean</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/ByteArrayCoder.html" title="class in org.apache.beam.sdk.coders">ByteArrayCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>byte[]</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/ByteCoder.html" title="class in org.apache.beam.sdk.coders">ByteCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/ByteCoder.html" title="class in org.apache.beam.sdk.coders"><code>ByteCoder</code></a> encodes <code>Byte</code> values in 1 byte using Java serialization.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders">Coder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder&lt;T&gt;</code></a> defines how to encode and decode values of type <code>T</code> into
byte streams.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders">Coder.Context</a></td>
<td class="colLast">Deprecated
<div class="block"><span class="deprecationComment">To implement a coder, do not use any <a href="../../../../../org/apache/beam/sdk/coders/Coder.Context.html" title="class in org.apache.beam.sdk.coders"><code>Coder.Context</code></a>.</span></div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders">CoderProvider</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>CoderProvider</code></a> provides <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CoderProviders.html" title="class in org.apache.beam.sdk.coders">CoderProviders</a></td>
<td class="colLast">
<div class="block">Static utility methods for creating and working with <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>CoderProvider</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders">CoderRegistry</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders"><code>CoderRegistry</code></a> allows creating a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for a given Java <code>class</code> or
<a href="../../../../../org/apache/beam/sdk/values/TypeDescriptor.html" title="class in org.apache.beam.sdk.values"><code>type descriptor</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CollectionCoder.html" title="class in org.apache.beam.sdk.coders">CollectionCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/CollectionCoder.html" title="class in org.apache.beam.sdk.coders"><code>CollectionCoder</code></a> encodes <code>Collections</code> in the format of <a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableLikeCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CustomCoder.html" title="class in org.apache.beam.sdk.coders">CustomCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">An abstract base class that implements all methods of <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> except <a href="../../../../../org/apache/beam/sdk/coders/Coder.html#encode-T-java.io.OutputStream-"><code>Coder.encode(T, java.io.OutputStream)</code></a>
and <a href="../../../../../org/apache/beam/sdk/coders/Coder.html#decode-java.io.InputStream-"><code>Coder.decode(java.io.InputStream)</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DefaultCoder.DefaultCoderProviderRegistrar.html" title="class in org.apache.beam.sdk.coders">DefaultCoder.DefaultCoderProviderRegistrar</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/CoderProviderRegistrar.html" title="interface in org.apache.beam.sdk.coders"><code>CoderProviderRegistrar</code></a> that registers a <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>CoderProvider</code></a> which can use the
<code>@DefaultCoder</code> annotation to provide <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>coder providers</code></a> that creates
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a>s.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DelegateCoder.html" title="class in org.apache.beam.sdk.coders">DelegateCoder</a>&lt;T,IntermediateT&gt;</td>
<td class="colLast">
<div class="block">A <code>DelegateCoder&lt;T, IntermediateT&gt;</code> wraps a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>IntermediateT</code> and
encodes/decodes values of type <code>T</code> by converting to/from <code>IntermediateT</code> and then
encoding/decoding using the underlying <code>Coder&lt;IntermediateT&gt;</code>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DequeCoder.html" title="class in org.apache.beam.sdk.coders">DequeCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>Deque</code>, using the format of <a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableLikeCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DoubleCoder.html" title="class in org.apache.beam.sdk.coders">DoubleCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/DoubleCoder.html" title="class in org.apache.beam.sdk.coders"><code>DoubleCoder</code></a> encodes <code>Double</code> values in 8 bytes using Java serialization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DurationCoder.html" title="class in org.apache.beam.sdk.coders">DurationCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that encodes a joda <a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Duration.html?is-external=true" title="class or interface in org.joda.time"><code>Duration</code></a> as a <code>Long</code> using the format of <a href="../../../../../org/apache/beam/sdk/coders/VarLongCoder.html" title="class in org.apache.beam.sdk.coders"><code>VarLongCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/FloatCoder.html" title="class in org.apache.beam.sdk.coders">FloatCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/FloatCoder.html" title="class in org.apache.beam.sdk.coders"><code>FloatCoder</code></a> encodes <code>Float</code> values in 4 bytes using Java serialization.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/InstantCoder.html" title="class in org.apache.beam.sdk.coders">InstantCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for joda <a href="https://static.javadoc.io/joda-time/joda-time/2.10.10/org/joda/time/Instant.html?is-external=true" title="class or interface in org.joda.time"><code>Instant</code></a> that encodes it as a big endian <code>Long</code> shifted
such that lexicographic ordering of the bytes corresponds to chronological order.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/IterableCoder.html" title="class in org.apache.beam.sdk.coders">IterableCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">An <a href="../../../../../org/apache/beam/sdk/coders/IterableCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableCoder</code></a> encodes any <code>Iterable</code> in the format of <a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableLikeCoder</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders">IterableLikeCoder</a>&lt;T,IterableT extends java.lang.Iterable&lt;T&gt;&gt;</td>
<td class="colLast">
<div class="block">An abstract base class with functionality for assembling a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for a class that
implements <code>Iterable</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/KvCoder.html" title="class in org.apache.beam.sdk.coders">KvCoder</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A <code>KvCoder</code> encodes <a href="../../../../../org/apache/beam/sdk/values/KV.html" title="class in org.apache.beam.sdk.values"><code>KV</code></a>s.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/LengthPrefixCoder.html" title="class in org.apache.beam.sdk.coders">LengthPrefixCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> which is able to take any existing coder and wrap it such that it is only invoked
in the <a href="../../../../../org/apache/beam/sdk/coders/Coder.Context.html#OUTER"><code>outer context</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/ListCoder.html" title="class in org.apache.beam.sdk.coders">ListCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>List</code>, using the format of <a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableLikeCoder</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/MapCoder.html" title="class in org.apache.beam.sdk.coders">MapCoder</a>&lt;K,V&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>Maps</code> that encodes them according to provided coders for keys and
values.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/NullableCoder.html" title="class in org.apache.beam.sdk.coders">NullableCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/NullableCoder.html" title="class in org.apache.beam.sdk.coders"><code>NullableCoder</code></a> encodes nullable values of type <code>T</code> using a nested <code>Coder&lt;T&gt;</code>
that does not tolerate <code>null</code> values.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/RowCoder.html" title="class in org.apache.beam.sdk.coders">RowCoder</a></td>
<td class="colLast">
<div class="block">A sub-class of SchemaCoder that can only encode <a href="../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values"><code>Row</code></a> instances.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/RowCoderGenerator.html" title="class in org.apache.beam.sdk.coders">RowCoderGenerator</a></td>
<td class="colLast">
<div class="block">A utility for automatically generating a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <a href="../../../../../org/apache/beam/sdk/values/Row.html" title="class in org.apache.beam.sdk.values"><code>Row</code></a> objects corresponding to a
specific schema.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/SerializableCoder.html" title="class in org.apache.beam.sdk.coders">SerializableCoder</a>&lt;T extends java.io.Serializable&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for Java classes that implement <code>Serializable</code>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/SerializableCoder.SerializableCoderProviderRegistrar.html" title="class in org.apache.beam.sdk.coders">SerializableCoder.SerializableCoderProviderRegistrar</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/CoderProviderRegistrar.html" title="interface in org.apache.beam.sdk.coders"><code>CoderProviderRegistrar</code></a> which registers a <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>CoderProvider</code></a> which can handle
serializable types.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/SetCoder.html" title="class in org.apache.beam.sdk.coders">SetCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/SetCoder.html" title="class in org.apache.beam.sdk.coders"><code>SetCoder</code></a> encodes any <code>Set</code> using the format of <a href="../../../../../org/apache/beam/sdk/coders/IterableLikeCoder.html" title="class in org.apache.beam.sdk.coders"><code>IterableLikeCoder</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/ShardedKeyCoder.html" title="class in org.apache.beam.sdk.coders">ShardedKeyCoder</a>&lt;KeyT&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <a href="../../../../../org/apache/beam/sdk/values/ShardedKey.html" title="class in org.apache.beam.sdk.values"><code>ShardedKey</code></a>, using a wrapped key <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a>.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/SnappyCoder.html" title="class in org.apache.beam.sdk.coders">SnappyCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">Wraps an existing coder with Snappy compression.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/StringDelegateCoder.html" title="class in org.apache.beam.sdk.coders">StringDelegateCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that wraps a <code>Coder&lt;String&gt;</code> and encodes/decodes values via string
representations.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/StringUtf8Coder.html" title="class in org.apache.beam.sdk.coders">StringUtf8Coder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that encodes <code>Strings</code> in UTF-8 encoding.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/StructuralByteArray.html" title="class in org.apache.beam.sdk.coders">StructuralByteArray</a></td>
<td class="colLast">
<div class="block">A wrapper around a byte[] that uses structural, value-based equality rather than byte[]'s normal
object identity.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/StructuredCoder.html" title="class in org.apache.beam.sdk.coders">StructuredCoder</a>&lt;T&gt;</td>
<td class="colLast">
<div class="block">An abstract base class to implement a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that defines equality, hashing, and printing
via the class name and recursively using <a href="../../../../../org/apache/beam/sdk/coders/StructuredCoder.html#getComponents--"><code>StructuredCoder.getComponents()</code></a>.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/TextualIntegerCoder.html" title="class in org.apache.beam.sdk.coders">TextualIntegerCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that encodes <code>Integer Integers</code> as the ASCII bytes of their textual,
decimal, representation.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/TimestampPrefixingWindowCoder.html" title="class in org.apache.beam.sdk.coders">TimestampPrefixingWindowCoder</a>&lt;T extends <a href="../../../../../org/apache/beam/sdk/transforms/windowing/BoundedWindow.html" title="class in org.apache.beam.sdk.transforms.windowing">BoundedWindow</a>&gt;</td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/TimestampPrefixingWindowCoder.html" title="class in org.apache.beam.sdk.coders"><code>TimestampPrefixingWindowCoder</code></a> wraps arbitrary user custom window coder.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/VarIntCoder.html" title="class in org.apache.beam.sdk.coders">VarIntCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that encodes <code>Integers</code> using between 1 and 5 bytes.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/VarLongCoder.html" title="class in org.apache.beam.sdk.coders">VarLongCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that encodes <code>Longs</code> using between 1 and 10 bytes.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/VoidCoder.html" title="class in org.apache.beam.sdk.coders">VoidCoder</a></td>
<td class="colLast">
<div class="block">A <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> for <code>Void</code>.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
<caption><span>Enum Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Enum</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.ReasonCode.html" title="enum in org.apache.beam.sdk.coders">CannotProvideCoderException.ReasonCode</a></td>
<td class="colLast">
<div class="block">Indicates the reason that <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> inference failed.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Exception Summary table, listing exceptions, and an explanation">
<caption><span>Exception Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Exception</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CannotProvideCoderException.html" title="class in org.apache.beam.sdk.coders">CannotProvideCoderException</a></td>
<td class="colLast">
<div class="block">The exception thrown when a <a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders"><code>CoderRegistry</code></a> or <a href="../../../../../org/apache/beam/sdk/coders/CoderProvider.html" title="class in org.apache.beam.sdk.coders"><code>CoderProvider</code></a> cannot provide a
<a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> that has been requested.</div>
</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/Coder.NonDeterministicException.html" title="class in org.apache.beam.sdk.coders">Coder.NonDeterministicException</a></td>
<td class="colLast">
<div class="block">Exception thrown by <a href="../../../../../org/apache/beam/sdk/coders/Coder.html#verifyDeterministic--"><code>Coder.verifyDeterministic()</code></a> if the encoding is not deterministic,
including details of why the encoding is not deterministic.</div>
</td>
</tr>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/CoderException.html" title="class in org.apache.beam.sdk.coders">CoderException</a></td>
<td class="colLast">
<div class="block">An <code>Exception</code> thrown if there is a problem encoding or decoding a value.</div>
</td>
</tr>
</tbody>
</table>
</li>
<li class="blockList">
<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Annotation Types Summary table, listing annotation types, and an explanation">
<caption><span>Annotation Types Summary</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Annotation Type</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tbody>
<tr class="altColor">
<td class="colFirst"><a href="../../../../../org/apache/beam/sdk/coders/DefaultCoder.html" title="annotation in org.apache.beam.sdk.coders">DefaultCoder</a></td>
<td class="colLast">
<div class="block">The <a href="../../../../../org/apache/beam/sdk/coders/DefaultCoder.html" title="annotation in org.apache.beam.sdk.coders"><code>DefaultCoder</code></a> annotation specifies a <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coder</code></a> class to handle encoding and
decoding instances of the annotated class.</div>
</td>
</tr>
</tbody>
</table>
</li>
</ul>
<a name="package.description">
<!-- -->
</a>
<h2 title="Package org.apache.beam.sdk.coders Description">Package org.apache.beam.sdk.coders Description</h2>
<div class="block">Defines <a href="../../../../../org/apache/beam/sdk/coders/Coder.html" title="class in org.apache.beam.sdk.coders"><code>Coders</code></a> to specify how data is encoded to and
decoded from byte strings.
<p>During execution of a Pipeline, elements in a <a href="../../../../../org/apache/beam/sdk/values/PCollection.html" title="class in org.apache.beam.sdk.values"><code>PCollection</code></a>
may need to be encoded into byte strings. This happens both at the beginning and end of a
pipeline when data is read from and written to persistent storage and also during execution of a
pipeline when elements are communicated between machines.
<p>Exactly when PCollection elements are encoded during execution depends on which <a href="../../../../../org/apache/beam/sdk/PipelineRunner.html" title="class in org.apache.beam.sdk"><code>PipelineRunner</code></a> is being used and how that runner chooses to execute the
pipeline. As such, Beam requires that all PCollections have an appropriate Coder in case it
becomes necessary. In many cases, the Coder can be inferred from the available Java type
information and the Pipeline's <a href="../../../../../org/apache/beam/sdk/coders/CoderRegistry.html" title="class in org.apache.beam.sdk.coders"><code>CoderRegistry</code></a>. It can be
specified per PCollection via <a href="../../../../../org/apache/beam/sdk/values/PCollection.html#setCoder-org.apache.beam.sdk.coders.Coder-"><code>PCollection.setCoder(Coder)</code></a> or
per type using the <a href="../../../../../org/apache/beam/sdk/coders/DefaultCoder.html" title="annotation in org.apache.beam.sdk.coders"><code>DefaultCoder</code></a> annotation.
<p>This package provides a number of coders for common types like <code>Integer</code>, <code>String</code>, and <code>List</code>, as well as coders like <a href="../../../../../org/apache/beam/sdk/coders/AvroCoder.html" title="class in org.apache.beam.sdk.coders"><code>AvroCoder</code></a>
that can be used to encode many custom types.</div>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../overview-summary.html">Overview</a></li>
<li class="navBarCell1Rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li><a href="../../../../../org/apache/beam/sdk/annotations/package-summary.html">Prev&nbsp;Package</a></li>
<li><a href="../../../../../org/apache/beam/sdk/expansion/package-summary.html">Next&nbsp;Package</a></li>
</ul>
<ul class="navList">
<li><a href="../../../../../index.html?org/apache/beam/sdk/coders/package-summary.html" target="_top">Frames</a></li>
<li><a href="package-summary.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../allclasses-noframe.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>
</div>
<a name="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</body>
</html>