org.apache.mina.core.buffer
Class AbstractIoBuffer

java.lang.Object
  extended by org.apache.mina.core.buffer.IoBuffer
      extended by org.apache.mina.core.buffer.AbstractIoBuffer
All Implemented Interfaces:
java.lang.Comparable<IoBuffer>

public abstract class AbstractIoBuffer
extends IoBuffer

A base implementation of IoBuffer. This implementation assumes that IoBuffer.buf() always returns a correct NIO ByteBuffer instance. Most implementations could extend this class and implement their own buffer management mechanism.

Author:
Apache MINA Project
See Also:
IoBufferAllocator

Constructor Summary
protected AbstractIoBuffer(AbstractIoBuffer parent)
          Creates a new derived buffer.
protected AbstractIoBuffer(IoBufferAllocator allocator, int initialCapacity)
          Creates a new parent buffer.
 
Method Summary
 java.nio.CharBuffer asCharBuffer()
          
 java.nio.DoubleBuffer asDoubleBuffer()
          
 java.nio.FloatBuffer asFloatBuffer()
          
 java.io.InputStream asInputStream()
          Returns an InputStream that reads the data from this buffer.
 java.nio.IntBuffer asIntBuffer()
          
 java.nio.LongBuffer asLongBuffer()
          
 java.io.OutputStream asOutputStream()
          Returns an OutputStream that appends the data into this buffer.
 IoBuffer asReadOnlyBuffer()
          
protected abstract  IoBuffer asReadOnlyBuffer0()
          Implement this method to return the unexpandable read only version of this buffer.
 java.nio.ShortBuffer asShortBuffer()
          
protected abstract  void buf(java.nio.ByteBuffer newBuf)
          Sets the underlying NIO buffer instance.
 int capacity()
          
 IoBuffer capacity(int newCapacity)
          Increases the capacity of this buffer.
 IoBuffer clear()
          
 IoBuffer compact()
          
 int compareTo(IoBuffer that)
          
 IoBuffer duplicate()
          
protected abstract  IoBuffer duplicate0()
          Implement this method to return the unexpandable duplicate of this buffer.
 boolean equals(java.lang.Object o)
          
 IoBuffer expand(int expectedRemaining)
          Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the current position.
 IoBuffer expand(int pos, int expectedRemaining)
          Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the specified position.
 IoBuffer fill(byte value, int size)
          Fills this buffer with the specified value.
 IoBuffer fill(int size)
          Fills this buffer with NUL (0x00).
 IoBuffer fillAndReset(byte value, int size)
          Fills this buffer with the specified value.
 IoBuffer fillAndReset(int size)
          Fills this buffer with NUL (0x00).
 IoBuffer flip()
          
 byte get()
          
 IoBuffer get(byte[] dst)
          
 IoBuffer get(byte[] dst, int offset, int length)
          
 byte get(int index)
          
 char getChar()
          
 char getChar(int index)
          
 double getDouble()
          
 double getDouble(int index)
          
<E extends java.lang.Enum<E>>
E
getEnum(java.lang.Class<E> enumClass)
          Reads a byte from the buffer and returns the correlating enum constant defined by the specified enum type.
<E extends java.lang.Enum<E>>
E
getEnum(int index, java.lang.Class<E> enumClass)
          Reads a byte from the buffer and returns the correlating enum constant defined by the specified enum type.
<E extends java.lang.Enum<E>>
E
getEnumInt(java.lang.Class<E> enumClass)
          Reads an int from the buffer and returns the correlating enum constant defined by the specified enum type.
<E extends java.lang.Enum<E>>
E
getEnumInt(int index, java.lang.Class<E> enumClass)
          Reads an int from the buffer and returns the correlating enum constant defined by the specified enum type.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSet(java.lang.Class<E> enumClass)
          Reads a byte sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSet(int index, java.lang.Class<E> enumClass)
          Reads a byte sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetInt(java.lang.Class<E> enumClass)
          Reads an int sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetInt(int index, java.lang.Class<E> enumClass)
          Reads an int sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetLong(java.lang.Class<E> enumClass)
          Reads a long sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetLong(int index, java.lang.Class<E> enumClass)
          Reads a long sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetShort(java.lang.Class<E> enumClass)
          Reads a short sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
java.util.EnumSet<E>
getEnumSetShort(int index, java.lang.Class<E> enumClass)
          Reads a short sized bit vector and converts it to an EnumSet.
<E extends java.lang.Enum<E>>
E
getEnumShort(java.lang.Class<E> enumClass)
          Reads a short from the buffer and returns the correlating enum constant defined by the specified enum type.
<E extends java.lang.Enum<E>>
E
getEnumShort(int index, java.lang.Class<E> enumClass)
          Reads a short from the buffer and returns the correlating enum constant defined by the specified enum type.
 float getFloat()
          
 float getFloat(int index)
          
 java.lang.String getHexDump()
          Returns hexdump of this buffer.
 java.lang.String getHexDump(int lengthLimit)
          Return hexdump of this buffer with limited length.
 int getInt()
          
 int getInt(int index)
          
 long getLong()
          
 long getLong(int index)
          
 int getMediumInt()
          Relative get method for reading a medium int value.
 int getMediumInt(int index)
          Absolute get method for reading a medium int value.
 java.lang.Object getObject()
          Reads a Java object from the buffer using the context ClassLoader of the current thread.
 java.lang.Object getObject(java.lang.ClassLoader classLoader)
          Reads a Java object from the buffer using the specified classLoader.
 java.lang.String getPrefixedString(java.nio.charset.CharsetDecoder decoder)
          Reads a string which has a 16-bit length field before the actual encoded string, using the specified decoder and returns it.
 java.lang.String getPrefixedString(int prefixLength, java.nio.charset.CharsetDecoder decoder)
          Reads a string which has a length field before the actual encoded string, using the specified decoder and returns it.
 short getShort()
          
 short getShort(int index)
          
 IoBuffer getSlice(int length)
          TODO document me.
 IoBuffer getSlice(int index, int length)
          TODO document me.
 java.lang.String getString(java.nio.charset.CharsetDecoder decoder)
          Reads a NUL-terminated string from this buffer using the specified decoder and returns it.
 java.lang.String getString(int fieldSize, java.nio.charset.CharsetDecoder decoder)
          Reads a NUL-terminated string from this buffer using the specified decoder and returns it.
 short getUnsigned()
          Reads one unsigned byte as a short integer.
 short getUnsigned(int index)
          Reads one byte as an unsigned short integer.
 long getUnsignedInt()
          Reads four bytes unsigned integer.
 long getUnsignedInt(int index)
          Reads four bytes unsigned integer.
 int getUnsignedMediumInt()
          Relative get method for reading an unsigned medium int value.
 int getUnsignedMediumInt(int index)
          Absolute get method for reading an unsigned medium int value.
 int getUnsignedShort()
          Reads two bytes unsigned integer.
 int getUnsignedShort(int index)
          Reads two bytes unsigned integer.
 int hashCode()
          
 boolean hasRemaining()
          
 int indexOf(byte b)
          Returns the first occurence position of the specified byte from the current position to the current limit.
 boolean isAutoExpand()
          Returns true if and only if autoExpand is turned on.
 boolean isAutoShrink()
          Returns true if and only if autoShrink is turned on.
 boolean isDerived()
          returns true if and only if this buffer is derived from other buffer via IoBuffer.duplicate(), IoBuffer.slice() or IoBuffer.asReadOnlyBuffer().
 boolean isDirect()
          
 boolean isReadOnly()
          
 int limit()
          
 IoBuffer limit(int newLimit)
          
 IoBuffer mark()
          
 int markValue()
          Returns the position of the current mark.
 int minimumCapacity()
          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.
 IoBuffer minimumCapacity(int minimumCapacity)
          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.
 java.nio.ByteOrder order()
          
 IoBuffer order(java.nio.ByteOrder bo)
          
 int position()
          
 IoBuffer position(int newPosition)
          
 boolean prefixedDataAvailable(int prefixLength)
          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.
 boolean prefixedDataAvailable(int prefixLength, int maxDataLength)
          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.
 IoBuffer put(byte b)
          
 IoBuffer put(byte[] src)
          
 IoBuffer put(byte[] src, int offset, int length)
          
 IoBuffer put(java.nio.ByteBuffer src)
          Writes the content of the specified src into this buffer.
 IoBuffer put(int index, byte b)
          
 IoBuffer put(IoBuffer src)
          Writes the content of the specified src into this buffer.
 IoBuffer putChar(char value)
          
 IoBuffer putChar(int index, char value)
          
 IoBuffer putDouble(double value)
          
 IoBuffer putDouble(int index, double value)
          
 IoBuffer putEnum(java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as a byte.
 IoBuffer putEnum(int index, java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as a byte.
 IoBuffer putEnumInt(java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as an integer.
 IoBuffer putEnumInt(int index, java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as an integer.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSet(int index, java.util.Set<E> set)
          Writes the specified Set to the buffer as a byte sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSet(java.util.Set<E> set)
          Writes the specified Set to the buffer as a byte sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetInt(int index, java.util.Set<E> set)
          Writes the specified Set to the buffer as an int sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetInt(java.util.Set<E> set)
          Writes the specified Set to the buffer as an int sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetLong(int index, java.util.Set<E> set)
          Writes the specified Set to the buffer as a long sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetLong(java.util.Set<E> set)
          Writes the specified Set to the buffer as a long sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetShort(int index, java.util.Set<E> set)
          Writes the specified Set to the buffer as a short sized bit vector.
<E extends java.lang.Enum<E>>
IoBuffer
putEnumSetShort(java.util.Set<E> set)
          Writes the specified Set to the buffer as a short sized bit vector.
 IoBuffer putEnumShort(java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as a short.
 IoBuffer putEnumShort(int index, java.lang.Enum<?> e)
          Writes an enum's ordinal value to the buffer as a short.
 IoBuffer putFloat(float value)
          
 IoBuffer putFloat(int index, float value)
          
 IoBuffer putInt(int value)
          
 IoBuffer putInt(int index, int value)
          
 IoBuffer putLong(int index, long value)
          
 IoBuffer putLong(long value)
          
 IoBuffer putMediumInt(int value)
          Relative put method for writing a medium int value.
 IoBuffer putMediumInt(int index, int value)
          Absolute put method for writing a medium int value.
 IoBuffer putObject(java.lang.Object o)
          Writes the specified Java object to the buffer.
 IoBuffer putPrefixedString(java.lang.CharSequence in, java.nio.charset.CharsetEncoder encoder)
          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.
 IoBuffer putPrefixedString(java.lang.CharSequence in, int prefixLength, java.nio.charset.CharsetEncoder encoder)
          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.
 IoBuffer putPrefixedString(java.lang.CharSequence val, int prefixLength, int padding, byte padValue, java.nio.charset.CharsetEncoder encoder)
          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.
 IoBuffer putPrefixedString(java.lang.CharSequence in, int prefixLength, int padding, java.nio.charset.CharsetEncoder encoder)
          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.
 IoBuffer putShort(int index, short value)
          
 IoBuffer putShort(short value)
          
 IoBuffer putString(java.lang.CharSequence val, java.nio.charset.CharsetEncoder encoder)
          Writes the content of in into this buffer using the specified encoder.
 IoBuffer putString(java.lang.CharSequence val, int fieldSize, java.nio.charset.CharsetEncoder encoder)
          Writes the content of in into this buffer as a NUL-terminated string using the specified encoder.
 IoBuffer putUnsigned(byte value)
          Writes an unsigned byte into the ByteBuffer
 IoBuffer putUnsigned(int value)
          Writes an unsigned byte into the ByteBuffer
 IoBuffer putUnsigned(int index, byte value)
          Writes an unsigned byte into the ByteBuffer at a specified position
 IoBuffer putUnsigned(int index, int value)
          Writes an unsigned byte into the ByteBuffer at a specified position
 IoBuffer putUnsigned(int index, long value)
          Writes an unsigned byte into the ByteBuffer at a specified position
 IoBuffer putUnsigned(int index, short value)
          Writes an unsigned byte into the ByteBuffer at a specified position
 IoBuffer putUnsigned(long value)
          Writes an unsigned byte into the ByteBuffer
 IoBuffer putUnsigned(short value)
          Writes an unsigned byte into the ByteBuffer
 IoBuffer putUnsignedInt(byte value)
          Writes an unsigned int into the ByteBuffer
 IoBuffer putUnsignedInt(int value)
          Writes an unsigned int into the ByteBuffer
 IoBuffer putUnsignedInt(int index, byte value)
          Writes an unsigned int into the ByteBuffer at a specified position
 IoBuffer putUnsignedInt(int index, int value)
          Writes an unsigned int into the ByteBuffer at a specified position
 IoBuffer putUnsignedInt(int index, long value)
          Writes an unsigned int into the ByteBuffer at a specified position
 IoBuffer putUnsignedInt(int index, short value)
          Writes an unsigned int into the ByteBuffer at a specified position
 IoBuffer putUnsignedInt(long value)
          Writes an unsigned int into the ByteBuffer
 IoBuffer putUnsignedInt(short value)
          Writes an unsigned int into the ByteBuffer
 IoBuffer putUnsignedShort(byte value)
          Writes an unsigned short into the ByteBuffer
 IoBuffer putUnsignedShort(int value)
          Writes an unsigned Short into the ByteBuffer
 IoBuffer putUnsignedShort(int index, byte value)
          Writes an unsigned Short into the ByteBuffer at a specified position
 IoBuffer putUnsignedShort(int index, int value)
          Writes an unsigned Short into the ByteBuffer at a specified position
 IoBuffer putUnsignedShort(int index, long value)
          Writes an unsigned Short into the ByteBuffer at a specified position
 IoBuffer putUnsignedShort(int index, short value)
          Writes an unsigned Short into the ByteBuffer at a specified position
 IoBuffer putUnsignedShort(long value)
          Writes an unsigned Short into the ByteBuffer
 IoBuffer putUnsignedShort(short value)
          Writes an unsigned Short into the ByteBuffer
 int remaining()
          
 IoBuffer reset()
          
 IoBuffer rewind()
          
 IoBuffer setAutoExpand(boolean autoExpand)
          Turns on or off autoExpand.
 IoBuffer setAutoShrink(boolean autoShrink)
          Turns on or off autoShrink.
 IoBuffer shrink()
          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.
 IoBuffer skip(int size)
          Forwards the position of this buffer as the specified size bytes.
 IoBuffer slice()
          
protected abstract  IoBuffer slice0()
          Implement this method to return the unexpandable slice of this buffer.
 IoBuffer sweep()
          Clears this buffer and fills its content with NUL.
 IoBuffer sweep(byte value)
          double Clears this buffer and fills its content with value.
 java.lang.String toString()
          
 
Methods inherited from class org.apache.mina.core.buffer.IoBuffer
allocate, allocate, array, arrayOffset, buf, free, getAllocator, hasArray, isUseDirectBuffer, normalizeCapacity, setAllocator, setUseDirectBuffer, wrap, wrap, wrap
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractIoBuffer

protected AbstractIoBuffer(IoBufferAllocator allocator,
                           int initialCapacity)
Creates a new parent buffer.

Parameters:
allocator - The allocator to use to create new buffers
initialCapacity - The initial buffer capacity when created

AbstractIoBuffer

protected AbstractIoBuffer(AbstractIoBuffer parent)
Creates a new derived buffer. A derived buffer uses an existing buffer properties - the allocator and capacity -.

Parameters:
parent - The buffer we get the properties from
Method Detail

isDirect

public final boolean isDirect()

Specified by:
isDirect in class IoBuffer
See Also:
ByteBuffer.isDirect()

isReadOnly

public final boolean isReadOnly()

Specified by:
isReadOnly in class IoBuffer
See Also:
Buffer.isReadOnly()

buf

protected abstract void buf(java.nio.ByteBuffer newBuf)
Sets the underlying NIO buffer instance.

Parameters:
newBuf - The buffer to store within this IoBuffer

minimumCapacity

public final int minimumCapacity()
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 final IoBuffer minimumCapacity(int minimumCapacity)
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 final int capacity()

Specified by:
capacity in class IoBuffer
See Also:
Buffer.capacity()

capacity

public final IoBuffer capacity(int newCapacity)
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

isAutoExpand

public final boolean isAutoExpand()
Returns true if and only if autoExpand is turned on.

Specified by:
isAutoExpand in class IoBuffer

isAutoShrink

public final boolean isAutoShrink()
Returns true if and only if autoShrink is turned on.

Specified by:
isAutoShrink in class IoBuffer

isDerived

public final boolean isDerived()
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

setAutoExpand

public final IoBuffer setAutoExpand(boolean autoExpand)
Turns on or off autoExpand.

Specified by:
setAutoExpand in class IoBuffer

setAutoShrink

public final IoBuffer setAutoShrink(boolean autoShrink)
Turns on or off autoShrink.

Specified by:
setAutoShrink in class IoBuffer

expand

public final IoBuffer expand(int expectedRemaining)
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

expand

public final IoBuffer expand(int pos,
                             int expectedRemaining)
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

shrink

public final IoBuffer shrink()
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

position

public final int position()

Specified by:
position in class IoBuffer
See Also:
Buffer.position()

position

public final IoBuffer position(int newPosition)

Specified by:
position in class IoBuffer
See Also:
Buffer.position(int)

limit

public final int limit()

Specified by:
limit in class IoBuffer
See Also:
Buffer.limit()

limit

public final IoBuffer limit(int newLimit)

Specified by:
limit in class IoBuffer
See Also:
Buffer.limit(int)

mark

public final IoBuffer mark()

Specified by:
mark in class IoBuffer
See Also:
Buffer.mark()

markValue

public final int markValue()
Returns the position of the current mark. This method returns -1 if no mark is set.

Specified by:
markValue in class IoBuffer

reset

public final IoBuffer reset()

Specified by:
reset in class IoBuffer
See Also:
Buffer.reset()

clear

public final IoBuffer clear()

Specified by:
clear in class IoBuffer
See Also:
Buffer.clear()

sweep

public final IoBuffer sweep()
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 final IoBuffer sweep(byte value)
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 final IoBuffer flip()

Specified by:
flip in class IoBuffer
See Also:
Buffer.flip()

rewind

public final IoBuffer rewind()

Specified by:
rewind in class IoBuffer
See Also:
Buffer.rewind()

remaining

public final int remaining()

Specified by:
remaining in class IoBuffer
See Also:
Buffer.remaining()

hasRemaining

public final boolean hasRemaining()

Specified by:
hasRemaining in class IoBuffer
See Also:
Buffer.hasRemaining()

get

public final byte get()

Specified by:
get in class IoBuffer
See Also:
ByteBuffer.get()

getUnsigned

public final short getUnsigned()
Reads one unsigned byte as a short integer.

Specified by:
getUnsigned in class IoBuffer

put

public final IoBuffer put(byte b)

Specified by:
put in class IoBuffer
See Also:
ByteBuffer.put(byte)

putUnsigned

public IoBuffer putUnsigned(byte value)
Writes an unsigned byte into the ByteBuffer

Specified by:
putUnsigned in class IoBuffer
Parameters:
value - the byte to write

putUnsigned

public IoBuffer putUnsigned(int index,
                            byte value)
Writes an unsigned byte into the ByteBuffer at a specified position

Specified by:
putUnsigned in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the byte to write

putUnsigned

public IoBuffer putUnsigned(short value)
Writes an unsigned byte into the ByteBuffer

Specified by:
putUnsigned in class IoBuffer
Parameters:
value - the short to write

putUnsigned

public IoBuffer putUnsigned(int index,
                            short value)
Writes an unsigned byte into the ByteBuffer at a specified position

Specified by:
putUnsigned in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the short to write

putUnsigned

public IoBuffer putUnsigned(int value)
Writes an unsigned byte into the ByteBuffer

Specified by:
putUnsigned in class IoBuffer
Parameters:
value - the int to write

putUnsigned

public IoBuffer putUnsigned(int index,
                            int value)
Writes an unsigned byte into the ByteBuffer at a specified position

Specified by:
putUnsigned in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the int to write

putUnsigned

public IoBuffer putUnsigned(long value)
Writes an unsigned byte into the ByteBuffer

Specified by:
putUnsigned in class IoBuffer
Parameters:
value - the long to write

putUnsigned

public IoBuffer putUnsigned(int index,
                            long value)
Writes an unsigned byte into the ByteBuffer at a specified position

Specified by:
putUnsigned in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the long to write

get

public final byte get(int index)

Specified by:
get in class IoBuffer
See Also:
ByteBuffer.get(int)

getUnsigned

public final short getUnsigned(int index)
Reads one byte as an unsigned short integer.

Specified by:
getUnsigned in class IoBuffer

put

public final IoBuffer put(int index,
                          byte b)

Specified by:
put in class IoBuffer
See Also:
ByteBuffer.put(int, byte)

get

public final IoBuffer get(byte[] dst,
                          int offset,
                          int length)

Specified by:
get in class IoBuffer
See Also:
ByteBuffer.get(byte[], int, int)

put

public final IoBuffer put(java.nio.ByteBuffer src)
Writes the content of the specified src into this buffer.

Specified by:
put in class IoBuffer

put

public final IoBuffer put(byte[] src,
                          int offset,
                          int length)

Specified by:
put in class IoBuffer
See Also:
ByteBuffer.put(byte[], int, int)

compact

public final IoBuffer compact()

Specified by:
compact in class IoBuffer
See Also:
ByteBuffer.compact()

order

public final java.nio.ByteOrder order()

Specified by:
order in class IoBuffer
See Also:
ByteBuffer.order()

order

public final IoBuffer order(java.nio.ByteOrder bo)

Specified by:
order in class IoBuffer
See Also:
ByteBuffer.order(ByteOrder)

getChar

public final char getChar()

Specified by:
getChar in class IoBuffer
See Also:
ByteBuffer.getChar()

putChar

public final IoBuffer putChar(char value)

Specified by:
putChar in class IoBuffer
See Also:
ByteBuffer.putChar(char)

getChar

public final char getChar(int index)

Specified by:
getChar in class IoBuffer
See Also:
ByteBuffer.getChar(int)

putChar

public final IoBuffer putChar(int index,
                              char value)

Specified by:
putChar in class IoBuffer
See Also:
ByteBuffer.putChar(int, char)

asCharBuffer

public final java.nio.CharBuffer asCharBuffer()

Specified by:
asCharBuffer in class IoBuffer
See Also:
ByteBuffer.asCharBuffer()

getShort

public final short getShort()

Specified by:
getShort in class IoBuffer
See Also:
ByteBuffer.getShort()

putShort

public final IoBuffer putShort(short value)

Specified by:
putShort in class IoBuffer
See Also:
ByteBuffer.putShort(short)

getShort

public final short getShort(int index)

Specified by:
getShort in class IoBuffer
See Also:
ByteBuffer.getShort()

putShort

public final IoBuffer putShort(int index,
                               short value)

Specified by:
putShort in class IoBuffer
See Also:
ByteBuffer.putShort(int, short)

asShortBuffer

public final java.nio.ShortBuffer asShortBuffer()

Specified by:
asShortBuffer in class IoBuffer
See Also:
ByteBuffer.asShortBuffer()

getInt

public final int getInt()

Specified by:
getInt in class IoBuffer
See Also:
ByteBuffer.getInt()

putInt

public final IoBuffer putInt(int value)

Specified by:
putInt in class IoBuffer
See Also:
ByteBuffer.putInt(int)

putUnsignedInt

public final IoBuffer putUnsignedInt(byte value)
Writes an unsigned int into the ByteBuffer

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
value - the byte to write

putUnsignedInt

public final IoBuffer putUnsignedInt(int index,
                                     byte value)
Writes an unsigned int into the ByteBuffer at a specified position

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the byte to write

putUnsignedInt

public final IoBuffer putUnsignedInt(short value)
Writes an unsigned int into the ByteBuffer

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
value - the short to write

putUnsignedInt

public final IoBuffer putUnsignedInt(int index,
                                     short value)
Writes an unsigned int into the ByteBuffer at a specified position

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the short to write

putUnsignedInt

public final IoBuffer putUnsignedInt(int value)
Writes an unsigned int into the ByteBuffer

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
value - the int to write

putUnsignedInt

public final IoBuffer putUnsignedInt(int index,
                                     int value)
Writes an unsigned int into the ByteBuffer at a specified position

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the int to write

putUnsignedInt

public final IoBuffer putUnsignedInt(long value)
Writes an unsigned int into the ByteBuffer

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
value - the long to write

putUnsignedInt

public final IoBuffer putUnsignedInt(int index,
                                     long value)
Writes an unsigned int into the ByteBuffer at a specified position

Specified by:
putUnsignedInt in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the long to write

putUnsignedShort

public final IoBuffer putUnsignedShort(byte value)
Writes an unsigned short into the ByteBuffer

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
value - the byte to write

putUnsignedShort

public final IoBuffer putUnsignedShort(int index,
                                       byte value)
Writes an unsigned Short into the ByteBuffer at a specified position

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the byte to write

putUnsignedShort

public final IoBuffer putUnsignedShort(short value)
Writes an unsigned Short into the ByteBuffer

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
value - the short to write

putUnsignedShort

public final IoBuffer putUnsignedShort(int index,
                                       short value)
Writes an unsigned Short into the ByteBuffer at a specified position

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the short to write

putUnsignedShort

public final IoBuffer putUnsignedShort(int value)
Writes an unsigned Short into the ByteBuffer

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
value - the int to write

putUnsignedShort

public final IoBuffer putUnsignedShort(int index,
                                       int value)
Writes an unsigned Short into the ByteBuffer at a specified position

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the int to write

putUnsignedShort

public final IoBuffer putUnsignedShort(long value)
Writes an unsigned Short into the ByteBuffer

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
value - the long to write

putUnsignedShort

public final IoBuffer putUnsignedShort(int index,
                                       long value)
Writes an unsigned Short into the ByteBuffer at a specified position

Specified by:
putUnsignedShort in class IoBuffer
Parameters:
index - the position in the buffer to write the value
value - the long to write

getInt

public final int getInt(int index)

Specified by:
getInt in class IoBuffer
See Also:
ByteBuffer.getInt(int)

putInt

public final IoBuffer putInt(int index,
                             int value)

Specified by:
putInt in class IoBuffer
See Also:
ByteBuffer.putInt(int, int)

asIntBuffer

public final java.nio.IntBuffer asIntBuffer()

Specified by:
asIntBuffer in class IoBuffer
See Also:
ByteBuffer.asIntBuffer()

getLong

public final long getLong()

Specified by:
getLong in class IoBuffer
See Also:
ByteBuffer.getLong()

putLong

public final IoBuffer putLong(long value)

Specified by:
putLong in class IoBuffer
See Also:
ByteBuffer.putLong(int, long)

getLong

public final long getLong(int index)

Specified by:
getLong in class IoBuffer
See Also:
ByteBuffer.getLong(int)

putLong

public final IoBuffer putLong(int index,
                              long value)

Specified by:
putLong in class IoBuffer
See Also:
ByteBuffer.putLong(int, long)

asLongBuffer

public final java.nio.LongBuffer asLongBuffer()

Specified by:
asLongBuffer in class IoBuffer
See Also:
ByteBuffer.asLongBuffer()

getFloat

public final float getFloat()

Specified by:
getFloat in class IoBuffer
See Also:
ByteBuffer.getFloat()

putFloat

public final IoBuffer putFloat(float value)

Specified by:
putFloat in class IoBuffer
See Also:
ByteBuffer.putFloat(float)

getFloat

public final float getFloat(int index)

Specified by:
getFloat in class IoBuffer
See Also:
ByteBuffer.getFloat(int)

putFloat

public final IoBuffer putFloat(int index,
                               float value)

Specified by:
putFloat in class IoBuffer
See Also:
ByteBuffer.putFloat(int, float)

asFloatBuffer

public final java.nio.FloatBuffer asFloatBuffer()

Specified by:
asFloatBuffer in class IoBuffer
See Also:
ByteBuffer.asFloatBuffer()

getDouble

public final double getDouble()

Specified by:
getDouble in class IoBuffer
See Also:
ByteBuffer.getDouble()

putDouble

public final IoBuffer putDouble(double value)

Specified by:
putDouble in class IoBuffer
See Also:
ByteBuffer.putDouble(double)

getDouble

public final double getDouble(int index)

Specified by:
getDouble in class IoBuffer
See Also:
ByteBuffer.getDouble(int)

putDouble

public final IoBuffer putDouble(int index,
                                double value)

Specified by:
putDouble in class IoBuffer
See Also:
ByteBuffer.putDouble(int, double)

asDoubleBuffer

public final java.nio.DoubleBuffer asDoubleBuffer()

Specified by:
asDoubleBuffer in class IoBuffer
See Also:
ByteBuffer.asDoubleBuffer()

asReadOnlyBuffer

public final IoBuffer asReadOnlyBuffer()

Specified by:
asReadOnlyBuffer in class IoBuffer
See Also:
ByteBuffer.asReadOnlyBuffer()

asReadOnlyBuffer0

protected abstract IoBuffer asReadOnlyBuffer0()
Implement this method to return the unexpandable read only version of this buffer.


duplicate

public final IoBuffer duplicate()

Specified by:
duplicate in class IoBuffer
See Also:
ByteBuffer.duplicate()

duplicate0

protected abstract IoBuffer duplicate0()
Implement this method to return the unexpandable duplicate of this buffer.


slice

public final IoBuffer slice()

Specified by:
slice in class IoBuffer
See Also:
ByteBuffer.slice()

getSlice

public final IoBuffer getSlice(int index,
                               int length)
TODO document me.

Specified by:
getSlice in class IoBuffer

getSlice

public final IoBuffer getSlice(int length)
TODO document me.

Specified by:
getSlice in class IoBuffer

slice0

protected abstract IoBuffer slice0()
Implement this method to return the unexpandable slice of this buffer.


hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object o)

Overrides:
equals in class java.lang.Object

compareTo

public int compareTo(IoBuffer that)


toString

public java.lang.String toString()

Overrides:
toString in class java.lang.Object

get

public IoBuffer get(byte[] dst)

Specified by:
get in class IoBuffer
See Also:
ByteBuffer.get(byte[])

put

public IoBuffer put(IoBuffer src)
Writes the content of the specified src into this buffer.

Specified by:
put in class IoBuffer

put

public IoBuffer put(byte[] src)

Specified by:
put in class IoBuffer
See Also:
ByteBuffer.put(byte[])

getUnsignedShort

public int getUnsignedShort()
Reads two bytes unsigned integer.

Specified by:
getUnsignedShort in class IoBuffer

getUnsignedShort

public int getUnsignedShort(int index)
Reads two bytes unsigned integer.

Specified by:
getUnsignedShort in class IoBuffer

getUnsignedInt

public long getUnsignedInt()
Reads four bytes unsigned integer.

Specified by:
getUnsignedInt in class IoBuffer

getMediumInt

public int getMediumInt()
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()
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)
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)
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)
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)
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

getUnsignedInt

public long getUnsignedInt(int index)
Reads four bytes unsigned integer.

Specified by:
getUnsignedInt in class IoBuffer
Parameters:
index - the position in the buffer to write the value

asInputStream

public java.io.InputStream asInputStream()
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 java.io.OutputStream asOutputStream()
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

getHexDump

public java.lang.String getHexDump()
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

getHexDump

public java.lang.String getHexDump(int lengthLimit)
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

getString

public java.lang.String getString(java.nio.charset.CharsetDecoder decoder)
                           throws java.nio.charset.CharacterCodingException
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:
java.nio.charset.CharacterCodingException

getString

public java.lang.String getString(int fieldSize,
                                  java.nio.charset.CharsetDecoder decoder)
                           throws java.nio.charset.CharacterCodingException
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:
java.nio.charset.CharacterCodingException

putString

public IoBuffer putString(java.lang.CharSequence val,
                          java.nio.charset.CharsetEncoder encoder)
                   throws java.nio.charset.CharacterCodingException
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:
java.nio.charset.CharacterCodingException

putString

public IoBuffer putString(java.lang.CharSequence val,
                          int fieldSize,
                          java.nio.charset.CharsetEncoder encoder)
                   throws java.nio.charset.CharacterCodingException
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
fieldSize - the maximum number of bytes to write
Throws:
java.nio.charset.CharacterCodingException

getPrefixedString

public java.lang.String getPrefixedString(java.nio.charset.CharsetDecoder decoder)
                                   throws java.nio.charset.CharacterCodingException
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:
java.nio.charset.CharacterCodingException

getPrefixedString

public java.lang.String getPrefixedString(int prefixLength,
                                          java.nio.charset.CharsetDecoder decoder)
                                   throws java.nio.charset.CharacterCodingException
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)
decoder - the decoder to use for decoding the string
Returns:
the prefixed string
Throws:
java.nio.charset.CharacterCodingException - when decoding fails
java.nio.BufferUnderflowException - when there is not enough data available

putPrefixedString

public IoBuffer putPrefixedString(java.lang.CharSequence in,
                                  java.nio.charset.CharsetEncoder encoder)
                           throws java.nio.charset.CharacterCodingException
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:
java.nio.charset.CharacterCodingException

putPrefixedString

public IoBuffer putPrefixedString(java.lang.CharSequence in,
                                  int prefixLength,
                                  java.nio.charset.CharsetEncoder encoder)
                           throws java.nio.charset.CharacterCodingException
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
prefixLength - the length of the length field (1, 2, or 4)
Throws:
java.nio.charset.CharacterCodingException

putPrefixedString

public IoBuffer putPrefixedString(java.lang.CharSequence in,
                                  int prefixLength,
                                  int padding,
                                  java.nio.charset.CharsetEncoder encoder)
                           throws java.nio.charset.CharacterCodingException
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
prefixLength - the length of the length field (1, 2, or 4)
padding - the number of padded NULs (1 (or 0), 2, or 4)
Throws:
java.nio.charset.CharacterCodingException

putPrefixedString

public IoBuffer putPrefixedString(java.lang.CharSequence val,
                                  int prefixLength,
                                  int padding,
                                  byte padValue,
                                  java.nio.charset.CharsetEncoder encoder)
                           throws java.nio.charset.CharacterCodingException
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
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:
java.nio.charset.CharacterCodingException

getObject

public java.lang.Object getObject()
                           throws java.lang.ClassNotFoundException
Reads a Java object from the buffer using the context ClassLoader of the current thread.

Specified by:
getObject in class IoBuffer
Throws:
java.lang.ClassNotFoundException

getObject

public java.lang.Object getObject(java.lang.ClassLoader classLoader)
                           throws java.lang.ClassNotFoundException
Reads a Java object from the buffer using the specified classLoader.

Specified by:
getObject in class IoBuffer
Throws:
java.lang.ClassNotFoundException

putObject

public IoBuffer putObject(java.lang.Object o)
Writes the specified Java object to the buffer.

Specified by:
putObject in class IoBuffer

prefixedDataAvailable

public boolean prefixedDataAvailable(int prefixLength)
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)
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)
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

skip

public IoBuffer skip(int size)
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)
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)
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)
Fills this buffer with NUL (0x00). This method moves buffer position forward.

Specified by:
fill in class IoBuffer

fillAndReset

public IoBuffer fillAndReset(int size)
Fills this buffer with NUL (0x00). This method does not change buffer position.

Specified by:
fillAndReset in class IoBuffer

getEnum

public <E extends java.lang.Enum<E>> E getEnum(java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> E getEnum(int index,
                                               java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> E getEnumShort(java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> E getEnumShort(int index,
                                                    java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> E getEnumInt(java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> E getEnumInt(int index,
                                                  java.lang.Class<E> enumClass)
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(java.lang.Enum<?> e)
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,
                        java.lang.Enum<?> e)
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(java.lang.Enum<?> e)
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,
                             java.lang.Enum<?> e)
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(java.lang.Enum<?> e)
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,
                           java.lang.Enum<?> e)
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 java.lang.Enum<E>> java.util.EnumSet<E> getEnumSet(java.lang.Class<E> enumClass)
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 java.lang.Enum<E>> java.util.EnumSet<E> getEnumSet(int index,
                                                                     java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetShort

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetShort(java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetShort

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetShort(int index,
                                                                          java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetInt

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetInt(java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetInt

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetInt(int index,
                                                                        java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetLong

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetLong(java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

getEnumSetLong

public <E extends java.lang.Enum<E>> java.util.EnumSet<E> getEnumSetLong(int index,
                                                                         java.lang.Class<E> enumClass)
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:
IoBuffer.getEnumSet(Class)

putEnumSet

public <E extends java.lang.Enum<E>> IoBuffer putEnumSet(java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSet(int index,
                                                         java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetShort(java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetShort(int index,
                                                              java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetInt(java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetInt(int index,
                                                            java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetLong(java.util.Set<E> set)
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 java.lang.Enum<E>> IoBuffer putEnumSetLong(int index,
                                                             java.util.Set<E> set)
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


Copyright © 2004-2011 Apache MINA Project. All Rights Reserved.