public class StringUtf8Coder extends AtomicCoder<String>
StringUtf8Coder encodes Java Strings in UTF-8 encoding.
If in a nested context, prefixes the string with an integer length field,
encoded via the VarIntCoder.Coder.Context, Coder.NonDeterministicException| Modifier and Type | Method and Description |
|---|---|
boolean |
consistentWithEquals()
Returns true if the encoded bytes of two objects are
equal only when they are also equal according to
Object.equals(). |
String |
decode(InputStream inStream,
Coder.Context context)
Decodes a value of type
T from the given input stream in
the given context. |
void |
encode(String 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(String value,
Coder.Context context)
Returns the size in bytes of the encoded value using this
coder.
|
static StringUtf8Coder |
of() |
void |
verifyDeterministic()
As a
DeterministicStandardCoder is presumed deterministic, this
method does nothing. |
getCoderArguments, getInstanceComponentsasCloudObject, equals, getComponents, hashCode, isRegisterByteSizeObserverCheap, registerByteSizeObserver, structuralValue, toString, verifyDeterministic, verifyDeterministicpublic static StringUtf8Coder of()
public void encode(String 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 String 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 reasonpublic void verifyDeterministic()
DeterministicStandardCoderDeterministicStandardCoder is presumed deterministic, this
method does nothing.verifyDeterministic in interface Coder<String>verifyDeterministic in class DeterministicStandardCoder<String>public boolean consistentWithEquals()
CoderObject.equals().
(and also implements a compatible Object.hasCode())
This most notably false for arrays. It will generally
be false when Object.equals() compares object identity,
rather than performing a semantic/structural comparison.
consistentWithEquals in interface Coder<String>consistentWithEquals in class StandardCoder<String>protected long getEncodedElementByteSize(String value, Coder.Context context) throws Exception
StandardCodergetEncodedElementByteSize in class StandardCoder<String>Exception