Class AbstractStringTypeDecoder

java.lang.Object
org.apache.qpid.protonj2.codec.decoders.AbstractPrimitiveTypeDecoder<String>
org.apache.qpid.protonj2.codec.decoders.primitives.AbstractStringTypeDecoder
All Implemented Interfaces:
StringTypeDecoder, PrimitiveTypeDecoder<String>, StreamTypeDecoder<String>, TypeDecoder<String>
Direct Known Subclasses:
String32TypeDecoder, String8TypeDecoder

public abstract class AbstractStringTypeDecoder extends AbstractPrimitiveTypeDecoder<String> implements StringTypeDecoder
Base for the various String type Decoders used to read AMQP String values.
  • Constructor Details

    • AbstractStringTypeDecoder

      public AbstractStringTypeDecoder()
  • Method Details

    • readValue

      public String 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<String>
      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 String 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<String>
      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.
    • 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<String>
      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<String>
      Parameters:
      stream - The stream that contains the encoded type.
      state - The decoder state.
      Throws:
      DecodeException - if an error occurs while skipping the value.
    • readSize

      protected abstract int readSize(ProtonBuffer buffer)
    • readSize

      protected abstract int readSize(InputStream stream)