# Package org.apache.avro.message

Interface Summary
MessageDecoder<D>: Deserializes a single datum from a ByteBuffer, byte array, or InputStream.
MessageEncoder<D>: Serializes an individual datum as a ByteBuffer or to an OutputStream.
SchemaStore: Interface for classes that can provide avro schemas by fingerprint.

Class Summary
BinaryMessageDecoder<D>: A `MessageDecoder` that reads a binary-encoded datum.
BinaryMessageEncoder<D>: A `MessageEncoder` that adds a header and 8-byte schema fingerprint to each datum encoded as binary.
MessageDecoder.BaseDecoder<D>: Base class for `MessageEncoder` implementations that provides default implementations for most of the `DatumEncoder` API.
RawMessageDecoder<D>: A `MessageDecoder` that deserializes from raw datum bytes.
RawMessageEncoder<D>: A `MessageEncoder` that encodes only a datum's bytes, without additional information (such as a schema fingerprint).
SchemaStore.Cache: A map-based cache of schemas by AVRO-CRC-64 fingerprint.

Exception Summary
BadHeaderException: Exception thrown by a `MessageDecoder` when a message header is not recognized.
MissingSchemaException: Exception thrown by a `MessageDecoder` when the message is encoded using an unknown `Schema`.