Class AbstractBinaryTypeDecoder
- java.lang.Object
-
- org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<Binary>
-
- org.apache.qpid.protonj2.codec.decoders.primitives.AbstractBinaryTypeDecoder
-
- All Implemented Interfaces:
BinaryTypeDecoder,PrimitiveTypeDecoder<Binary>,StreamTypeDecoder<Binary>,TypeDecoder<Binary>
- Direct Known Subclasses:
Binary32TypeDecoder,Binary8TypeDecoder
public abstract class AbstractBinaryTypeDecoder extends AbstractPrimitiveTypeDecoder<Binary> implements BinaryTypeDecoder
Base class for the various Binary type decoders used to read AMQP Binary values.
-
-
Constructor Summary
Constructors Constructor Description AbstractBinaryTypeDecoder()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract intreadSize(InputStream stream)Reads the encoded size value for the encoded binary payload and returns it.abstract intreadSize(ProtonBuffer buffer)Reads the encoded size value for the encoded binary payload and returns it.BinaryreadValue(InputStream stream, StreamDecoderState state)Reads the next type from the given buffer and returns it.BinaryreadValue(ProtonBuffer buffer, DecoderState state)Reads the next type from the given buffer and returns it.byte[]readValueAsArray(InputStream stream, StreamDecoderState state)Read and decode an AMQPBinaryinto a byte array instance and return it.byte[]readValueAsArray(ProtonBuffer buffer, DecoderState state)Read and decode an AMQPBinaryinto a byte array instance and return it.ProtonBufferreadValueAsBuffer(InputStream stream, StreamDecoderState state)Read and decode an AMQPBinaryinto aProtonBufferinstance and return it.ProtonBufferreadValueAsBuffer(ProtonBuffer buffer, DecoderState state)Read and decode an AMQPBinaryinto aProtonBufferinstance and return it.voidskipValue(InputStream stream, StreamDecoderState state)Skips over the bytes that compose the type this descriptor decodes.voidskipValue(ProtonBuffer buffer, DecoderState state)Skips over the bytes that compose the type this descriptor decodes.-
Methods inherited from class org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder
isArrayType, isJavaPrimitive, readArrayElements, readArrayElements
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.qpid.protonj2.codec.decoders.primitives.BinaryTypeDecoder
getTypeClass
-
Methods inherited from interface org.apache.qpid.protonj2.codec.decoders.PrimitiveTypeDecoder
getTypeCode, isJavaPrimitive
-
Methods inherited from interface org.apache.qpid.protonj2.codec.StreamTypeDecoder
getTypeClass, isArrayType, readArrayElements
-
Methods inherited from interface org.apache.qpid.protonj2.codec.TypeDecoder
isArrayType, readArrayElements
-
-
-
-
Method Detail
-
readValue
public Binary readValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
Description copied from interface:TypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceTypeDecoder<Binary>- Parameters:
buffer- the source of encoded data.state- the current state of the decoder.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException- if an error is encountered while reading the next value.
-
readValueAsBuffer
public ProtonBuffer readValueAsBuffer(ProtonBuffer buffer, DecoderState state) throws DecodeException
Read and decode an AMQPBinaryinto aProtonBufferinstance and return it.- Parameters:
buffer- TheProtonBufferwhere theBinaryencoding should be read from.state- TheEncoderStatethat can be used when reading the encoded value.- Returns:
- the bytes that comprise the encoded Binary wrapped in a
ProtonBufferinstance. - Throws:
DecodeException- if an error occurs while reading the Binary value.
-
readValueAsArray
public byte[] readValueAsArray(ProtonBuffer buffer, DecoderState state) throws DecodeException
Read and decode an AMQPBinaryinto a byte array instance and return it.- Parameters:
buffer- TheProtonBufferwhere theBinaryencoding should be read from.state- TheEncoderStatethat can be used when reading the encoded value.- Returns:
- the bytes that comprise the encoded Binary copied into a byte array instance.
- Throws:
DecodeException- if an error occurs while reading the Binary value.
-
readValue
public Binary readValue(InputStream stream, StreamDecoderState state) throws DecodeException
Description copied from interface:StreamTypeDecoderReads the next type from the given buffer and returns it.- Specified by:
readValuein interfaceStreamTypeDecoder<Binary>- Parameters:
stream- the source of encoded data.state- the current state of the decoder.- Returns:
- the next instance in the stream that this decoder handles.
- Throws:
DecodeException- if an error is encountered while reading the next value.
-
readValueAsBuffer
public ProtonBuffer readValueAsBuffer(InputStream stream, StreamDecoderState state) throws DecodeException
Read and decode an AMQPBinaryinto aProtonBufferinstance and return it.- Parameters:
stream- TheInputStreamwhere theBinaryencoding should be read from.state- TheEncoderStatethat can be used when reading the encoded value.- Returns:
- the bytes that comprise the encoded Binary wrapped in a
ProtonBufferinstance. - Throws:
DecodeException- if an error occurs while reading the Binary value.
-
readValueAsArray
public byte[] readValueAsArray(InputStream stream, StreamDecoderState state) throws DecodeException
Read and decode an AMQPBinaryinto a byte array instance and return it.- Parameters:
stream- TheInputStreamwhere theBinaryencoding should be read from.state- TheEncoderStatethat can be used when reading the encoded value.- Returns:
- the bytes that comprise the encoded Binary copied into a byte array instance.
- Throws:
DecodeException- if an error occurs while reading the Binary value.
-
skipValue
public void skipValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
Description copied from interface:TypeDecoderSkips over the bytes that compose the type this descriptor decodes.Skipping values can be used when the type is not used or processed by the application doing the decoding. An example might be an AMQP message decoder that only needs to decode certain parts of the message and not others.
- Specified by:
skipValuein interfaceTypeDecoder<Binary>- Parameters:
buffer- The buffer that contains the encoded type.state- The decoder state.- Throws:
DecodeException- if an error occurs while skipping the value.
-
skipValue
public void skipValue(InputStream stream, StreamDecoderState state) throws DecodeException
Description copied from interface:StreamTypeDecoderSkips over the bytes that compose the type this descriptor decodes.Skipping values can be used when the type is not used or processed by the application doing the decoding. An example might be an AMQP message decoder that only needs to decode certain parts of the message and not others.
- Specified by:
skipValuein interfaceStreamTypeDecoder<Binary>- Parameters:
stream- The stream that contains the encoded type.state- The decoder state.- Throws:
DecodeException- if an error occurs while skipping the value.
-
readSize
public abstract int readSize(ProtonBuffer buffer)
Description copied from interface:BinaryTypeDecoderReads the encoded size value for the encoded binary payload and returns it. The read is destructive and theTypeDecoderread methods cannot be called after this unless theProtonBufferis reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the givenProtonBuffer.- Specified by:
readSizein interfaceBinaryTypeDecoder- Parameters:
buffer- the buffer from which the binary encoded size should be read.- Returns:
- the size of the binary payload that is encoded in the given
ProtonBuffer.
-
readSize
public abstract int readSize(InputStream stream)
Description copied from interface:BinaryTypeDecoderReads the encoded size value for the encoded binary payload and returns it. The read is destructive and theTypeDecoderread methods cannot be called after this unless theInputStreamis reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the givenInputStream.- Specified by:
readSizein interfaceBinaryTypeDecoder- Parameters:
stream- the stream from which the binary encoded size should be read.- Returns:
- the size of the binary payload that is encoded in the given
InputStream.
-
-