public class BinaryMessageEncoder<D> extends Object implements MessageEncoder<D>
MessageEncoder that adds a header and 8-byte schema fingerprint to
 each datum encoded as binary.
 This class is thread-safe.
| Constructor and Description | 
|---|
| BinaryMessageEncoder(GenericData model,
                    Schema schema)Creates a new  BinaryMessageEncoderthat uses the givendata modelto deconstruct datum instances described by
 theschema. | 
| BinaryMessageEncoder(GenericData model,
                    Schema schema,
                    boolean shouldCopy)Creates a new  BinaryMessageEncoderthat uses the givendata modelto deconstruct datum instances described by
 theschema. | 
| Modifier and Type | Method and Description | 
|---|---|
| ByteBuffer | encode(D datum)Serialize a single datum to a ByteBuffer. | 
| void | encode(D datum,
      OutputStream stream)Serialize a single datum to an OutputStream. | 
public BinaryMessageEncoder(GenericData model, Schema schema)
BinaryMessageEncoder that uses the given
 data model to deconstruct datum instances described by
 the schema.
 
 Buffers returned by encode(D) are copied and will
 not be modified by future calls to encode.
model - the data model for datum instancesschema - the Schema for datum instancespublic BinaryMessageEncoder(GenericData model, Schema schema, boolean shouldCopy)
BinaryMessageEncoder that uses the given
 data model to deconstruct datum instances described by
 the schema.
 
 If shouldCopy is true, then buffers returned by
 encode(D) are copied and will not be modified by
 future calls to encode.
 
 If shouldCopy is false, then buffers returned by encode wrap
 a thread-local buffer that can be reused by future calls to encode,
 but may not be. Callers should only set shouldCopy to false if the
 buffer will be copied before the current thread's next call to
 encode.
model - the data model for datum instancesschema - the Schema for datum instancesshouldCopy - whether to copy buffers before returning encoded resultspublic ByteBuffer encode(D datum) throws IOException
MessageEncoderencode in interface MessageEncoder<D>datum - a datumIOExceptionpublic void encode(D datum, OutputStream stream) throws IOException
MessageEncoderencode in interface MessageEncoder<D>datum - a datumstream - an OutputStream to serialize the datum toIOExceptionCopyright © 2009–2020 The Apache Software Foundation. All rights reserved.