All Implemented Interfaces:
MapTypeDecoder, PrimitiveTypeDecoder<Map>, StreamTypeDecoder<Map>, TypeDecoder<Map>

public final class Map8TypeDecoder extends AbstractMapTypeDecoder
Decoder of AMQP small Map types from a byte stream
  • Constructor Details

    • Map8TypeDecoder

      public Map8TypeDecoder()
  • 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: MapTypeDecoder
      Reads the count of entries in the encoded Map.

      This value is the total count of all key values pairs, and should always be an even number as Map types cannot be unbalanced.

      Parameters:
      buffer - The buffer containing the encoded Map type.
      state - The DecoderState used during this decode.
      Returns:
      the number of elements that we encoded from the original Map.
      Throws:
      DecodeException - if an error occurs reading the value
    • 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: MapTypeDecoder
      Reads the count of entries in the encoded Map.

      This value is the total count of all key values pairs, and should always be an even number as Map types cannot be unbalanced.

      Parameters:
      stream - The InputStream containing the encoded Map type.
      state - The StreamDecoderState used during this decode.
      Returns:
      the number of elements that we encoded from the original Map.
      Throws:
      DecodeException - if an error occurs reading the value