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 Details

    • AbstractBinaryTypeDecoder

      public AbstractBinaryTypeDecoder()
  • Method Details

    • readValue

      public Binary readValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Description copied from interface: TypeDecoder
      Reads the next type from the given buffer and returns it.
      Specified by:
      readValue in interface TypeDecoder<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 AMQP Binary into a ProtonBuffer instance and return it.
      Parameters:
      buffer - The ProtonBuffer where the Binary encoding should be read from.
      state - The EncoderState that can be used when reading the encoded value.
      Returns:
      the bytes that comprise the encoded Binary wrapped in a ProtonBuffer instance.
      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 AMQP Binary into a byte array instance and return it.
      Parameters:
      buffer - The ProtonBuffer where the Binary encoding should be read from.
      state - The EncoderState that 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: StreamTypeDecoder
      Reads the next type from the given buffer and returns it.
      Specified by:
      readValue in interface StreamTypeDecoder<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 AMQP Binary into a ProtonBuffer instance and return it.
      Parameters:
      stream - The InputStream where the Binary encoding should be read from.
      state - The EncoderState that can be used when reading the encoded value.
      Returns:
      the bytes that comprise the encoded Binary wrapped in a ProtonBuffer instance.
      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 AMQP Binary into a byte array instance and return it.
      Parameters:
      stream - The InputStream where the Binary encoding should be read from.
      state - The EncoderState that 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: TypeDecoder
      Skips 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:
      skipValue in interface TypeDecoder<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: StreamTypeDecoder
      Skips 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:
      skipValue in interface StreamTypeDecoder<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: BinaryTypeDecoder
      Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the TypeDecoder read methods cannot be called after this unless the ProtonBuffer is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given ProtonBuffer.
      Specified by:
      readSize in interface BinaryTypeDecoder
      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: BinaryTypeDecoder
      Reads the encoded size value for the encoded binary payload and returns it. The read is destructive and the TypeDecoder read methods cannot be called after this unless the InputStream is reset via a position marker. This method can be useful when the caller intends to manually read the binary payload from the given InputStream.
      Specified by:
      readSize in interface BinaryTypeDecoder
      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.