Class List8TypeDecoder

All Implemented Interfaces:
ListTypeDecoder, PrimitiveTypeDecoder<List>, StreamTypeDecoder<List>, TypeDecoder<List>

public final class List8TypeDecoder extends AbstractListTypeDecoder
Decoder of AMQP small List values from a byte stream.
  • Constructor Details

    • List8TypeDecoder

      public List8TypeDecoder()
  • Method Details

    • getTypeCode

      public int getTypeCode()
      Returns:
      the AMQP Encoding Code that this primitive type decoder can read.
    • readSize

      public int readSize(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Description copied from interface: TypeDecoder
      Reads the size in bytes of the encoded AMQP type from the given buffer and returns it. Since this methods advances the read position of the provided buffer the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.
      Parameters:
      buffer - the source of encoded data.
      state - the current state of the decoder.
      Returns:
      the size in bytes of the encoded primitive value.
      Throws:
      DecodeException - if an error is encountered while reading the encoded size.
    • readCount

      public int readCount(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Description copied from interface: ListTypeDecoder
      Reads the number of elements contained in the encoded list from the provided ProtonBuffer. The implementation must read the correct size encoding based on the type of List that this TypeDecoder handles.
      Parameters:
      buffer - The buffer where the size value should be read from.
      state - The decoder state that is in used during this decode operation.
      Returns:
      an integer containing the number of elements in the encoded List.
      Throws:
      DecodeException - if an error occurs while reading the encoded element count.
    • readSize

      public int readSize(InputStream stream, StreamDecoderState state) throws DecodeException
      Description copied from interface: StreamTypeDecoder
      Reads the size in bytes of the encoded primitive from the given InputStream and returns it. Since this methods advances the read position of the provided stream the caller must either reset that based on a previous mark or they must read the primitive payload manually as the decoder would not be able to read the value as it has no retained state.
      Parameters:
      stream - the source of encoded data.
      state - the current state of the decoder.
      Returns:
      the size in bytes of the encoded primitive value.
      Throws:
      DecodeException - if an error is encountered while reading the encoded size.
    • readCount

      public int readCount(InputStream stream, StreamDecoderState state) throws DecodeException
      Description copied from interface: ListTypeDecoder
      Reads the number of elements contained in the encoded list from the provided InputStream. The implementation must read the correct size encoding based on the type of List that this TypeDecoder handles.
      Parameters:
      stream - The stream where the size value should be read from.
      state - The decoder state that is in used during this decode operation.
      Returns:
      an integer containing the number of elements in the encoded List.
      Throws:
      DecodeException - if an error occurs while reading the encoded element count.