@DefaultAnnotation(value=org.checkerframework.checker.nullness.qual.NonNull.class)
Coders to specify how data is encoded to and
 decoded from byte strings.See: Description
| Interface | Description | 
|---|---|
| CoderProviderRegistrar | |
| DelegateCoder.CodingFunction<InputT,OutputT> | A  CodingFunction<InputT, OutputT>is a serializable
 function fromInputTtoOutputTthat may throw anyException. | 
| Class | Description | 
|---|---|
| AtomicCoder<T> | |
| AvroCoder<T> | A  Coderusing Avro binary format. | 
| AvroCoder.JodaTimestampConversion | Conversion for DateTime. | 
| AvroGenericCoder | AvroCoder specialisation for GenericRecord. | 
| BigDecimalCoder | A  BigDecimalCoderencodes aBigDecimalas an integer scale encoded withVarIntCoderand aBigIntegerencoded usingBigIntegerCoder. | 
| BigEndianIntegerCoder | A  BigEndianIntegerCoderencodesIntegersin 4 bytes, big-endian. | 
| BigEndianLongCoder | A  BigEndianLongCoderencodesLongsin 8 bytes, big-endian. | 
| BigEndianShortCoder | A  BigEndianShortCoderencodesShortsin 2 bytes, big-endian. | 
| BigIntegerCoder | A  BigIntegerCoderencodes aBigIntegeras a byte array containing the big endian
 two's-complement representation, encoded viaByteArrayCoder. | 
| BitSetCoder | Coder for  BitSet. | 
| BooleanCoder | A  CoderforBoolean. | 
| ByteArrayCoder | A  Coderforbyte[]. | 
| ByteCoder | A  ByteCoderencodesBytevalues in 1 byte using Java serialization. | 
| Coder<T> | A  Coder<T>defines how to encode and decode values of typeTinto
 byte streams. | 
| Coder.Context | Deprecated To implement a coder, do not use any  Coder.Context. | 
| CoderProvider | A  CoderProviderprovidesCoders. | 
| CoderProviders | Static utility methods for creating and working with  CoderProviders. | 
| CoderRegistry | |
| CollectionCoder<T> | |
| CustomCoder<T> | An abstract base class that implements all methods of  CoderexceptCoder.encode(T, java.io.OutputStream)andCoder.decode(java.io.InputStream). | 
| DefaultCoder.DefaultCoderProviderRegistrar | A  CoderProviderRegistrarthat registers aCoderProviderwhich can use the@DefaultCoderannotation to providecoder providersthat createsCoders. | 
| DelegateCoder<T,IntermediateT> | A  DelegateCoder<T, IntermediateT>wraps aCoderforIntermediateTand
 encodes/decodes values of typeTby converting to/fromIntermediateTand then
 encoding/decoding using the underlyingCoder<IntermediateT>. | 
| DequeCoder<T> | |
| DoubleCoder | A  DoubleCoderencodesDoublevalues in 8 bytes using Java serialization. | 
| DurationCoder | |
| FloatCoder | A  FloatCoderencodesFloatvalues in 4 bytes using Java serialization. | 
| InstantCoder | |
| IterableCoder<T> | |
| IterableLikeCoder<T,IterableT extends java.lang.Iterable<T>> | An abstract base class with functionality for assembling a  Coderfor a class that
 implementsIterable. | 
| KvCoder<K,V> | A  KvCoderencodesKVs. | 
| LengthPrefixCoder<T> | A  Coderwhich is able to take any existing coder and wrap it such that it is only invoked
 in theouter context. | 
| ListCoder<T> | |
| MapCoder<K,V> | A  CoderforMapsthat encodes them according to provided coders for keys and
 values. | 
| NullableCoder<T> | A  NullableCoderencodes nullable values of typeTusing a nestedCoder<T>that does not toleratenullvalues. | 
| RowCoder | A sub-class of SchemaCoder that can only encode  Rowinstances. | 
| RowCoderGenerator | |
| SerializableCoder<T extends java.io.Serializable> | A  Coderfor Java classes that implementSerializable. | 
| SerializableCoder.SerializableCoderProviderRegistrar | A  CoderProviderRegistrarwhich registers aCoderProviderwhich can handle
 serializable types. | 
| SetCoder<T> | |
| ShardedKeyCoder<KeyT> | |
| SnappyCoder<T> | Wraps an existing coder with Snappy compression. | 
| StringDelegateCoder<T> | A  Coderthat wraps aCoder<String>and encodes/decodes values via string
 representations. | 
| StringUtf8Coder | A  Coderthat encodesStringsin UTF-8 encoding. | 
| StructuralByteArray | A wrapper around a byte[] that uses structural, value-based equality rather than byte[]'s normal
 object identity. | 
| StructuredCoder<T> | An abstract base class to implement a  Coderthat defines equality, hashing, and printing
 via the class name and recursively usingStructuredCoder.getComponents(). | 
| TextualIntegerCoder | A  Coderthat encodesInteger Integersas the ASCII bytes of their textual,
 decimal, representation. | 
| TimestampPrefixingWindowCoder<T extends BoundedWindow> | A  TimestampPrefixingWindowCoderwraps arbitrary user custom window coder. | 
| VarIntCoder | A  Coderthat encodesIntegersusing between 1 and 5 bytes. | 
| VarLongCoder | A  Coderthat encodesLongsusing between 1 and 10 bytes. | 
| VoidCoder | A  CoderforVoid. | 
| Enum | Description | 
|---|---|
| CannotProvideCoderException.ReasonCode | Indicates the reason that  Coderinference failed. | 
| Exception | Description | 
|---|---|
| CannotProvideCoderException | The exception thrown when a  CoderRegistryorCoderProvidercannot provide aCoderthat has been requested. | 
| Coder.NonDeterministicException | Exception thrown by  Coder.verifyDeterministic()if the encoding is not deterministic,
 including details of why the encoding is not deterministic. | 
| CoderException | An  Exceptionthrown if there is a problem encoding or decoding a value. | 
| Annotation Type | Description | 
|---|---|
| DefaultCoder | The  DefaultCoderannotation specifies aCoderclass to handle encoding and
 decoding instances of the annotated class. | 
Coders to specify how data is encoded to and
 decoded from byte strings.
 During execution of a Pipeline, elements in a PCollection
 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.
 
Exactly when PCollection elements are encoded during execution depends on which PipelineRunner 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 CoderRegistry. It can be
 specified per PCollection via PCollection.setCoder(Coder) or
 per type using the DefaultCoder annotation.
 
This package provides a number of coders for common types like Integer, String, and List, as well as coders like AvroCoder
 that can be used to encode many custom types.