Class AbstractBinaryTypeDecoder

    • Constructor Detail

      • AbstractBinaryTypeDecoder

        public AbstractBinaryTypeDecoder()
    • Method Detail

      • 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.
      • 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​(java.io.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.
      • readValueAsArray

        public byte[] readValueAsArray​(java.io.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​(java.io.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​(java.io.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.