Class IoBufferWrapper

java.lang.Object
com.google.code.yanf4j.buffer.IoBuffer
com.google.code.yanf4j.buffer.IoBufferWrapper
All Implemented Interfaces:
Comparable<IoBuffer>

public class IoBufferWrapper extends IoBuffer
A IoBuffer that wraps a buffer and proxies any operations to it.

You can think this class like a FilterOutputStream. All operations are proxied by default so that you can extend this class and override existing operations selectively. You can introduce new operations, too.

Version:
$Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (Thu, 26 Jun 2008) $
  • Field Details

    • buf

      private final IoBuffer buf
      The buffer proxied by this proxy.
  • Constructor Details

    • IoBufferWrapper

      protected IoBufferWrapper(IoBuffer buf)
      Create a new instance.
      Parameters:
      buf - the buffer to be proxied
  • Method Details

    • getParentBuffer

      public IoBuffer getParentBuffer()
      Returns the parent buffer that this buffer wrapped.
    • isDirect

      public boolean isDirect()
      Specified by:
      isDirect in class IoBuffer
      See Also:
    • buf

      public ByteBuffer buf()
      Description copied from class: IoBuffer
      Returns the underlying NIO buffer instance.
      Specified by:
      buf in class IoBuffer
    • capacity

      public int capacity()
      Specified by:
      capacity in class IoBuffer
      See Also:
    • position

      public int position()
      Specified by:
      position in class IoBuffer
      See Also:
    • position

      public IoBuffer position(int newPosition)
      Specified by:
      position in class IoBuffer
      See Also:
    • limit

      public int limit()
      Specified by:
      limit in class IoBuffer
      See Also:
    • limit

      public IoBuffer limit(int newLimit)
      Specified by:
      limit in class IoBuffer
      See Also:
    • mark

      public IoBuffer mark()
      Specified by:
      mark in class IoBuffer
      See Also:
    • reset

      public IoBuffer reset()
      Specified by:
      reset in class IoBuffer
      See Also:
    • clear

      public IoBuffer clear()
      Specified by:
      clear in class IoBuffer
      See Also:
    • sweep

      public IoBuffer sweep()
      Description copied from class: IoBuffer
      Clears this buffer and fills its content with NUL. The position is set to zero, the limit is set to the capacity, and the mark is discarded.
      Specified by:
      sweep in class IoBuffer
    • sweep

      public IoBuffer sweep(byte value)
      Description copied from class: IoBuffer
      double Clears this buffer and fills its content with value. The position is set to zero, the limit is set to the capacity, and the mark is discarded.
      Specified by:
      sweep in class IoBuffer
    • flip

      public IoBuffer flip()
      Specified by:
      flip in class IoBuffer
      See Also:
    • rewind

      public IoBuffer rewind()
      Specified by:
      rewind in class IoBuffer
      See Also:
    • remaining

      public int remaining()
      Specified by:
      remaining in class IoBuffer
      See Also:
    • hasRemaining

      public boolean hasRemaining()
      Specified by:
      hasRemaining in class IoBuffer
      See Also:
    • get

      public byte get()
      Specified by:
      get in class IoBuffer
      See Also:
    • getUnsigned

      public short getUnsigned()
      Description copied from class: IoBuffer
      Reads one unsigned byte as a short integer.
      Specified by:
      getUnsigned in class IoBuffer
    • put

      public IoBuffer put(byte b)
      Specified by:
      put in class IoBuffer
      See Also:
    • get

      public byte get(int index)
      Specified by:
      get in class IoBuffer
      See Also:
    • getUnsigned

      public short getUnsigned(int index)
      Description copied from class: IoBuffer
      Reads one byte as an unsigned short integer.
      Specified by:
      getUnsigned in class IoBuffer
    • put

      public IoBuffer put(int index, byte b)
      Specified by:
      put in class IoBuffer
      See Also:
    • get

      public IoBuffer get(byte[] dst, int offset, int length)
      Specified by:
      get in class IoBuffer
      See Also:
    • getSlice

      public IoBuffer getSlice(int index, int length)
      Description copied from class: IoBuffer
      TODO document me.
      Specified by:
      getSlice in class IoBuffer
    • getSlice

      public IoBuffer getSlice(int length)
      Description copied from class: IoBuffer
      TODO document me.
      Specified by:
      getSlice in class IoBuffer
    • get

      public IoBuffer get(byte[] dst)
      Specified by:
      get in class IoBuffer
      See Also:
    • put

      public IoBuffer put(IoBuffer src)
      Description copied from class: IoBuffer
      Writes the content of the specified src into this buffer.
      Specified by:
      put in class IoBuffer
    • put

      public IoBuffer put(ByteBuffer src)
      Description copied from class: IoBuffer
      Writes the content of the specified src into this buffer.
      Specified by:
      put in class IoBuffer
    • put

      public IoBuffer put(byte[] src, int offset, int length)
      Specified by:
      put in class IoBuffer
      See Also:
    • put

      public IoBuffer put(byte[] src)
      Specified by:
      put in class IoBuffer
      See Also:
    • compact

      public IoBuffer compact()
      Specified by:
      compact in class IoBuffer
      See Also:
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object ob)
      Overrides:
      equals in class Object
    • compareTo

      public int compareTo(IoBuffer that)
    • order

      public ByteOrder order()
      Specified by:
      order in class IoBuffer
      See Also:
    • order

      public IoBuffer order(ByteOrder bo)
      Specified by:
      order in class IoBuffer
      See Also:
    • getChar

      public char getChar()
      Specified by:
      getChar in class IoBuffer
      See Also:
    • putChar

      public IoBuffer putChar(char value)
      Specified by:
      putChar in class IoBuffer
      See Also:
    • getChar

      public char getChar(int index)
      Specified by:
      getChar in class IoBuffer
      See Also:
    • putChar

      public IoBuffer putChar(int index, char value)
      Specified by:
      putChar in class IoBuffer
      See Also:
    • asCharBuffer

      public CharBuffer asCharBuffer()
      Specified by:
      asCharBuffer in class IoBuffer
      See Also:
    • getShort

      public short getShort()
      Specified by:
      getShort in class IoBuffer
      See Also:
    • getUnsignedShort

      public int getUnsignedShort()
      Description copied from class: IoBuffer
      Reads two bytes unsigned integer.
      Specified by:
      getUnsignedShort in class IoBuffer
    • putShort

      public IoBuffer putShort(short value)
      Specified by:
      putShort in class IoBuffer
      See Also:
    • getShort

      public short getShort(int index)
      Specified by:
      getShort in class IoBuffer
      See Also:
    • getUnsignedShort

      public int getUnsignedShort(int index)
      Description copied from class: IoBuffer
      Reads two bytes unsigned integer.
      Specified by:
      getUnsignedShort in class IoBuffer
    • putShort

      public IoBuffer putShort(int index, short value)
      Specified by:
      putShort in class IoBuffer
      See Also:
    • asShortBuffer

      public ShortBuffer asShortBuffer()
      Specified by:
      asShortBuffer in class IoBuffer
      See Also:
    • getInt

      public int getInt()
      Specified by:
      getInt in class IoBuffer
      See Also:
    • getUnsignedInt

      public long getUnsignedInt()
      Description copied from class: IoBuffer
      Reads four bytes unsigned integer.
      Specified by:
      getUnsignedInt in class IoBuffer
    • putInt

      public IoBuffer putInt(int value)
      Specified by:
      putInt in class IoBuffer
      See Also:
    • getInt

      public int getInt(int index)
      Specified by:
      getInt in class IoBuffer
      See Also:
    • getUnsignedInt

      public long getUnsignedInt(int index)
      Description copied from class: IoBuffer
      Reads four bytes unsigned integer.
      Specified by:
      getUnsignedInt in class IoBuffer
    • putInt

      public IoBuffer putInt(int index, int value)
      Specified by:
      putInt in class IoBuffer
      See Also:
    • asIntBuffer

      public IntBuffer asIntBuffer()
      Specified by:
      asIntBuffer in class IoBuffer
      See Also:
    • getLong

      public long getLong()
      Specified by:
      getLong in class IoBuffer
      See Also:
    • putLong

      public IoBuffer putLong(long value)
      Specified by:
      putLong in class IoBuffer
      See Also:
    • getLong

      public long getLong(int index)
      Specified by:
      getLong in class IoBuffer
      See Also:
    • putLong

      public IoBuffer putLong(int index, long value)
      Specified by:
      putLong in class IoBuffer
      See Also:
    • asLongBuffer

      public LongBuffer asLongBuffer()
      Specified by:
      asLongBuffer in class IoBuffer
      See Also:
    • getFloat

      public float getFloat()
      Specified by:
      getFloat in class IoBuffer
      See Also:
    • putFloat

      public IoBuffer putFloat(float value)
      Specified by:
      putFloat in class IoBuffer
      See Also:
    • getFloat

      public float getFloat(int index)
      Specified by:
      getFloat in class IoBuffer
      See Also:
    • putFloat

      public IoBuffer putFloat(int index, float value)
      Specified by:
      putFloat in class IoBuffer
      See Also:
    • asFloatBuffer

      public FloatBuffer asFloatBuffer()
      Specified by:
      asFloatBuffer in class IoBuffer
      See Also:
    • getDouble

      public double getDouble()
      Specified by:
      getDouble in class IoBuffer
      See Also:
    • putDouble

      public IoBuffer putDouble(double value)
      Specified by:
      putDouble in class IoBuffer
      See Also:
    • getDouble

      public double getDouble(int index)
      Specified by:
      getDouble in class IoBuffer
      See Also:
    • putDouble

      public IoBuffer putDouble(int index, double value)
      Specified by:
      putDouble in class IoBuffer
      See Also:
    • asDoubleBuffer

      public DoubleBuffer asDoubleBuffer()
      Specified by:
      asDoubleBuffer in class IoBuffer
      See Also:
    • getHexDump

      public String getHexDump()
      Description copied from class: IoBuffer
      Returns hexdump of this buffer. The data and pointer are not changed as a result of this method call.
      Specified by:
      getHexDump in class IoBuffer
      Returns:
      hexidecimal representation of this buffer
    • getString

      public String getString(int fieldSize, CharsetDecoder decoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Reads a NUL-terminated string from this buffer using the specified decoder and returns it.
      Specified by:
      getString in class IoBuffer
      Parameters:
      fieldSize - the maximum number of bytes to read
      Throws:
      CharacterCodingException
    • getString

      public String getString(CharsetDecoder decoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Reads a NUL-terminated string from this buffer using the specified decoder and returns it. This method reads until the limit of this buffer if no NUL is found.
      Specified by:
      getString in class IoBuffer
      Throws:
      CharacterCodingException
    • getPrefixedString

      public String getPrefixedString(CharsetDecoder decoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Reads a string which has a 16-bit length field before the actual encoded string, using the specified decoder and returns it. This method is a shortcut for getPrefixedString(2, decoder).
      Specified by:
      getPrefixedString in class IoBuffer
      Throws:
      CharacterCodingException
    • getPrefixedString

      public String getPrefixedString(int prefixLength, CharsetDecoder decoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Reads a string which has a length field before the actual encoded string, using the specified decoder and returns it.
      Specified by:
      getPrefixedString in class IoBuffer
      Parameters:
      prefixLength - the length of the length field (1, 2, or 4)
      Throws:
      CharacterCodingException
    • putString

      public IoBuffer putString(CharSequence in, int fieldSize, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer as a NUL-terminated string using the specified encoder.

      If the charset name of the encoder is UTF-16, you cannot specify odd fieldSize, and this method will append two NULs as a terminator.

      Please note that this method doesn't terminate with NUL if the input string is longer than fieldSize.

      Specified by:
      putString in class IoBuffer
      Parameters:
      fieldSize - the maximum number of bytes to write
      Throws:
      CharacterCodingException
    • putString

      public IoBuffer putString(CharSequence in, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer using the specified encoder . This method doesn't terminate string with NUL. You have to do it by yourself.
      Specified by:
      putString in class IoBuffer
      Throws:
      CharacterCodingException
    • putPrefixedString

      public IoBuffer putPrefixedString(CharSequence in, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer as a string which has a 16-bit length field before the actual encoded string, using the specified encoder. This method is a shortcut for putPrefixedString(in, 2, 0, encoder).
      Specified by:
      putPrefixedString in class IoBuffer
      Throws:
      CharacterCodingException
    • putPrefixedString

      public IoBuffer putPrefixedString(CharSequence in, int prefixLength, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer as a string which has a 16-bit length field before the actual encoded string, using the specified encoder. This method is a shortcut for putPrefixedString(in, prefixLength, 0, encoder).
      Specified by:
      putPrefixedString in class IoBuffer
      Parameters:
      prefixLength - the length of the length field (1, 2, or 4)
      Throws:
      CharacterCodingException
    • putPrefixedString

      public IoBuffer putPrefixedString(CharSequence in, int prefixLength, int padding, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer as a string which has a 16-bit length field before the actual encoded string, using the specified encoder. This method is a shortcut for putPrefixedString(in, prefixLength, padding, ( byte ) 0, encoder) .
      Specified by:
      putPrefixedString in class IoBuffer
      Parameters:
      prefixLength - the length of the length field (1, 2, or 4)
      padding - the number of padded NULs (1 (or 0), 2, or 4)
      Throws:
      CharacterCodingException
    • putPrefixedString

      public IoBuffer putPrefixedString(CharSequence in, int prefixLength, int padding, byte padValue, CharsetEncoder encoder) throws CharacterCodingException
      Description copied from class: IoBuffer
      Writes the content of in into this buffer as a string which has a 16-bit length field before the actual encoded string, using the specified encoder.
      Specified by:
      putPrefixedString in class IoBuffer
      Parameters:
      prefixLength - the length of the length field (1, 2, or 4)
      padding - the number of padded bytes (1 (or 0), 2, or 4)
      padValue - the value of padded bytes
      Throws:
      CharacterCodingException
    • skip

      public IoBuffer skip(int size)
      Description copied from class: IoBuffer
      Forwards the position of this buffer as the specified size bytes.
      Specified by:
      skip in class IoBuffer
    • fill

      public IoBuffer fill(byte value, int size)
      Description copied from class: IoBuffer
      Fills this buffer with the specified value. This method moves buffer position forward.
      Specified by:
      fill in class IoBuffer
    • fillAndReset

      public IoBuffer fillAndReset(byte value, int size)
      Description copied from class: IoBuffer
      Fills this buffer with the specified value. This method does not change buffer position.
      Specified by:
      fillAndReset in class IoBuffer
    • fill

      public IoBuffer fill(int size)
      Description copied from class: IoBuffer
      Fills this buffer with NUL (0x00). This method moves buffer position forward.
      Specified by:
      fill in class IoBuffer
    • fillAndReset

      public IoBuffer fillAndReset(int size)
      Description copied from class: IoBuffer
      Fills this buffer with NUL (0x00). This method does not change buffer position.
      Specified by:
      fillAndReset in class IoBuffer
    • isAutoExpand

      public boolean isAutoExpand()
      Description copied from class: IoBuffer
      Returns true if and only if autoExpand is turned on.
      Specified by:
      isAutoExpand in class IoBuffer
    • setAutoExpand

      public IoBuffer setAutoExpand(boolean autoExpand)
      Description copied from class: IoBuffer
      Turns on or off autoExpand.
      Specified by:
      setAutoExpand in class IoBuffer
    • expand

      public IoBuffer expand(int pos, int expectedRemaining)
      Description copied from class: IoBuffer
      Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the specified position. This method works even if you didn't set autoExpand to true.
      Specified by:
      expand in class IoBuffer
    • expand

      public IoBuffer expand(int expectedRemaining)
      Description copied from class: IoBuffer
      Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the current position. This method works even if you didn't set autoExpand to true.
      Specified by:
      expand in class IoBuffer
    • getObject

      public Object getObject() throws ClassNotFoundException
      Description copied from class: IoBuffer
      Reads a Java object from the buffer using the context ClassLoader of the current thread.
      Specified by:
      getObject in class IoBuffer
      Throws:
      ClassNotFoundException
    • getObject

      public Object getObject(ClassLoader classLoader) throws ClassNotFoundException
      Description copied from class: IoBuffer
      Reads a Java object from the buffer using the specified classLoader.
      Specified by:
      getObject in class IoBuffer
      Throws:
      ClassNotFoundException
    • putObject

      public IoBuffer putObject(Object o)
      Description copied from class: IoBuffer
      Writes the specified Java object to the buffer.
      Specified by:
      putObject in class IoBuffer
    • asInputStream

      public InputStream asInputStream()
      Description copied from class: IoBuffer
      Returns an InputStream that reads the data from this buffer. InputStream.read() returns -1 if the buffer position reaches to the limit.
      Specified by:
      asInputStream in class IoBuffer
    • asOutputStream

      public OutputStream asOutputStream()
      Description copied from class: IoBuffer
      Returns an OutputStream that appends the data into this buffer. Please note that the OutputStream.write(int) will throw a BufferOverflowException instead of an IOException in case of buffer overflow. Please set autoExpand property by calling IoBuffer.setAutoExpand(boolean) to prevent the unexpected runtime exception.
      Specified by:
      asOutputStream in class IoBuffer
    • duplicate

      public IoBuffer duplicate()
      Specified by:
      duplicate in class IoBuffer
      See Also:
    • slice

      public IoBuffer slice()
      Specified by:
      slice in class IoBuffer
      See Also:
    • asReadOnlyBuffer

      public IoBuffer asReadOnlyBuffer()
      Specified by:
      asReadOnlyBuffer in class IoBuffer
      See Also:
    • array

      public byte[] array()
      Specified by:
      array in class IoBuffer
      See Also:
    • arrayOffset

      public int arrayOffset()
      Specified by:
      arrayOffset in class IoBuffer
      See Also:
    • minimumCapacity

      public int minimumCapacity()
      Description copied from class: IoBuffer
      Returns the minimum capacity of this buffer which is used to determine the new capacity of the buffer shrunk by IoBuffer.compact() and IoBuffer.shrink() operation. The default value is the initial capacity of the buffer.
      Specified by:
      minimumCapacity in class IoBuffer
    • minimumCapacity

      public IoBuffer minimumCapacity(int minimumCapacity)
      Description copied from class: IoBuffer
      Sets the minimum capacity of this buffer which is used to determine the new capacity of the buffer shrunk by IoBuffer.compact() and IoBuffer.shrink() operation. The default value is the initial capacity of the buffer.
      Specified by:
      minimumCapacity in class IoBuffer
    • capacity

      public IoBuffer capacity(int newCapacity)
      Description copied from class: IoBuffer
      Increases the capacity of this buffer. If the new capacity is less than or equal to the current capacity, this method returns silently. If the new capacity is greater than the current capacity, the buffer is reallocated while retaining the position, limit, mark and the content of the buffer.
      Specified by:
      capacity in class IoBuffer
    • isReadOnly

      public boolean isReadOnly()
      Specified by:
      isReadOnly in class IoBuffer
      See Also:
    • markValue

      public int markValue()
      Description copied from class: IoBuffer
      Returns the position of the current mark. This method returns -1 if no mark is set.
      Specified by:
      markValue in class IoBuffer
    • hasArray

      public boolean hasArray()
      Specified by:
      hasArray in class IoBuffer
      See Also:
    • free

      public void free()
      Description copied from class: IoBuffer
      Declares this buffer and all its derived buffers are not used anymore so that it can be reused by some IoBufferAllocator implementations. It is not mandatory to call this method, but you might want to invoke this method for maximum performance.
      Specified by:
      free in class IoBuffer
    • isDerived

      public boolean isDerived()
      Description copied from class: IoBuffer
      returns true if and only if this buffer is derived from other buffer via IoBuffer.duplicate(), IoBuffer.slice() or IoBuffer.asReadOnlyBuffer().
      Specified by:
      isDerived in class IoBuffer
    • isAutoShrink

      public boolean isAutoShrink()
      Description copied from class: IoBuffer
      Returns true if and only if autoShrink is turned on.
      Specified by:
      isAutoShrink in class IoBuffer
    • setAutoShrink

      public IoBuffer setAutoShrink(boolean autoShrink)
      Description copied from class: IoBuffer
      Turns on or off autoShrink.
      Specified by:
      setAutoShrink in class IoBuffer
    • shrink

      public IoBuffer shrink()
      Description copied from class: IoBuffer
      Changes the capacity of this buffer so this buffer occupies as less memory as possible while retaining the position, limit and the buffer content between the position and limit. The capacity of the buffer never becomes less than IoBuffer.minimumCapacity(). The mark is discarded once the capacity changes.
      Specified by:
      shrink in class IoBuffer
    • getMediumInt

      public int getMediumInt()
      Description copied from class: IoBuffer
      Relative get method for reading a medium int value.

      Reads the next three bytes at this buffer's current position, composing them into an int value according to the current byte order, and then increments the position by three.

      Specified by:
      getMediumInt in class IoBuffer
      Returns:
      The medium int value at the buffer's current position
    • getUnsignedMediumInt

      public int getUnsignedMediumInt()
      Description copied from class: IoBuffer
      Relative get method for reading an unsigned medium int value.

      Reads the next three bytes at this buffer's current position, composing them into an int value according to the current byte order, and then increments the position by three.

      Specified by:
      getUnsignedMediumInt in class IoBuffer
      Returns:
      The unsigned medium int value at the buffer's current position
    • getMediumInt

      public int getMediumInt(int index)
      Description copied from class: IoBuffer
      Absolute get method for reading a medium int value.

      Reads the next three bytes at this buffer's current position, composing them into an int value according to the current byte order.

      Specified by:
      getMediumInt in class IoBuffer
      Parameters:
      index - The index from which the medium int will be read
      Returns:
      The medium int value at the given index
    • getUnsignedMediumInt

      public int getUnsignedMediumInt(int index)
      Description copied from class: IoBuffer
      Absolute get method for reading an unsigned medium int value.

      Reads the next three bytes at this buffer's current position, composing them into an int value according to the current byte order.

      Specified by:
      getUnsignedMediumInt in class IoBuffer
      Parameters:
      index - The index from which the unsigned medium int will be read
      Returns:
      The unsigned medium int value at the given index
    • putMediumInt

      public IoBuffer putMediumInt(int value)
      Description copied from class: IoBuffer
      Relative put method for writing a medium int value.

      Writes three bytes containing the given int value, in the current byte order, into this buffer at the current position, and then increments the position by three.

      Specified by:
      putMediumInt in class IoBuffer
      Parameters:
      value - The medium int value to be written
      Returns:
      This buffer
    • putMediumInt

      public IoBuffer putMediumInt(int index, int value)
      Description copied from class: IoBuffer
      Absolute put method for writing a medium int value.

      Writes three bytes containing the given int value, in the current byte order, into this buffer at the given index.

      Specified by:
      putMediumInt in class IoBuffer
      Parameters:
      index - The index at which the bytes will be written
      value - The medium int value to be written
      Returns:
      This buffer
    • getHexDump

      public String getHexDump(int lengthLimit)
      Description copied from class: IoBuffer
      Return hexdump of this buffer with limited length.
      Specified by:
      getHexDump in class IoBuffer
      Parameters:
      lengthLimit - The maximum number of bytes to dump from the current buffer position.
      Returns:
      hexidecimal representation of this buffer
    • prefixedDataAvailable

      public boolean prefixedDataAvailable(int prefixLength)
      Description copied from class: IoBuffer
      Returns true if this buffer contains a data which has a data length as a prefix and the buffer has remaining data as enough as specified in the data length field. This method is identical with prefixedDataAvailable( prefixLength, Integer.MAX_VALUE ). Please not that using this method can allow DoS (Denial of Service) attack in case the remote peer sends too big data length value. It is recommended to use IoBuffer.prefixedDataAvailable(int, int) instead.
      Specified by:
      prefixedDataAvailable in class IoBuffer
      Parameters:
      prefixLength - the length of the prefix field (1, 2, or 4)
    • prefixedDataAvailable

      public boolean prefixedDataAvailable(int prefixLength, int maxDataLength)
      Description copied from class: IoBuffer
      Returns true if this buffer contains a data which has a data length as a prefix and the buffer has remaining data as enough as specified in the data length field.
      Specified by:
      prefixedDataAvailable in class IoBuffer
      Parameters:
      prefixLength - the length of the prefix field (1, 2, or 4)
      maxDataLength - the allowed maximum of the read data length
    • indexOf

      public int indexOf(byte b)
      Description copied from class: IoBuffer
      Returns the first occurence position of the specified byte from the current position to the current limit.
      Specified by:
      indexOf in class IoBuffer
      Returns:
      -1 if the specified byte is not found
    • getEnum

      public <E extends Enum<E>> E getEnum(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a byte from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnum in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      enumClass - The enum's class object
    • getEnum

      public <E extends Enum<E>> E getEnum(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a byte from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnum in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      index - the index from which the byte will be read
      enumClass - The enum's class object
    • getEnumShort

      public <E extends Enum<E>> E getEnumShort(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a short from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnumShort in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      enumClass - The enum's class object
    • getEnumShort

      public <E extends Enum<E>> E getEnumShort(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a short from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnumShort in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      index - the index from which the bytes will be read
      enumClass - The enum's class object
    • getEnumInt

      public <E extends Enum<E>> E getEnumInt(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads an int from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnumInt in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      enumClass - The enum's class object
    • getEnumInt

      public <E extends Enum<E>> E getEnumInt(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads an int from the buffer and returns the correlating enum constant defined by the specified enum type.
      Specified by:
      getEnumInt in class IoBuffer
      Type Parameters:
      E - The enum type to return
      Parameters:
      index - the index from which the bytes will be read
      enumClass - The enum's class object
    • putEnum

      public IoBuffer putEnum(Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as a byte.
      Specified by:
      putEnum in class IoBuffer
      Parameters:
      e - The enum to write to the buffer
    • putEnum

      public IoBuffer putEnum(int index, Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as a byte.
      Specified by:
      putEnum in class IoBuffer
      Parameters:
      index - The index at which the byte will be written
      e - The enum to write to the buffer
    • putEnumShort

      public IoBuffer putEnumShort(Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as a short.
      Specified by:
      putEnumShort in class IoBuffer
      Parameters:
      e - The enum to write to the buffer
    • putEnumShort

      public IoBuffer putEnumShort(int index, Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as a short.
      Specified by:
      putEnumShort in class IoBuffer
      Parameters:
      index - The index at which the bytes will be written
      e - The enum to write to the buffer
    • putEnumInt

      public IoBuffer putEnumInt(Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as an integer.
      Specified by:
      putEnumInt in class IoBuffer
      Parameters:
      e - The enum to write to the buffer
    • putEnumInt

      public IoBuffer putEnumInt(int index, Enum<?> e)
      Description copied from class: IoBuffer
      Writes an enum's ordinal value to the buffer as an integer.
      Specified by:
      putEnumInt in class IoBuffer
      Parameters:
      index - The index at which the bytes will be written
      e - The enum to write to the buffer
    • getEnumSet

      public <E extends Enum<E>> EnumSet<E> getEnumSet(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a byte sized bit vector and converts it to an EnumSet.

      Each bit is mapped to a value in the specified enum. The least significant bit maps to the first entry in the specified enum and each subsequent bit maps to each subsequent bit as mapped to the subsequent enum value.

      Specified by:
      getEnumSet in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
    • getEnumSet

      public <E extends Enum<E>> EnumSet<E> getEnumSet(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a byte sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSet in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      index - the index from which the byte will be read
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetShort

      public <E extends Enum<E>> EnumSet<E> getEnumSetShort(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a short sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetShort in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetShort

      public <E extends Enum<E>> EnumSet<E> getEnumSetShort(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a short sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetShort in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      index - the index from which the bytes will be read
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetInt

      public <E extends Enum<E>> EnumSet<E> getEnumSetInt(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads an int sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetInt in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetInt

      public <E extends Enum<E>> EnumSet<E> getEnumSetInt(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads an int sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetInt in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      index - the index from which the bytes will be read
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetLong

      public <E extends Enum<E>> EnumSet<E> getEnumSetLong(Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a long sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetLong in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • getEnumSetLong

      public <E extends Enum<E>> EnumSet<E> getEnumSetLong(int index, Class<E> enumClass)
      Description copied from class: IoBuffer
      Reads a long sized bit vector and converts it to an EnumSet.
      Specified by:
      getEnumSetLong in class IoBuffer
      Type Parameters:
      E - the enum type
      Parameters:
      index - the index from which the bytes will be read
      enumClass - the enum class used to create the EnumSet
      Returns:
      the EnumSet representation of the bit vector
      See Also:
    • putEnumSet

      public <E extends Enum<E>> IoBuffer putEnumSet(Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a byte sized bit vector.
      Specified by:
      putEnumSet in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      set - the enum set to write to the buffer
    • putEnumSet

      public <E extends Enum<E>> IoBuffer putEnumSet(int index, Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a byte sized bit vector.
      Specified by:
      putEnumSet in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      index - the index at which the byte will be written
      set - the enum set to write to the buffer
    • putEnumSetShort

      public <E extends Enum<E>> IoBuffer putEnumSetShort(Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a short sized bit vector.
      Specified by:
      putEnumSetShort in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      set - the enum set to write to the buffer
    • putEnumSetShort

      public <E extends Enum<E>> IoBuffer putEnumSetShort(int index, Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a short sized bit vector.
      Specified by:
      putEnumSetShort in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      index - the index at which the bytes will be written
      set - the enum set to write to the buffer
    • putEnumSetInt

      public <E extends Enum<E>> IoBuffer putEnumSetInt(Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as an int sized bit vector.
      Specified by:
      putEnumSetInt in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      set - the enum set to write to the buffer
    • putEnumSetInt

      public <E extends Enum<E>> IoBuffer putEnumSetInt(int index, Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as an int sized bit vector.
      Specified by:
      putEnumSetInt in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      index - the index at which the bytes will be written
      set - the enum set to write to the buffer
    • putEnumSetLong

      public <E extends Enum<E>> IoBuffer putEnumSetLong(Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a long sized bit vector.
      Specified by:
      putEnumSetLong in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      set - the enum set to write to the buffer
    • putEnumSetLong

      public <E extends Enum<E>> IoBuffer putEnumSetLong(int index, Set<E> set)
      Description copied from class: IoBuffer
      Writes the specified Set to the buffer as a long sized bit vector.
      Specified by:
      putEnumSetLong in class IoBuffer
      Type Parameters:
      E - the enum type of the Set
      Parameters:
      index - the index at which the bytes will be written
      set - the enum set to write to the buffer