java.lang.Object
org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<Long>
org.apache.qpid.protonj2.codec.decoders.primitives.LongTypeDecoder
All Implemented Interfaces:
PrimitiveTypeDecoder<Long>, StreamTypeDecoder<Long>, TypeDecoder<Long>
Direct Known Subclasses:
Long8TypeDecoder

public class LongTypeDecoder extends AbstractPrimitiveTypeDecoder<Long>
Decode AMQP Long values from a byte stream
  • Constructor Details

    • LongTypeDecoder

      public LongTypeDecoder()
  • Method Details

    • isJavaPrimitive

      public boolean isJavaPrimitive()
      Specified by:
      isJavaPrimitive in interface PrimitiveTypeDecoder<Long>
      Overrides:
      isJavaPrimitive in class AbstractPrimitiveTypeDecoder<Long>
      Returns:
      true if the type managed by this decoder is assignable to a Java primitive type.
    • getTypeClass

      public Class<Long> getTypeClass()
      Returns:
      the Class that this decoder handles.
    • getTypeCode

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

      public Long readValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Description copied from interface: TypeDecoder
      Reads the next type from the given buffer and returns it.
      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.
    • readValue

      public Long readValue(InputStream stream, StreamDecoderState state) throws DecodeException
      Description copied from interface: StreamTypeDecoder
      Reads the next type from the given buffer and returns it.
      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.
    • readPrimitiveValue

      public long readPrimitiveValue(ProtonBuffer buffer, DecoderState state) throws DecodeException
      Reads the primitive value from the given ProtonBuffer and returns it.
      Parameters:
      buffer - The ProtonBuffer where the primitive value should be read from.
      state - The DecoderState that can be used during decode of the value.
      Returns:
      the decoded primitive value.
      Throws:
      DecodeException - if an error occurs while reading the encoded value.
    • readPrimitiveValue

      public long readPrimitiveValue(InputStream stream, StreamDecoderState state) throws DecodeException
      Reads the primitive value from the given InputStream and returns it.
      Parameters:
      stream - The InputStream where the primitive value should be read from.
      state - The DecoderState that can be used during decode of the value.
      Returns:
      the decoded primitive value.
      Throws:
      DecodeException - if an error occurs while reading the encoded 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.

      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.

      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 int readSize(ProtonBuffer buffer, DecoderState state)
      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.
    • readSize

      public int readSize(InputStream stream, StreamDecoderState state)
      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.