public static class ValueWithRecordId.ValueWithRecordIdCoder<ValueT> extends StructuredCoder<ValueWithRecordId<ValueT>>
Coder.Context, Coder.NonDeterministicException
Modifier | Constructor and Description |
---|---|
protected |
ValueWithRecordIdCoder(Coder<ValueT> valueCoder) |
Modifier and Type | Method and Description |
---|---|
ValueWithRecordId<ValueT> |
decode(java.io.InputStream inStream)
Decodes a value of type
T from the given input stream in the given context. |
ValueWithRecordId<ValueT> |
decode(java.io.InputStream inStream,
Coder.Context context)
Decodes a value of type
T from the given input stream in the given context. |
void |
encode(ValueWithRecordId<ValueT> value,
java.io.OutputStream outStream)
Encodes the given value of type
T onto the given output stream. |
void |
encode(ValueWithRecordId<ValueT> value,
java.io.OutputStream outStream,
Coder.Context context)
Encodes the given value of type
T onto the given output stream in the given context. |
java.util.List<? extends Coder<?>> |
getCoderArguments()
|
Coder<ValueT> |
getValueCoder() |
static <ValueT> ValueWithRecordId.ValueWithRecordIdCoder<ValueT> |
of(Coder<ValueT> valueCoder) |
void |
verifyDeterministic()
Throw
Coder.NonDeterministicException if the coding is not deterministic. |
equals, getComponents, hashCode, toString
consistentWithEquals, getEncodedElementByteSize, getEncodedTypeDescriptor, isRegisterByteSizeObserverCheap, registerByteSizeObserver, structuralValue, verifyDeterministic, verifyDeterministic
public static <ValueT> ValueWithRecordId.ValueWithRecordIdCoder<ValueT> of(Coder<ValueT> valueCoder)
public java.util.List<? extends Coder<?>> getCoderArguments()
Coder
Coder
for a parameterized type, returns the list of Coder
s being
used for each of the parameters in the same order they appear within the parameterized type's
type signature. If this cannot be done, or this Coder
does not encode/decode a
parameterized type, returns the empty list.getCoderArguments
in class Coder<ValueWithRecordId<ValueT>>
public void encode(ValueWithRecordId<ValueT> value, java.io.OutputStream outStream) throws java.io.IOException
Coder
T
onto the given output stream.encode
in class Coder<ValueWithRecordId<ValueT>>
java.io.IOException
- if writing to the OutputStream
fails for some reasonCoderException
- if the value could not be encoded for some reasonpublic void encode(ValueWithRecordId<ValueT> value, java.io.OutputStream outStream, Coder.Context context) throws java.io.IOException
Coder
T
onto the given output stream in the given context.encode
in class Coder<ValueWithRecordId<ValueT>>
java.io.IOException
- if writing to the OutputStream
fails for some reasonCoderException
- if the value could not be encoded for some reasonpublic ValueWithRecordId<ValueT> decode(java.io.InputStream inStream) throws java.io.IOException
Coder
T
from the given input stream in the given context. Returns the
decoded value.decode
in class Coder<ValueWithRecordId<ValueT>>
java.io.IOException
- if reading from the InputStream
fails for some reasonCoderException
- if the value could not be decoded for some reasonpublic ValueWithRecordId<ValueT> decode(java.io.InputStream inStream, Coder.Context context) throws java.io.IOException
Coder
T
from the given input stream in the given context. Returns the
decoded value.decode
in class Coder<ValueWithRecordId<ValueT>>
java.io.IOException
- if reading from the InputStream
fails for some reasonCoderException
- if the value could not be decoded for some reasonpublic void verifyDeterministic() throws Coder.NonDeterministicException
Coder
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 class Coder<ValueWithRecordId<ValueT>>
Coder.NonDeterministicException
- if this coder is not deterministic.