public class TableRowJsonCoder extends AtomicCoder<TableRow>
Coder.Context, Coder.NonDeterministicException| Modifier and Type | Method and Description |
|---|---|
TableRow |
decode(InputStream inStream,
Coder.Context context)
Decodes a value of type
T from the given input stream in
the given context. |
void |
encode(TableRow value,
OutputStream outStream,
Coder.Context context)
Encodes the given value of type
T onto the given output stream
in the given context. |
protected long |
getEncodedElementByteSize(TableRow value,
Coder.Context context)
Returns the size in bytes of the encoded value using this coder.
|
static TableRowJsonCoder |
of() |
void |
verifyDeterministic()
Throw
Coder.NonDeterministicException if the coding is not deterministic. |
getCoderArguments, getInstanceComponentsasCloudObject, consistentWithEquals, equals, getAllowedEncodings, getComponents, getEncodingId, hashCode, isRegisterByteSizeObserverCheap, registerByteSizeObserver, structuralValue, toString, verifyDeterministic, verifyDeterministicpublic static TableRowJsonCoder of()
public void encode(TableRow value, OutputStream outStream, Coder.Context context) throws IOException
CoderT onto the given output stream
in the given context.IOException - if writing to the OutputStream fails
for some reasonCoderException - if the value could not be encoded for some reasonpublic TableRow decode(InputStream inStream, Coder.Context context) throws IOException
CoderT from the given input stream in
the given context. Returns the decoded value.IOException - if reading from the InputStream fails
for some reasonCoderException - if the value could not be decoded for some reasonprotected long getEncodedElementByteSize(TableRow value, Coder.Context context) throws Exception
StandardCodergetEncodedElementByteSize in class StandardCoder<TableRow>Exceptionpublic void verifyDeterministic()
throws Coder.NonDeterministicException
Coder.NonDeterministicException if the coding is not deterministic.
In order for a Coder to be considered deterministic,
the following must be true:
Object.equals()
or Comparable.compareTo(), if supported) have the same
encoding.
Coder always produces a canonical encoding, which is the
same for an instance of an object even if produced on different
computers at different times.
verifyDeterministic in interface Coder<TableRow>verifyDeterministic in class DeterministicStandardCoder<TableRow>NonDeterministicException - always. A TableRow can hold arbitrary
Object instances, which makes the encoding non-deterministic.Coder.NonDeterministicException - if this coder is not deterministic.