Class ChannelBufferWrapper

  • All Implemented Interfaces:
    java.io.DataInput, ActiveMQBuffer

    public class ChannelBufferWrapper
    extends java.lang.Object
    implements ActiveMQBuffer
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected io.netty.buffer.ByteBuf buffer  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      io.netty.buffer.ByteBuf byteBuf()
      Returns the underlying Netty's ByteBuf
      int capacity()
      Returns the number of bytes this buffer can contain.
      void clear()
      Sets the readerIndex and writerIndex of this buffer to 0.
      ActiveMQBuffer copy()
      Returns a copy of this buffer's readable bytes.
      ActiveMQBuffer copy​(int index, int length)
      Returns a copy of this buffer's sub-region.
      void discardReadBytes()
      Discards the bytes between the 0th index and readerIndex.
      ActiveMQBuffer duplicate()
      Returns a buffer which shares the whole region of this buffer.
      byte getByte​(int index)
      Gets a byte at the specified absolute index in this buffer.
      void getBytes​(int index, byte[] dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      void getBytes​(int index, byte[] dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      void getBytes​(int index, java.nio.ByteBuffer dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit.
      void getBytes​(int index, ActiveMQBuffer dst)
      Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination becomes non-writable.
      void getBytes​(int index, ActiveMQBuffer dst, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      void getBytes​(int index, ActiveMQBuffer dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the specified absolute index.
      char getChar​(int index)
      Gets a char at the specified absolute index in this buffer.
      double getDouble​(int index)
      Gets a double at the specified absolute index in this buffer.
      float getFloat​(int index)
      Gets a float at the specified absolute index in this buffer.
      int getInt​(int index)
      Gets a 32-bit integer at the specified absolute index in this buffer.
      long getLong​(int index)
      Gets a 64-bit long integer at the specified absolute index in this buffer.
      short getShort​(int index)
      Gets a 16-bit short integer at the specified absolute index in this buffer.
      short getUnsignedByte​(int index)
      Gets an unsigned byte at the specified absolute index in this buffer.
      long getUnsignedInt​(int index)
      Gets an unsigned 32-bit integer at the specified absolute index in this buffer.
      int getUnsignedShort​(int index)
      Gets an unsigned 16-bit short integer at the specified absolute index in this buffer.
      void markReaderIndex()
      Marks the current readerIndex in this buffer.
      void markWriterIndex()
      Marks the current writerIndex in this buffer.
      boolean readable()  
      int readableBytes()  
      boolean readBoolean()
      Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
      byte readByte()
      Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      void readBytes​(byte[] dst)
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
      void readBytes​(byte[] dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
      void readBytes​(java.nio.ByteBuffer dst)
      Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.
      void readBytes​(ActiveMQBuffer dst)
      Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination becomes non-writable, and increases the readerIndex by the number of the transferred bytes.
      void readBytes​(ActiveMQBuffer dst, int length)
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
      void readBytes​(ActiveMQBuffer dst, int dstIndex, int length)
      Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
      char readChar()
      Gets a char at the current readerIndex and increases the readerIndex by 2 in this buffer.
      double readDouble()
      Gets a double at the current readerIndex and increases the readerIndex by 8 in this buffer.
      int readerIndex()  
      void readerIndex​(int readerIndex)
      Sets the readerIndex of this buffer.
      float readFloat()
      Gets a float at the current readerIndex and increases the readerIndex by 4 in this buffer.
      void readFully​(byte[] b)
      from DataInput interface
      void readFully​(byte[] b, int off, int len)
      from DataInput interface
      int readInt()
      Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      java.lang.String readLine()
      from DataInput interface
      long readLong()
      Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
      java.lang.Boolean readNullableBoolean()
      Gets a (potentially null) boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
      java.lang.Integer readNullableInt()
      Gets a (potentially null) 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      java.lang.Long readNullableLong()
      Gets a (potentially null) 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
      SimpleString readNullableSimpleString()
      Gets a SimpleString (potentially null) at the current readerIndex
      java.lang.String readNullableString()
      Gets a String (potentially null) at the current readerIndex
      short readShort()
      Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      SimpleString readSimpleString()
      Gets a non-null SimpleString at the current readerIndex
      ActiveMQBuffer readSlice​(int length)
      Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
      java.lang.String readString()
      Gets a non-null String at the current readerIndex
      int readUnsignedByte()
      Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
      long readUnsignedInt()
      Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
      int readUnsignedShort()
      Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
      java.lang.String readUTF()
      Gets a UTF-8 String at the current readerIndex
      void release()
      Release any underlying resources held by this buffer
      void resetReaderIndex()
      Repositions the current readerIndex to the marked readerIndex in this buffer.
      void resetWriterIndex()
      Repositions the current writerIndex to the marked writerIndex in this buffer.
      void setByte​(int index, byte value)
      Sets the specified byte at the specified absolute index in this buffer.
      void setBytes​(int index, byte[] src)
      Transfers the specified source array's data to this buffer starting at the specified absolute index.
      void setBytes​(int index, byte[] src, int srcIndex, int length)
      Transfers the specified source array's data to this buffer starting at the specified absolute index.
      void setBytes​(int index, java.nio.ByteBuffer src)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit.
      void setBytes​(int index, ActiveMQBuffer src)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the destination becomes unreadable.
      void setBytes​(int index, ActiveMQBuffer src, int length)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
      void setBytes​(int index, ActiveMQBuffer src, int srcIndex, int length)
      Transfers the specified source buffer's data to this buffer starting at the specified absolute index.
      void setChar​(int index, char value)
      Sets the specified char at the specified absolute index in this buffer.
      void setDouble​(int index, double value)
      Sets the specified double at the specified absolute index in this buffer.
      void setFloat​(int index, float value)
      Sets the specified float at the specified absolute index in this buffer.
      void setIndex​(int readerIndex, int writerIndex)
      Sets the readerIndex and writerIndex of this buffer in one shot.
      void setInt​(int index, int value)
      Sets the specified 32-bit integer at the specified absolute index in this buffer.
      void setLong​(int index, long value)
      Sets the specified 64-bit long integer at the specified absolute index in this buffer.
      void setShort​(int index, short value)
      Sets the specified 16-bit short integer at the specified absolute index in this buffer.
      int skipBytes​(int length)
      Increases the current readerIndex by the specified length in this buffer.
      ActiveMQBuffer slice()
      Returns a slice of this buffer's readable bytes.
      ActiveMQBuffer slice​(int index, int length)
      Returns a slice of this buffer's sub-region.
      java.nio.ByteBuffer toByteBuffer()
      Converts this buffer's readable bytes into a NIO buffer.
      java.nio.ByteBuffer toByteBuffer​(int index, int length)
      Converts this buffer's sub-region into a NIO buffer.
      static io.netty.buffer.ByteBuf unwrap​(io.netty.buffer.ByteBuf buffer)  
      boolean writable()  
      int writableBytes()  
      void writeBoolean​(boolean val)
      Sets the specified boolean at the current writerIndex
      void writeByte​(byte value)
      Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
      void writeBytes​(byte[] src)
      Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= src.length).
      void writeBytes​(byte[] src, int srcIndex, int length)
      Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
      void writeBytes​(io.netty.buffer.ByteBuf src, int srcIndex, int length)
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
      void writeBytes​(java.nio.ByteBuffer src)
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
      void writeBytes​(ActiveMQBuffer src, int length)
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
      void writeBytes​(ActiveMQBuffer src, int srcIndex, int length)
      Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
      void writeChar​(char chr)
      Sets the specified char at the current writerIndex and increases the writerIndex by 2 in this buffer.
      void writeDouble​(double value)
      Sets the specified double at the current writerIndex and increases the writerIndex by 8 in this buffer.
      void writeFloat​(float value)
      Sets the specified float at the current writerIndex and increases the writerIndex by 4 in this buffer.
      void writeInt​(int value)
      Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
      void writeLong​(long value)
      Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
      void writeNullableBoolean​(java.lang.Boolean val)
      Sets the specified (potentially null) Boolean at the current writerIndex
      void writeNullableInt​(java.lang.Integer value)
      Sets the specified (potentially null) 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
      void writeNullableLong​(java.lang.Long value)
      Sets the specified (potentially null) 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
      void writeNullableSimpleString​(SimpleString val)
      Sets the specified SimpleString (potentially null) at the current writerIndex
      void writeNullableString​(java.lang.String val)
      Sets the specified String (potentially null) at the current writerIndex
      int writerIndex()  
      void writerIndex​(int writerIndex)
      Sets the writerIndex of this buffer.
      void writeShort​(short value)
      Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
      void writeSimpleString​(SimpleString val)
      Sets the specified non-null SimpleString at the current writerIndex
      void writeString​(java.lang.String val)
      Sets the specified non-null String at the current writerIndex
      void writeUTF​(java.lang.String utf)
      Sets the specified UTF-8 String at the current writerIndex
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • buffer

        protected final io.netty.buffer.ByteBuf buffer
    • Constructor Detail

      • ChannelBufferWrapper

        public ChannelBufferWrapper​(io.netty.buffer.ByteBuf buffer)
      • ChannelBufferWrapper

        public ChannelBufferWrapper​(io.netty.buffer.ByteBuf buffer,
                                    boolean releasable)
      • ChannelBufferWrapper

        public ChannelBufferWrapper​(io.netty.buffer.ByteBuf buffer,
                                    boolean releasable,
                                    boolean pooled)
    • Method Detail

      • unwrap

        public static io.netty.buffer.ByteBuf unwrap​(io.netty.buffer.ByteBuf buffer)
      • readBoolean

        public boolean readBoolean()
        Description copied from interface: ActiveMQBuffer
        Gets a boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Specified by:
        readBoolean in interface ActiveMQBuffer
        Specified by:
        readBoolean in interface java.io.DataInput
        Returns:
        a boolean at the current readerIndex
      • readNullableBoolean

        public java.lang.Boolean readNullableBoolean()
        Description copied from interface: ActiveMQBuffer
        Gets a (potentially null) boolean at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Specified by:
        readNullableBoolean in interface ActiveMQBuffer
        Returns:
        a (potentially null) boolean at the current readerIndex
      • readNullableSimpleString

        public SimpleString readNullableSimpleString()
        Description copied from interface: ActiveMQBuffer
        Gets a SimpleString (potentially null) at the current readerIndex
        Specified by:
        readNullableSimpleString in interface ActiveMQBuffer
        Returns:
        a SimpleString (potentially null) at the current readerIndex
      • readNullableString

        public java.lang.String readNullableString()
        Description copied from interface: ActiveMQBuffer
        Gets a String (potentially null) at the current readerIndex
        Specified by:
        readNullableString in interface ActiveMQBuffer
        Returns:
        a String (potentially null) at the current readerIndex
      • readSimpleString

        public SimpleString readSimpleString()
        Description copied from interface: ActiveMQBuffer
        Gets a non-null SimpleString at the current readerIndex
        Specified by:
        readSimpleString in interface ActiveMQBuffer
        Returns:
        a non-null SimpleString at the current readerIndex
      • readString

        public java.lang.String readString()
        Description copied from interface: ActiveMQBuffer
        Gets a non-null String at the current readerIndex
        Specified by:
        readString in interface ActiveMQBuffer
        Returns:
        a non-null String at the current readerIndex
      • writeNullableString

        public void writeNullableString​(java.lang.String val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified String (potentially null) at the current writerIndex
        Specified by:
        writeNullableString in interface ActiveMQBuffer
        Parameters:
        val - The specified String
      • writeUTF

        public void writeUTF​(java.lang.String utf)
        Description copied from interface: ActiveMQBuffer
        Sets the specified UTF-8 String at the current writerIndex
        Specified by:
        writeUTF in interface ActiveMQBuffer
        Parameters:
        utf - The specified UTF-8 String
      • readUTF

        public java.lang.String readUTF()
        Description copied from interface: ActiveMQBuffer
        Gets a UTF-8 String at the current readerIndex
        Specified by:
        readUTF in interface ActiveMQBuffer
        Specified by:
        readUTF in interface java.io.DataInput
        Returns:
        a UTF-8 String at the current readerIndex
      • writeBoolean

        public void writeBoolean​(boolean val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified boolean at the current writerIndex
        Specified by:
        writeBoolean in interface ActiveMQBuffer
        Parameters:
        val - The specified boolean
      • writeNullableBoolean

        public void writeNullableBoolean​(java.lang.Boolean val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified (potentially null) Boolean at the current writerIndex
        Specified by:
        writeNullableBoolean in interface ActiveMQBuffer
        Parameters:
        val - The specified boolean
      • writeNullableSimpleString

        public void writeNullableSimpleString​(SimpleString val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified SimpleString (potentially null) at the current writerIndex
        Specified by:
        writeNullableSimpleString in interface ActiveMQBuffer
        Parameters:
        val - The specified SimpleString
      • writeSimpleString

        public void writeSimpleString​(SimpleString val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified non-null SimpleString at the current writerIndex
        Specified by:
        writeSimpleString in interface ActiveMQBuffer
        Parameters:
        val - The specified non-null SimpleString
      • writeString

        public void writeString​(java.lang.String val)
        Description copied from interface: ActiveMQBuffer
        Sets the specified non-null String at the current writerIndex
        Specified by:
        writeString in interface ActiveMQBuffer
        Parameters:
        val - The specified non-null String
      • capacity

        public int capacity()
        Description copied from interface: ActiveMQBuffer
        Returns the number of bytes this buffer can contain.
        Specified by:
        capacity in interface ActiveMQBuffer
        Returns:
        the number of bytes this buffer can contain.
      • byteBuf

        public io.netty.buffer.ByteBuf byteBuf()
        Description copied from interface: ActiveMQBuffer
        Returns the underlying Netty's ByteBuf
        Specified by:
        byteBuf in interface ActiveMQBuffer
        Returns:
        the underlying Netty's ByteBuf
      • clear

        public void clear()
        Description copied from interface: ActiveMQBuffer
        Sets the readerIndex and writerIndex of this buffer to 0. This method is identical to setIndex(0, 0).

        Please note that the behavior of this method is different from that of NIO buffer, which sets the limit to the capacity of the buffer.

        Specified by:
        clear in interface ActiveMQBuffer
      • copy

        public ActiveMQBuffer copy()
        Description copied from interface: ActiveMQBuffer
        Returns a copy of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method is identical to buf.copy(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        copy in interface ActiveMQBuffer
        Returns:
        a copy of this buffer's readable bytes.
      • copy

        public ActiveMQBuffer copy​(int index,
                                   int length)
        Description copied from interface: ActiveMQBuffer
        Returns a copy of this buffer's sub-region. Modifying the content of the returned buffer or this buffer does not affect each other at all. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        copy in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        length - The number of bytes to copy
        Returns:
        a copy of this buffer's readable bytes.
      • discardReadBytes

        public void discardReadBytes()
        Description copied from interface: ActiveMQBuffer
        Discards the bytes between the 0th index and readerIndex. It moves the bytes between readerIndex and writerIndex to the 0th index, and sets readerIndex and writerIndex to 0 and oldWriterIndex - oldReaderIndex respectively.

        Please refer to the class documentation for more detailed explanation.

        Specified by:
        discardReadBytes in interface ActiveMQBuffer
      • duplicate

        public ActiveMQBuffer duplicate()
        Description copied from interface: ActiveMQBuffer
        Returns a buffer which shares the whole region of this buffer. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical to buf.slice(0, buf.capacity()). This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        duplicate in interface ActiveMQBuffer
        Returns:
        a buffer which shares the whole region of this buffer.
      • getByte

        public byte getByte​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getByte in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        The byte at the specified index
      • getBytes

        public void getBytes​(int index,
                             byte[] dst,
                             int dstIndex,
                             int length)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        dst - The destination buffer
        dstIndex - The first index of the destination
        length - The number of bytes to transfer
      • getBytes

        public void getBytes​(int index,
                             byte[] dst)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer
        Specified by:
        getBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        dst - The destination buffer
      • getBytes

        public void getBytes​(int index,
                             java.nio.ByteBuffer dst)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index until the destination's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer while the destination's position will be increased.
        Specified by:
        getBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        dst - The destination buffer
      • getBytes

        public void getBytes​(int index,
                             ActiveMQBuffer dst,
                             int dstIndex,
                             int length)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
        Specified by:
        getBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        dst - The destination bufferIndex the first index of the destination
        dstIndex - The index into the destination bufferThe destination buffer
        length - The number of bytes to transfer
      • getChar

        public char getChar​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a char at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getChar in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a char at the specified absolute index
      • getDouble

        public double getDouble​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a double at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getDouble in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a double at the specified absolute index
      • getFloat

        public float getFloat​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a float at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getFloat in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a float at the specified absolute index
      • getInt

        public int getInt​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getInt in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a 32-bit integer at the specified absolute index
      • getLong

        public long getLong​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getLong in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a 64-bit long integer at the specified absolute index
      • getShort

        public short getShort​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets a 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getShort in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        a 16-bit short integer at the specified absolute index
      • getUnsignedByte

        public short getUnsignedByte​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getUnsignedByte in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        an unsigned byte at the specified absolute index
      • getUnsignedInt

        public long getUnsignedInt​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getUnsignedInt in interface ActiveMQBuffer
        Parameters:
        index - The index into this buffer
        Returns:
        an unsigned 32-bit integer at the specified absolute index
      • getUnsignedShort

        public int getUnsignedShort​(int index)
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        getUnsignedShort in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        Returns:
        an unsigned 16-bit short integer
      • readable

        public boolean readable()
        Specified by:
        readable in interface ActiveMQBuffer
        Returns:
        true if and only if (this.writerIndex - this.readerIndex) is greater than 0.
      • readableBytes

        public int readableBytes()
        Specified by:
        readableBytes in interface ActiveMQBuffer
        Returns:
        the number of readable bytes which is equal to (this.writerIndex - this.readerIndex).
      • readByte

        public byte readByte()
        Description copied from interface: ActiveMQBuffer
        Gets a byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Specified by:
        readByte in interface ActiveMQBuffer
        Specified by:
        readByte in interface java.io.DataInput
        Returns:
        a byte at the current readerIndex
      • readBytes

        public void readBytes​(byte[] dst,
                              int dstIndex,
                              int length)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
        Specified by:
        readBytes in interface ActiveMQBuffer
        Parameters:
        dst - The destination buffer
        dstIndex - The destination bufferIndex
        length - the number of bytes to transfer
      • readBytes

        public void readBytes​(byte[] dst)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= dst.length).
        Specified by:
        readBytes in interface ActiveMQBuffer
        Parameters:
        dst - The destination buffer
      • readBytes

        public void readBytes​(java.nio.ByteBuffer dst)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the current readerIndex until the destination's position reaches its limit, and increases the readerIndex by the number of the transferred bytes.
        Specified by:
        readBytes in interface ActiveMQBuffer
        Parameters:
        dst - The destination buffer
      • readBytes

        public void readBytes​(ActiveMQBuffer dst,
                              int dstIndex,
                              int length)
        Description copied from interface: ActiveMQBuffer
        Transfers this buffer's data to the specified destination starting at the current readerIndex and increases the readerIndex by the number of the transferred bytes (= length).
        Specified by:
        readBytes in interface ActiveMQBuffer
        Parameters:
        dst - The destination buffer
        dstIndex - The destination buffer index
        length - the number of bytes to transfer
      • readChar

        public char readChar()
        Description copied from interface: ActiveMQBuffer
        Gets a char at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Specified by:
        readChar in interface ActiveMQBuffer
        Specified by:
        readChar in interface java.io.DataInput
        Returns:
        a char at the current readerIndex
      • readDouble

        public double readDouble()
        Description copied from interface: ActiveMQBuffer
        Gets a double at the current readerIndex and increases the readerIndex by 8 in this buffer.
        Specified by:
        readDouble in interface ActiveMQBuffer
        Specified by:
        readDouble in interface java.io.DataInput
        Returns:
        a double at the current readerIndex
      • readerIndex

        public int readerIndex()
        Specified by:
        readerIndex in interface ActiveMQBuffer
        Returns:
        the readerIndex of this buffer.
      • readerIndex

        public void readerIndex​(int readerIndex)
        Description copied from interface: ActiveMQBuffer
        Sets the readerIndex of this buffer.
        Specified by:
        readerIndex in interface ActiveMQBuffer
        Parameters:
        readerIndex - The reader's index
      • readFloat

        public float readFloat()
        Description copied from interface: ActiveMQBuffer
        Gets a float at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Specified by:
        readFloat in interface ActiveMQBuffer
        Specified by:
        readFloat in interface java.io.DataInput
        Returns:
        a float at the current readerIndex
      • readInt

        public int readInt()
        Description copied from interface: ActiveMQBuffer
        Gets a 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Specified by:
        readInt in interface ActiveMQBuffer
        Specified by:
        readInt in interface java.io.DataInput
        Returns:
        a 32-bit integer at the current readerIndex
      • readNullableInt

        public java.lang.Integer readNullableInt()
        Description copied from interface: ActiveMQBuffer
        Gets a (potentially null) 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Specified by:
        readNullableInt in interface ActiveMQBuffer
        Returns:
        a (potentially null) 32-bit integer at the current readerIndex
      • readLong

        public long readLong()
        Description copied from interface: ActiveMQBuffer
        Gets a 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
        Specified by:
        readLong in interface ActiveMQBuffer
        Specified by:
        readLong in interface java.io.DataInput
        Returns:
        a 64-bit integer at the current readerIndex
      • readNullableLong

        public java.lang.Long readNullableLong()
        Description copied from interface: ActiveMQBuffer
        Gets a (potentially null) 64-bit integer at the current readerIndex and increases the readerIndex by 8 in this buffer.
        Specified by:
        readNullableLong in interface ActiveMQBuffer
        Returns:
        a (potentially null) 64-bit integer at the current readerIndex
      • readShort

        public short readShort()
        Description copied from interface: ActiveMQBuffer
        Gets a 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Specified by:
        readShort in interface ActiveMQBuffer
        Specified by:
        readShort in interface java.io.DataInput
        Returns:
        a 16-bit short integer at the current readerIndex
      • readSlice

        public ActiveMQBuffer readSlice​(int length)
        Description copied from interface: ActiveMQBuffer
        Returns a new slice of this buffer's sub-region starting at the current readerIndex and increases the readerIndex by the size of the new slice (= length).
        Specified by:
        readSlice in interface ActiveMQBuffer
        Parameters:
        length - the size of the new slice
        Returns:
        the newly created slice
      • readUnsignedByte

        public int readUnsignedByte()
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned byte at the current readerIndex and increases the readerIndex by 1 in this buffer.
        Specified by:
        readUnsignedByte in interface ActiveMQBuffer
        Specified by:
        readUnsignedByte in interface java.io.DataInput
        Returns:
        an unsigned byte at the current readerIndex
      • readUnsignedInt

        public long readUnsignedInt()
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned 32-bit integer at the current readerIndex and increases the readerIndex by 4 in this buffer.
        Specified by:
        readUnsignedInt in interface ActiveMQBuffer
        Returns:
        an unsigned 32-bit integer at the current readerIndex
      • readUnsignedShort

        public int readUnsignedShort()
        Description copied from interface: ActiveMQBuffer
        Gets an unsigned 16-bit short integer at the current readerIndex and increases the readerIndex by 2 in this buffer.
        Specified by:
        readUnsignedShort in interface ActiveMQBuffer
        Specified by:
        readUnsignedShort in interface java.io.DataInput
        Returns:
        an unsigned 16-bit short integer at the current readerIndex
      • resetReaderIndex

        public void resetReaderIndex()
        Description copied from interface: ActiveMQBuffer
        Repositions the current readerIndex to the marked readerIndex in this buffer.
        Specified by:
        resetReaderIndex in interface ActiveMQBuffer
      • resetWriterIndex

        public void resetWriterIndex()
        Description copied from interface: ActiveMQBuffer
        Repositions the current writerIndex to the marked writerIndex in this buffer.
        Specified by:
        resetWriterIndex in interface ActiveMQBuffer
      • setByte

        public void setByte​(int index,
                            byte value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified byte at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setByte in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified byte
      • setBytes

        public void setBytes​(int index,
                             byte[] src,
                             int srcIndex,
                             int length)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        src - The source buffer
        srcIndex - The source buffer index
        length - The number of bytes to transfer
      • setBytes

        public void setBytes​(int index,
                             byte[] src)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source array's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        src - The source buffer
      • setBytes

        public void setBytes​(int index,
                             java.nio.ByteBuffer src)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source buffer's data to this buffer starting at the specified absolute index until the source buffer's position reaches its limit. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        src - The source buffer
      • setBytes

        public void setBytes​(int index,
                             ActiveMQBuffer src,
                             int srcIndex,
                             int length)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source buffer's data to this buffer starting at the specified absolute index. This method does not modify readerIndex or writerIndex of both the source (i.e. this) and the destination.
        Specified by:
        setBytes in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        src - The source bufferIndex the first index of the source
        srcIndex - The source buffer index
        length - The number of bytes to transfer
      • setChar

        public void setChar​(int index,
                            char value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified char at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setChar in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified char
      • setDouble

        public void setDouble​(int index,
                              double value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified double at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setDouble in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified double
      • setFloat

        public void setFloat​(int index,
                             float value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified float at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setFloat in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified float
      • setIndex

        public void setIndex​(int readerIndex,
                             int writerIndex)
        Description copied from interface: ActiveMQBuffer
        Sets the readerIndex and writerIndex of this buffer in one shot. This method is useful when you have to worry about the invocation order of ActiveMQBuffer.readerIndex(int) and ActiveMQBuffer.writerIndex(int) methods. For example, the following code will fail:
         // Create a buffer whose readerIndex, writerIndex and capacity are
         // 0, 0 and 8 respectively.
         ChannelBuffer buf = ChannelBuffers.buffer(8);
        
         // IndexOutOfBoundsException is thrown because the specified
         // readerIndex (2) cannot be greater than the current writerIndex (0).
         buf.readerIndex(2);
         buf.writerIndex(4);
         
        The following code will also fail:
         // Create a buffer whose readerIndex, writerIndex and capacity are
         // 0, 8 and 8 respectively.
         ChannelBuffer buf = ChannelBuffers.wrappedBuffer(new byte[8]);
        
         // readerIndex becomes 8.
         buf.readLong();
        
         // IndexOutOfBoundsException is thrown because the specified
         // writerIndex (4) cannot be less than the current readerIndex (8).
         buf.writerIndex(4);
         buf.readerIndex(2);
         
        By contrast, ActiveMQBuffer.setIndex(int, int) guarantees that it never throws an IndexOutOfBoundsException as long as the specified indexes meet basic constraints, regardless what the current index values of the buffer are:
         // No matter what the current state of the buffer is, the following
         // call always succeeds as long as the capacity of the buffer is not
         // less than 4.
         buf.setIndex(2, 4);
         
        Specified by:
        setIndex in interface ActiveMQBuffer
        Parameters:
        readerIndex - The reader's index
        writerIndex - The writer's index
      • setInt

        public void setInt​(int index,
                           int value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 32-bit integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setInt in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified 32-bit integer
      • setLong

        public void setLong​(int index,
                            long value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 64-bit long integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setLong in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified 64-bit long integer
      • setShort

        public void setShort​(int index,
                             short value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 16-bit short integer at the specified absolute index in this buffer. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        setShort in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        value - The specified 16-bit short integer
      • skipBytes

        public int skipBytes​(int length)
        Description copied from interface: ActiveMQBuffer
        Increases the current readerIndex by the specified length in this buffer.
        Specified by:
        skipBytes in interface ActiveMQBuffer
        Specified by:
        skipBytes in interface java.io.DataInput
        Parameters:
        length - The number of bytes to skip
      • slice

        public ActiveMQBuffer slice()
        Description copied from interface: ActiveMQBuffer
        Returns a slice of this buffer's readable bytes. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method is identical to buf.slice(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        slice in interface ActiveMQBuffer
        Returns:
        a slice of this buffer's readable bytes
      • slice

        public ActiveMQBuffer slice​(int index,
                                    int length)
        Description copied from interface: ActiveMQBuffer
        Returns a slice of this buffer's sub-region. Modifying the content of the returned buffer or this buffer affects each other's content while they maintain separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        slice in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        length - The number of bytes
        Returns:
        a slice of this buffer's sub-region.
      • toByteBuffer

        public java.nio.ByteBuffer toByteBuffer()
        Description copied from interface: ActiveMQBuffer
        Converts this buffer's readable bytes into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method is identical to buf.toByteBuffer(buf.readerIndex(), buf.readableBytes()). This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        toByteBuffer in interface ActiveMQBuffer
        Returns:
        A converted NIO ByteBuffer
      • toByteBuffer

        public java.nio.ByteBuffer toByteBuffer​(int index,
                                                int length)
        Description copied from interface: ActiveMQBuffer
        Converts this buffer's sub-region into a NIO buffer. The returned buffer might or might not share the content with this buffer, while they have separate indexes and marks. This method does not modify readerIndex or writerIndex of this buffer.
        Specified by:
        toByteBuffer in interface ActiveMQBuffer
        Parameters:
        index - Index into the buffer
        length - The number of bytes
        Returns:
        A converted NIO Buffer
      • release

        public void release()
        Description copied from interface: ActiveMQBuffer
        Release any underlying resources held by this buffer
        Specified by:
        release in interface ActiveMQBuffer
      • writable

        public boolean writable()
        Specified by:
        writable in interface ActiveMQBuffer
        Returns:
        trueif and only if (this.capacity - this.writerIndex) is greater than 0.
      • writableBytes

        public int writableBytes()
        Specified by:
        writableBytes in interface ActiveMQBuffer
        Returns:
        the number of writable bytes which is equal to (this.capacity - this.writerIndex).
      • writeByte

        public void writeByte​(byte value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified byte at the current writerIndex and increases the writerIndex by 1 in this buffer.
        Specified by:
        writeByte in interface ActiveMQBuffer
        Parameters:
        value - The specified byte
      • writeBytes

        public void writeBytes​(byte[] src,
                               int srcIndex,
                               int length)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
        Specified by:
        writeBytes in interface ActiveMQBuffer
        Parameters:
        src - The source buffer
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeBytes

        public void writeBytes​(byte[] src)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source array's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= src.length).
        Specified by:
        writeBytes in interface ActiveMQBuffer
        Parameters:
        src - The source buffer
      • writeBytes

        public void writeBytes​(java.nio.ByteBuffer src)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
        Specified by:
        writeBytes in interface ActiveMQBuffer
        Parameters:
        src - The source buffer
      • writeBytes

        public void writeBytes​(io.netty.buffer.ByteBuf src,
                               int srcIndex,
                               int length)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source buffer's data to this buffer starting at the current writerIndex until the source buffer's position reaches its limit, and increases the writerIndex by the number of the transferred bytes.
        Specified by:
        writeBytes in interface ActiveMQBuffer
        Parameters:
        src - The source buffer
      • writeBytes

        public void writeBytes​(ActiveMQBuffer src,
                               int srcIndex,
                               int length)
        Description copied from interface: ActiveMQBuffer
        Transfers the specified source buffer's data to this buffer starting at the current writerIndex and increases the writerIndex by the number of the transferred bytes (= length).
        Specified by:
        writeBytes in interface ActiveMQBuffer
        Parameters:
        src - The source buffer
        srcIndex - the first index of the source
        length - the number of bytes to transfer
      • writeChar

        public void writeChar​(char chr)
        Description copied from interface: ActiveMQBuffer
        Sets the specified char at the current writerIndex and increases the writerIndex by 2 in this buffer.
        Specified by:
        writeChar in interface ActiveMQBuffer
        Parameters:
        chr - The specified char
      • writeDouble

        public void writeDouble​(double value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified double at the current writerIndex and increases the writerIndex by 8 in this buffer.
        Specified by:
        writeDouble in interface ActiveMQBuffer
        Parameters:
        value - The specified double
      • writeFloat

        public void writeFloat​(float value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified float at the current writerIndex and increases the writerIndex by 4 in this buffer.
        Specified by:
        writeFloat in interface ActiveMQBuffer
        Parameters:
        value - The specified float
      • writeInt

        public void writeInt​(int value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
        Specified by:
        writeInt in interface ActiveMQBuffer
        Parameters:
        value - The specified 32-bit integer
      • writeNullableInt

        public void writeNullableInt​(java.lang.Integer value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified (potentially null) 32-bit integer at the current writerIndex and increases the writerIndex by 4 in this buffer.
        Specified by:
        writeNullableInt in interface ActiveMQBuffer
        Parameters:
        value - The specified (potentially null) 32-bit integer
      • writeLong

        public void writeLong​(long value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
        Specified by:
        writeLong in interface ActiveMQBuffer
        Parameters:
        value - The specified 64-bit long integer
      • writeNullableLong

        public void writeNullableLong​(java.lang.Long value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified (potentially null) 64-bit long integer at the current writerIndex and increases the writerIndex by 8 in this buffer.
        Specified by:
        writeNullableLong in interface ActiveMQBuffer
        Parameters:
        value - The specified (potentially null) 64-bit long integer
      • writerIndex

        public int writerIndex()
        Specified by:
        writerIndex in interface ActiveMQBuffer
        Returns:
        the writerIndex of this buffer.
      • writerIndex

        public void writerIndex​(int writerIndex)
        Description copied from interface: ActiveMQBuffer
        Sets the writerIndex of this buffer.
        Specified by:
        writerIndex in interface ActiveMQBuffer
        Parameters:
        writerIndex - The writer's index
      • writeShort

        public void writeShort​(short value)
        Description copied from interface: ActiveMQBuffer
        Sets the specified 16-bit short integer at the current writerIndex and increases the writerIndex by 2 in this buffer.
        Specified by:
        writeShort in interface ActiveMQBuffer
        Parameters:
        value - The specified 16-bit short integer
      • readFully

        public void readFully​(byte[] b)
                       throws java.io.IOException
        from DataInput interface
        Specified by:
        readFully in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readFully

        public void readFully​(byte[] b,
                              int off,
                              int len)
                       throws java.io.IOException
        from DataInput interface
        Specified by:
        readFully in interface java.io.DataInput
        Throws:
        java.io.IOException
      • readLine

        public java.lang.String readLine()
                                  throws java.io.IOException
        from DataInput interface
        Specified by:
        readLine in interface java.io.DataInput
        Throws:
        java.io.IOException