Class AbstractIoBuffer
- java.lang.Object
-
- org.apache.mina.core.buffer.IoBuffer
-
- org.apache.mina.core.buffer.AbstractIoBuffer
-
- All Implemented Interfaces:
java.lang.Comparable<IoBuffer>
public abstract class AbstractIoBuffer extends IoBuffer
A base implementation ofIoBuffer. This implementation assumes thatIoBuffer.buf()always returns a correct NIOByteBufferinstance. Most implementations could extend this class and implement their own buffer management mechanism.- Author:
- Apache MINA Project
- See Also:
IoBufferAllocator
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractIoBuffer(AbstractIoBuffer parent)Creates a new derived buffer.protectedAbstractIoBuffer(IoBufferAllocator allocator, int initialCapacity)Creates a new parent buffer.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.nio.CharBufferasCharBuffer()java.nio.DoubleBufferasDoubleBuffer()java.nio.FloatBufferasFloatBuffer()java.io.InputStreamasInputStream()java.nio.IntBufferasIntBuffer()java.nio.LongBufferasLongBuffer()java.io.OutputStreamasOutputStream()IoBufferasReadOnlyBuffer()protected abstract IoBufferasReadOnlyBuffer0()Implement this method to return the unexpandable read only version of this buffer.java.nio.ShortBufferasShortBuffer()protected abstract voidbuf(java.nio.ByteBuffer newBuf)Sets the underlying NIO buffer instance.intcapacity()IoBuffercapacity(int newCapacity)Increases the capacity of this buffer.IoBufferclear()IoBuffercompact()intcompareTo(IoBuffer that)IoBufferduplicate()protected abstract IoBufferduplicate0()Implement this method to return the unexpandable duplicate of this buffer.booleanequals(java.lang.Object o)IoBufferexpand(int expectedRemaining)Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the current position.IoBufferexpand(int pos, int expectedRemaining)Changes the capacity and limit of this buffer so this buffer get the specified expectedRemaining room from the specified position.IoBufferfill(byte value, int size)Fills this buffer with the specified value.IoBufferfill(int size)Fills this buffer withNUL (0x00).IoBufferfillAndReset(byte value, int size)Fills this buffer with the specified value.IoBufferfillAndReset(int size)Fills this buffer withNUL (0x00).IoBufferflip()byteget()IoBufferget(byte[] dst)IoBufferget(byte[] dst, int offset, int length)byteget(int index)chargetChar()chargetChar(int index)doublegetDouble()doublegetDouble(int index)<E extends java.lang.Enum<E>>
EgetEnum(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>>
EgetEnum(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>>
EgetEnumInt(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>>
EgetEnumInt(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.Set<E>getEnumSet(int index, java.lang.Class<E> enumClass)Reads a byte sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSet(java.lang.Class<E> enumClass)Reads a byte sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetInt(int index, java.lang.Class<E> enumClass)Reads an int sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetInt(java.lang.Class<E> enumClass)Reads an int sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetLong(int index, java.lang.Class<E> enumClass)Reads a long sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetLong(java.lang.Class<E> enumClass)Reads a long sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetShort(int index, java.lang.Class<E> enumClass)Reads a short sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
java.util.Set<E>getEnumSetShort(java.lang.Class<E> enumClass)Reads a short sized bit vector and converts it to anEnumSet.<E extends java.lang.Enum<E>>
EgetEnumShort(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.<E extends java.lang.Enum<E>>
EgetEnumShort(java.lang.Class<E> enumClass)Reads a short from the buffer and returns the correlating enum constant defined by the specified enum type.floatgetFloat()floatgetFloat(int index)java.lang.StringgetHexDump()Returns hexdump of this buffer.java.lang.StringgetHexDump(int lengthLimit)Return hexdump of this buffer with limited length.intgetInt()intgetInt(int index)longgetLong()longgetLong(int index)intgetMediumInt()Relative get method for reading a medium int value.intgetMediumInt(int index)Absolute get method for reading a medium int value.java.lang.ObjectgetObject()Reads a Java object from the buffer using the contextClassLoaderof the current thread.java.lang.ObjectgetObject(java.lang.ClassLoader classLoader)Reads a Java object from the buffer using the specified classLoader.java.lang.StringgetPrefixedString(int prefixLength, java.nio.charset.CharsetDecoder decoder)Reads a string which has a length field before the actual encoded string, using the specifieddecoderand returns it.java.lang.StringgetPrefixedString(java.nio.charset.CharsetDecoder decoder)Reads a string which has a 16-bit length field before the actual encoded string, using the specifieddecoderand returns it.shortgetShort()shortgetShort(int index)IoBuffergetSlice(int length)Get a new IoBuffer containing a slice of the current bufferIoBuffergetSlice(int index, int length)Get a new IoBuffer containing a slice of the current bufferjava.lang.StringgetString(int fieldSize, java.nio.charset.CharsetDecoder decoder)Reads aNUL-terminated string from this buffer using the specifieddecoderand returns it.java.lang.StringgetString(java.nio.charset.CharsetDecoder decoder)Reads aNUL-terminated string from this buffer using the specifieddecoderand returns it.shortgetUnsigned()Reads one unsigned byte as a short integer.shortgetUnsigned(int index)Reads one byte as an unsigned short integer.longgetUnsignedInt()Reads four bytes unsigned integer.longgetUnsignedInt(int index)Reads four bytes unsigned integer.intgetUnsignedMediumInt()Relative get method for reading an unsigned medium int value.intgetUnsignedMediumInt(int index)Absolute get method for reading an unsigned medium int value.intgetUnsignedShort()Reads two bytes unsigned integer.intgetUnsignedShort(int index)Reads two bytes unsigned integer.inthashCode()booleanhasRemaining()intindexOf(byte b)Returns the first occurrence position of the specified byte from the current position to the current limit.booleanisAutoExpand()booleanisAutoShrink()booleanisDerived()booleanisDirect()booleanisReadOnly()intlimit()IoBufferlimit(int newLimit)IoBuffermark()intmarkValue()intminimumCapacity()IoBufferminimumCapacity(int minimumCapacity)Sets the minimum capacity of this buffer which is used to determine the new capacity of the buffer shrunk byIoBuffer.compact()andIoBuffer.shrink()operation.java.nio.ByteOrderorder()IoBufferorder(java.nio.ByteOrder bo)intposition()IoBufferposition(int newPosition)booleanprefixedDataAvailable(int prefixLength)booleanprefixedDataAvailable(int prefixLength, int maxDataLength)IoBufferput(byte b)IoBufferput(byte[] src)IoBufferput(byte[] src, int offset, int length)IoBufferput(int index, byte b)IoBufferput(java.nio.ByteBuffer src)Writes the content of the specified src into this buffer.IoBufferput(IoBuffer src)Writes the content of the specified src into this buffer.IoBufferputChar(char value)IoBufferputChar(int index, char value)IoBufferputDouble(double value)IoBufferputDouble(int index, double value)IoBufferputEnum(int index, java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as a byte.IoBufferputEnum(java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as a byte.IoBufferputEnumInt(int index, java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as an integer.IoBufferputEnumInt(java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as an integer.<E extends java.lang.Enum<E>>
IoBufferputEnumSet(int index, java.util.Set<E> set)Writes the specifiedSetto the buffer as a byte sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSet(java.util.Set<E> set)Writes the specifiedSetto the buffer as a byte sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetInt(int index, java.util.Set<E> set)Writes the specifiedSetto the buffer as an int sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetInt(java.util.Set<E> set)Writes the specifiedSetto the buffer as an int sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetLong(int index, java.util.Set<E> set)Writes the specifiedSetto the buffer as a long sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetLong(java.util.Set<E> set)Writes the specifiedSetto the buffer as a long sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetShort(int index, java.util.Set<E> set)Writes the specifiedSetto the buffer as a short sized bit vector.<E extends java.lang.Enum<E>>
IoBufferputEnumSetShort(java.util.Set<E> set)Writes the specifiedSetto the buffer as a short sized bit vector.IoBufferputEnumShort(int index, java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as a short.IoBufferputEnumShort(java.lang.Enum<?> e)Writes an enum's ordinal value to the buffer as a short.IoBufferputFloat(float value)IoBufferputFloat(int index, float value)IoBufferputInt(int value)IoBufferputInt(int index, int value)IoBufferputLong(int index, long value)IoBufferputLong(long value)IoBufferputMediumInt(int value)Relative put method for writing a medium int value.IoBufferputMediumInt(int index, int value)Absolute put method for writing a medium int value.IoBufferputObject(java.lang.Object o)Writes the specified Java object to the buffer.IoBufferputPrefixedString(java.lang.CharSequence val, int prefixLength, int padding, byte padValue, java.nio.charset.CharsetEncoder encoder)Writes the content ofvalinto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder.IoBufferputPrefixedString(java.lang.CharSequence in, int prefixLength, int padding, java.nio.charset.CharsetEncoder encoder)Writes the content ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder.IoBufferputPrefixedString(java.lang.CharSequence in, int prefixLength, java.nio.charset.CharsetEncoder encoder)Writes the content ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder.IoBufferputPrefixedString(java.lang.CharSequence in, java.nio.charset.CharsetEncoder encoder)Writes the content ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder.IoBufferputShort(int index, short value)IoBufferputShort(short value)IoBufferputString(java.lang.CharSequence val, int fieldSize, java.nio.charset.CharsetEncoder encoder)Writes the content ofininto this buffer as aNUL-terminated string using the specifiedencoder.IoBufferputString(java.lang.CharSequence val, java.nio.charset.CharsetEncoder encoder)Writes the content ofininto this buffer using the specifiedencoder.IoBufferputUnsigned(byte value)Writes an unsigned byte into the ByteBufferIoBufferputUnsigned(int value)Writes an unsigned byte into the ByteBufferIoBufferputUnsigned(int index, byte value)Writes an unsigned byte into the ByteBuffer at a specified positionIoBufferputUnsigned(int index, int value)Writes an unsigned byte into the ByteBuffer at a specified positionIoBufferputUnsigned(int index, long value)Writes an unsigned byte into the ByteBuffer at a specified positionIoBufferputUnsigned(int index, short value)Writes an unsigned byte into the ByteBuffer at a specified positionIoBufferputUnsigned(long value)Writes an unsigned byte into the ByteBufferIoBufferputUnsigned(short value)Writes an unsigned byte into the ByteBufferIoBufferputUnsignedInt(byte value)Writes an unsigned int into the ByteBufferIoBufferputUnsignedInt(int value)Writes an unsigned int into the ByteBufferIoBufferputUnsignedInt(int index, byte value)Writes an unsigned int into the ByteBuffer at a specified positionIoBufferputUnsignedInt(int index, int value)Writes an unsigned int into the ByteBuffer at a specified positionIoBufferputUnsignedInt(int index, long value)Writes an unsigned int into the ByteBuffer at a specified positionIoBufferputUnsignedInt(int index, short value)Writes an unsigned int into the ByteBuffer at a specified positionIoBufferputUnsignedInt(long value)Writes an unsigned int into the ByteBufferIoBufferputUnsignedInt(short value)Writes an unsigned int into the ByteBufferIoBufferputUnsignedShort(byte value)Writes an unsigned short into the ByteBufferIoBufferputUnsignedShort(int value)Writes an unsigned Short into the ByteBufferIoBufferputUnsignedShort(int index, byte value)Writes an unsigned Short into the ByteBuffer at a specified positionIoBufferputUnsignedShort(int index, int value)Writes an unsigned Short into the ByteBuffer at a specified positionIoBufferputUnsignedShort(int index, long value)Writes an unsigned Short into the ByteBuffer at a specified positionIoBufferputUnsignedShort(int index, short value)Writes an unsigned Short into the ByteBuffer at a specified positionIoBufferputUnsignedShort(long value)Writes an unsigned Short into the ByteBufferIoBufferputUnsignedShort(short value)Writes an unsigned Short into the ByteBufferintremaining()IoBufferreset()IoBufferrewind()IoBuffersetAutoExpand(boolean autoExpand)Turns on or off autoExpand.IoBuffersetAutoShrink(boolean autoShrink)Turns on or off autoShrink.IoBuffershrink()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.IoBufferskip(int size)Forwards the position of this buffer as the specifiedsizebytes.IoBufferslice()protected abstract IoBufferslice0()Implement this method to return the unexpandable slice of this buffer.IoBuffersweep()Clears this buffer and fills its content with NUL.IoBuffersweep(byte value)double Clears this buffer and fills its content with value.java.lang.StringtoString()-
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
-
-
-
-
Constructor Detail
-
AbstractIoBuffer
protected AbstractIoBuffer(IoBufferAllocator allocator, int initialCapacity)
Creates a new parent buffer.- Parameters:
allocator- The allocator to use to create new buffersinitialCapacity- 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()
-
isReadOnly
public final boolean isReadOnly()
- Specified by:
isReadOnlyin classIoBuffer- Returns:
- true if the buffer is readOnly
- 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()
- Specified by:
minimumCapacityin classIoBuffer- Returns:
- the minimum capacity of this buffer which is used to determine
the new capacity of the buffer shrunk by the
IoBuffer.compact()andIoBuffer.shrink()operation. The default value is the initial capacity of the buffer.
-
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 byIoBuffer.compact()andIoBuffer.shrink()operation. The default value is the initial capacity of the buffer.- Specified by:
minimumCapacityin classIoBuffer- Parameters:
minimumCapacity- the wanted minimum capacity- Returns:
- the underlying NIO
ByteBufferinstance.
-
capacity
public final int 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 the original buffer. 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.
Note that the IoBuffer is replaced, it's not copied.
Assuming a buffer contains N bytes, its position is 0 and its current capacity is C, here are the resulting buffer if we set the new capacity to a value V < C and V > C :Initial buffer : 0 L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit capacity V <= C : 0 L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit newCapacity V > C : 0 L C V +--------+-----------------------+ |XXXXXXXX| : | +--------+-----------------------+ ^ ^ ^ ^ | | | | pos limit oldCapacity newCapacity The buffer has been increased.
-
isAutoExpand
public final boolean isAutoExpand()
- Specified by:
isAutoExpandin classIoBuffer- Returns:
- true if and only if autoExpand is turned on.
-
isAutoShrink
public final boolean isAutoShrink()
- Specified by:
isAutoShrinkin classIoBuffer- Returns:
- true if and only if autoShrink is turned on.
-
isDerived
public final boolean isDerived()
- Specified by:
isDerivedin classIoBuffer- Returns:
- true if and only if this buffer is derived from another
buffer via one of the
IoBuffer.duplicate(),IoBuffer.slice()orIoBuffer.asReadOnlyBuffer()methods.
-
setAutoExpand
public final IoBuffer setAutoExpand(boolean autoExpand)
Turns on or off autoExpand.- Specified by:
setAutoExpandin classIoBuffer- Parameters:
autoExpand- The flag value to set- Returns:
- The modified IoBuffer instance
-
setAutoShrink
public final IoBuffer setAutoShrink(boolean autoShrink)
Turns on or off autoShrink.- Specified by:
setAutoShrinkin classIoBuffer- Parameters:
autoShrink- The flag value to set- Returns:
- The modified IoBuffer instance
-
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.
Assuming a buffer contains N bytes, its position is P and its current capacity is C, here are the resulting buffer if we call the expand method with a expectedRemaining value V :Initial buffer : 0 L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit capacity ( pos + V ) <= L, no change : 0 L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit newCapacity You can still put ( L - pos ) bytes in the buffer ( pos + V ) > L & ( pos + V ) <= C : 0 L C +------------+------+ |XXXXXXXX:...| | +------------+------+ ^ ^ ^ | | | pos newlimit newCapacity You can now put ( L - pos + V ) bytes in the buffer. ( pos + V ) > C 0 L C +-------------------+----+ |XXXXXXXX:..........:....| +------------------------+ ^ ^ | | pos +-- newlimit | +-- newCapacity You can now put ( L - pos + V ) bytes in the buffer, which limit is now equals to the capacity.Note that the expecting remaining bytes starts at the current position. In all those examples, the position is 0.
-
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. Assuming a buffer contains N bytes, its position is P and its current capacity is C, here are the resulting buffer if we call the expand method with a expectedRemaining value V :Initial buffer : P L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit capacity ( pos + V ) <= L, no change : P L C +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ | | | pos limit newCapacity You can still put ( L - pos ) bytes in the buffer ( pos + V ) > L & ( pos + V ) <= C : P L C +------------+------+ |XXXXXXXX:...| | +------------+------+ ^ ^ ^ | | | pos newlimit newCapacity You can now put ( L - pos + V) bytes in the buffer. ( pos + V ) > C P L C +-------------------+----+ |XXXXXXXX:..........:....| +------------------------+ ^ ^ | | pos +-- newlimit | +-- newCapacity You can now put ( L - pos + V ) bytes in the buffer, which limit is now equals to the capacity.Note that the expecting remaining bytes starts at the current position. In all those examples, the position is P.
-
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 thanIoBuffer.minimumCapacity()
. The mark is discarded once the capacity changes.
Typically, a call to this method tries to remove as much unused bytes as possible, dividing by two the initial capacity until it can't without obtaining a new capacity lower than theIoBuffer.minimumCapacity(). For instance, if the limit is 7 and the capacity is 36, with a minimum capacity of 8, shrinking the buffer will left a capacity of 9 (we go down from 36 to 18, then from 18 to 9).Initial buffer : +--------+----------+ |XXXXXXXX| | +--------+----------+ ^ ^ ^ ^ | | | | pos | | capacity | | | +-- minimumCapacity | +-- limit Resulting buffer : +--------+--+-+ |XXXXXXXX| | | +--------+--+-+ ^ ^ ^ ^ | | | | | | | +-- new capacity | | | pos | +-- minimum capacity | +-- limit
-
position
public final int position()
-
position
public final IoBuffer position(int newPosition)
-
limit
public final int limit()
-
limit
public final IoBuffer limit(int newLimit)
-
mark
public final IoBuffer mark()
-
markValue
public final int markValue()
-
reset
public final IoBuffer reset()
-
clear
public final IoBuffer 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.
-
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.
-
flip
public final IoBuffer flip()
-
rewind
public final IoBuffer rewind()
-
remaining
public final int remaining()
-
hasRemaining
public final boolean hasRemaining()
- Specified by:
hasRemainingin classIoBuffer- Returns:
- true if there are some remaining bytes in the buffer
- See Also:
Buffer.hasRemaining()
-
get
public final byte get()
-
getUnsigned
public final short getUnsigned()
Reads one unsigned byte as a short integer.- Specified by:
getUnsignedin classIoBuffer- Returns:
- the unsigned short at the current position
-
put
public final IoBuffer put(byte b)
-
putUnsigned
public IoBuffer putUnsigned(byte value)
Writes an unsigned byte into the ByteBuffer- Specified by:
putUnsignedin classIoBuffer- Parameters:
value- the byte to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(int index, byte value)
Writes an unsigned byte into the ByteBuffer at a specified position- Specified by:
putUnsignedin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the byte to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(short value)
Writes an unsigned byte into the ByteBuffer- Specified by:
putUnsignedin classIoBuffer- Parameters:
value- the short to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(int index, short value)
Writes an unsigned byte into the ByteBuffer at a specified position- Specified by:
putUnsignedin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the short to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(int value)
Writes an unsigned byte into the ByteBuffer- Specified by:
putUnsignedin classIoBuffer- Parameters:
value- the int to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(int index, int value)
Writes an unsigned byte into the ByteBuffer at a specified position- Specified by:
putUnsignedin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the int to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(long value)
Writes an unsigned byte into the ByteBuffer- Specified by:
putUnsignedin classIoBuffer- Parameters:
value- the long to write- Returns:
- the modified IoBuffer
-
putUnsigned
public IoBuffer putUnsigned(int index, long value)
Writes an unsigned byte into the ByteBuffer at a specified position- Specified by:
putUnsignedin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the long to write- Returns:
- the modified IoBuffer
-
get
public final byte get(int index)
-
getUnsigned
public final short getUnsigned(int index)
Reads one byte as an unsigned short integer.- Specified by:
getUnsignedin classIoBuffer- Parameters:
index- The position for which we want to read an unsigned byte- Returns:
- the unsigned byte at the given position
-
put
public final IoBuffer put(int index, byte b)
-
get
public final IoBuffer get(byte[] dst, int offset, int length)
-
put
public final IoBuffer put(java.nio.ByteBuffer src)
Writes the content of the specified src into this buffer.
-
put
public final IoBuffer put(byte[] src, int offset, int length)
-
compact
public final IoBuffer compact()
-
order
public final java.nio.ByteOrder order()
-
order
public final IoBuffer order(java.nio.ByteOrder bo)
-
getChar
public final char getChar()
-
putChar
public final IoBuffer putChar(char value)
-
getChar
public final char getChar(int index)
-
putChar
public final IoBuffer putChar(int index, char value)
-
asCharBuffer
public final java.nio.CharBuffer asCharBuffer()
- Specified by:
asCharBufferin classIoBuffer- Returns:
- a new CharBuffer
- See Also:
ByteBuffer.asCharBuffer()
-
getShort
public final short getShort()
-
putShort
public final IoBuffer putShort(short value)
-
getShort
public final short getShort(int index)
-
putShort
public final IoBuffer putShort(int index, short value)
-
asShortBuffer
public final java.nio.ShortBuffer asShortBuffer()
- Specified by:
asShortBufferin classIoBuffer- Returns:
- A ShortBuffer from this IoBuffer
- See Also:
ByteBuffer.asShortBuffer()
-
getInt
public final int getInt()
-
putInt
public final IoBuffer putInt(int value)
-
putUnsignedInt
public final IoBuffer putUnsignedInt(byte value)
Writes an unsigned int into the ByteBuffer- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
value- the byte to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(int index, byte value)
Writes an unsigned int into the ByteBuffer at a specified position- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the byte to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(short value)
Writes an unsigned int into the ByteBuffer- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
value- the short to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(int index, short value)
Writes an unsigned int into the ByteBuffer at a specified position- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the short to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(int value)
Writes an unsigned int into the ByteBuffer- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
value- the int to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(int index, int value)
Writes an unsigned int into the ByteBuffer at a specified position- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the int to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(long value)
Writes an unsigned int into the ByteBuffer- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
value- the long to write- Returns:
- the modified IoBuffer
-
putUnsignedInt
public final IoBuffer putUnsignedInt(int index, long value)
Writes an unsigned int into the ByteBuffer at a specified position- Specified by:
putUnsignedIntin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the long to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(byte value)
Writes an unsigned short into the ByteBuffer- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
value- the byte to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(int index, byte value)
Writes an unsigned Short into the ByteBuffer at a specified position- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the byte to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(short value)
Writes an unsigned Short into the ByteBuffer- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
value- the short to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(int index, short value)
Writes an unsigned Short into the ByteBuffer at a specified position- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
index- the position in the buffer to write the unsigned shortvalue- the unsigned short to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(int value)
Writes an unsigned Short into the ByteBuffer- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
value- the int to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(int index, int value)
Writes an unsigned Short into the ByteBuffer at a specified position- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
index- the position in the buffer to write the valuevalue- the int to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(long value)
Writes an unsigned Short into the ByteBuffer- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
value- the long to write- Returns:
- the modified IoBuffer
-
putUnsignedShort
public final IoBuffer putUnsignedShort(int index, long value)
Writes an unsigned Short into the ByteBuffer at a specified position- Specified by:
putUnsignedShortin classIoBuffer- Parameters:
index- the position in the buffer to write the shortvalue- the long to write- Returns:
- the modified IoBuffer
-
getInt
public final int getInt(int index)
-
putInt
public final IoBuffer putInt(int index, int value)
-
asIntBuffer
public final java.nio.IntBuffer asIntBuffer()
- Specified by:
asIntBufferin classIoBuffer- Returns:
- the modified IoBuffer
- See Also:
ByteBuffer.asIntBuffer()
-
getLong
public final long getLong()
-
putLong
public final IoBuffer putLong(long value)
-
getLong
public final long getLong(int index)
-
putLong
public final IoBuffer putLong(int index, long value)
-
asLongBuffer
public final java.nio.LongBuffer asLongBuffer()
- Specified by:
asLongBufferin classIoBuffer- Returns:
- a LongBuffer from this IoBffer
- See Also:
ByteBuffer.asLongBuffer()
-
getFloat
public final float getFloat()
-
putFloat
public final IoBuffer putFloat(float value)
-
getFloat
public final float getFloat(int index)
-
putFloat
public final IoBuffer putFloat(int index, float value)
-
asFloatBuffer
public final java.nio.FloatBuffer asFloatBuffer()
- Specified by:
asFloatBufferin classIoBuffer- Returns:
- A FloatBuffer from this IoBuffer
- See Also:
ByteBuffer.asFloatBuffer()
-
getDouble
public final double getDouble()
-
putDouble
public final IoBuffer putDouble(double value)
-
getDouble
public final double getDouble(int index)
-
putDouble
public final IoBuffer putDouble(int index, double value)
-
asDoubleBuffer
public final java.nio.DoubleBuffer asDoubleBuffer()
- Specified by:
asDoubleBufferin classIoBuffer- Returns:
- A buffer containing Double
- See Also:
ByteBuffer.asDoubleBuffer()
-
asReadOnlyBuffer
public final IoBuffer asReadOnlyBuffer()
- Specified by:
asReadOnlyBufferin classIoBuffer- Returns:
- the modified IoBuffer
- See Also:
ByteBuffer.asReadOnlyBuffer()
-
asReadOnlyBuffer0
protected abstract IoBuffer asReadOnlyBuffer0()
Implement this method to return the unexpandable read only version of this buffer.- Returns:
- the IoBoffer instance
-
duplicate
public final IoBuffer duplicate()
-
duplicate0
protected abstract IoBuffer duplicate0()
Implement this method to return the unexpandable duplicate of this buffer.- Returns:
- the IoBoffer instance
-
slice
public final IoBuffer slice()
-
getSlice
public final IoBuffer getSlice(int index, int length)
Get a new IoBuffer containing a slice of the current buffer
-
getSlice
public final IoBuffer getSlice(int length)
Get a new IoBuffer containing a slice of the current buffer
-
slice0
protected abstract IoBuffer slice0()
Implement this method to return the unexpandable slice of this buffer.- Returns:
- the IoBoffer instance
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
compareTo
public int compareTo(IoBuffer that)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
get
public IoBuffer get(byte[] dst)
-
put
public IoBuffer put(byte[] src)
-
getUnsignedShort
public int getUnsignedShort()
Reads two bytes unsigned integer.- Specified by:
getUnsignedShortin classIoBuffer- Returns:
- The read unsigned short
-
getUnsignedShort
public int getUnsignedShort(int index)
Reads two bytes unsigned integer.- Specified by:
getUnsignedShortin classIoBuffer- Parameters:
index- The index in the IoBuffer where we will read an unsigned short from- Returns:
- the unsigned short at the given position
-
getUnsignedInt
public long getUnsignedInt()
Reads four bytes unsigned integer.- Specified by:
getUnsignedIntin classIoBuffer- Returns:
- The unsigned int read
-
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:
getMediumIntin classIoBuffer- 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:
getUnsignedMediumIntin classIoBuffer- 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:
getMediumIntin classIoBuffer- 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:
getUnsignedMediumIntin classIoBuffer- 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:
putMediumIntin classIoBuffer- Parameters:
value- The medium int value to be written- Returns:
- the modified IoBuffer
-
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:
putMediumIntin classIoBuffer- Parameters:
index- The index at which the bytes will be writtenvalue- The medium int value to be written- Returns:
- the modified IoBuffer
-
getUnsignedInt
public long getUnsignedInt(int index)
Reads four bytes unsigned integer.- Specified by:
getUnsignedIntin classIoBuffer- Parameters:
index- The index in the IoBuffer where we will read an unsigned int from- Returns:
- The long at the given position
-
asInputStream
public java.io.InputStream asInputStream()
- Specified by:
asInputStreamin classIoBuffer- Returns:
- an
InputStreamthat reads the data from this buffer.InputStream.read()returns -1 if the buffer position reaches to the limit.
-
asOutputStream
public java.io.OutputStream asOutputStream()
- Specified by:
asOutputStreamin classIoBuffer- Returns:
- an
OutputStreamthat appends the data into this buffer. Please note that theOutputStream.write(int)will throw aBufferOverflowExceptioninstead of anIOExceptionin case of buffer overflow. Please set autoExpand property by callingIoBuffer.setAutoExpand(boolean)to prevent the unexpected runtime exception.
-
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:
getHexDumpin classIoBuffer- Returns:
- hexidecimal representation of this buffer
-
getHexDump
public java.lang.String getHexDump(int lengthLimit)
Return hexdump of this buffer with limited length.- Specified by:
getHexDumpin classIoBuffer- 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.CharacterCodingExceptionReads aNUL-terminated string from this buffer using the specifieddecoderand returns it. This method reads until the limit of this buffer if no NUL is found.
-
getString
public java.lang.String getString(int fieldSize, java.nio.charset.CharsetDecoder decoder) throws java.nio.charset.CharacterCodingExceptionReads aNUL-terminated string from this buffer using the specifieddecoderand returns it.
-
putString
public IoBuffer putString(java.lang.CharSequence val, java.nio.charset.CharsetEncoder encoder) throws java.nio.charset.CharacterCodingException
Writes the content ofininto this buffer using the specifiedencoder. This method doesn't terminate string with NUL. You have to do it by yourself.
-
putString
public IoBuffer putString(java.lang.CharSequence val, int fieldSize, java.nio.charset.CharsetEncoder encoder) throws java.nio.charset.CharacterCodingException
Writes the content ofininto this buffer as aNUL-terminated string using the specifiedencoder.If the charset name of the encoder is UTF-16, you cannot specify odd
fieldSize, and this method will append twoNULs as a terminator.Please note that this method doesn't terminate with
NULif the input string is longer than fieldSize.- Specified by:
putStringin classIoBuffer- Parameters:
val- The CharSequence to put in the IoBufferfieldSize- the maximum number of bytes to writeencoder- The CharsetEncoder to use- Returns:
- The modified IoBuffer
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the String
-
getPrefixedString
public java.lang.String getPrefixedString(java.nio.charset.CharsetDecoder decoder) throws java.nio.charset.CharacterCodingExceptionReads a string which has a 16-bit length field before the actual encoded string, using the specifieddecoderand returns it. This method is a shortcut for getPrefixedString(2, decoder).- Specified by:
getPrefixedStringin classIoBuffer- Parameters:
decoder- The CharsetDecoder to use- Returns:
- The read String
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the String
-
getPrefixedString
public java.lang.String getPrefixedString(int prefixLength, java.nio.charset.CharsetDecoder decoder) throws java.nio.charset.CharacterCodingExceptionReads a string which has a length field before the actual encoded string, using the specifieddecoderand returns it.- Specified by:
getPrefixedStringin classIoBuffer- 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 failsjava.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 ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder. This method is a shortcut for putPrefixedString(in, 2, 0, encoder).- Specified by:
putPrefixedStringin classIoBuffer- Parameters:
in- The CharSequence to put in the IoBufferencoder- The CharsetEncoder to use- Returns:
- The modified IoBuffer
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the CharSequence
-
putPrefixedString
public IoBuffer putPrefixedString(java.lang.CharSequence in, int prefixLength, java.nio.charset.CharsetEncoder encoder) throws java.nio.charset.CharacterCodingException
Writes the content ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder. This method is a shortcut for putPrefixedString(in, prefixLength, 0, encoder).- Specified by:
putPrefixedStringin classIoBuffer- Parameters:
in- The CharSequence to put in the IoBufferprefixLength- the length of the length field (1, 2, or 4)encoder- The CharsetEncoder to use- Returns:
- The modified IoBuffer
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the CharSequence
-
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 ofininto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder. This method is a shortcut for putPrefixedString(in, prefixLength, padding, ( byte ) 0, encoder)- Specified by:
putPrefixedStringin classIoBuffer- Parameters:
in- The CharSequence to put in the IoBufferprefixLength- the length of the length field (1, 2, or 4)padding- the number of padded NULs (1 (or 0), 2, or 4)encoder- The CharsetEncoder to use- Returns:
- The modified IoBuffer
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the CharSequence
-
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 ofvalinto this buffer as a string which has a 16-bit length field before the actual encoded string, using the specifiedencoder.- Specified by:
putPrefixedStringin classIoBuffer- Parameters:
val- The CharSequence to put in teh IoBufferprefixLength- 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 bytesencoder- The CharsetEncoder to use- Returns:
- The modified IoBuffer
- Throws:
java.nio.charset.CharacterCodingException- When we have an error while decoding the CharSequence
-
getObject
public java.lang.Object getObject() throws java.lang.ClassNotFoundExceptionReads a Java object from the buffer using the contextClassLoaderof the current thread.
-
getObject
public java.lang.Object getObject(java.lang.ClassLoader classLoader) throws java.lang.ClassNotFoundExceptionReads a Java object from the buffer using the specified classLoader.
-
putObject
public IoBuffer putObject(java.lang.Object o)
Writes the specified Java object to the buffer.
-
prefixedDataAvailable
public boolean prefixedDataAvailable(int prefixLength)
- Specified by:
prefixedDataAvailablein classIoBuffer- Parameters:
prefixLength- the length of the prefix field (1, 2, or 4)- 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.
-
prefixedDataAvailable
public boolean prefixedDataAvailable(int prefixLength, int maxDataLength)- Specified by:
prefixedDataAvailablein classIoBuffer- Parameters:
prefixLength- the length of the prefix field (1, 2, or 4)maxDataLength- the allowed maximum of the read data length- 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.
-
indexOf
public int indexOf(byte b)
Returns the first occurrence position of the specified byte from the current position to the current limit.
-
skip
public IoBuffer skip(int size)
Forwards the position of this buffer as the specifiedsizebytes.
-
fill
public IoBuffer fill(byte value, int size)
Fills this buffer with the specified value. This method moves buffer position forward.
-
fillAndReset
public IoBuffer fillAndReset(byte value, int size)
Fills this buffer with the specified value. This method does not change buffer position.- Specified by:
fillAndResetin classIoBuffer- Parameters:
value- The value to fill the IoBuffer withsize- The added size- Returns:
- The modified IoBuffer
-
fill
public IoBuffer fill(int size)
Fills this buffer withNUL (0x00). This method moves buffer position forward.
-
fillAndReset
public IoBuffer fillAndReset(int size)
Fills this buffer withNUL (0x00). This method does not change buffer position.- Specified by:
fillAndResetin classIoBuffer- Parameters:
size- The added size- Returns:
- The modified 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.
-
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.
-
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:
getEnumShortin classIoBuffer- Type Parameters:
E- The enum type to return- Parameters:
enumClass- The enum's class object- Returns:
- The correlated enum constant
-
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:
getEnumShortin classIoBuffer- Type Parameters:
E- The enum type to return- Parameters:
index- the index from which the bytes will be readenumClass- The enum's class object- Returns:
- The correlated enum constant
-
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:
getEnumIntin classIoBuffer- Type Parameters:
E- The enum type to return- Parameters:
enumClass- The enum's class object- Returns:
- The correlated enum constant
-
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:
getEnumIntin classIoBuffer- Type Parameters:
E- The enum type to return- Parameters:
index- the index from which the bytes will be readenumClass- The enum's class object- Returns:
- The correlated enum constant
-
putEnum
public IoBuffer putEnum(java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as a byte.
-
putEnum
public IoBuffer putEnum(int index, java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as a byte.
-
putEnumShort
public IoBuffer putEnumShort(java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as a short.- Specified by:
putEnumShortin classIoBuffer- Parameters:
e- The enum to write to the buffer- Returns:
- The modified IoBuffer
-
putEnumShort
public IoBuffer putEnumShort(int index, java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as a short.- Specified by:
putEnumShortin classIoBuffer- Parameters:
index- The index at which the bytes will be writtene- The enum to write to the buffer- Returns:
- The modified IoBuffer
-
putEnumInt
public IoBuffer putEnumInt(java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as an integer.- Specified by:
putEnumIntin classIoBuffer- Parameters:
e- The enum to write to the buffer- Returns:
- The modified IoBuffer
-
putEnumInt
public IoBuffer putEnumInt(int index, java.lang.Enum<?> e)
Writes an enum's ordinal value to the buffer as an integer.- Specified by:
putEnumIntin classIoBuffer- Parameters:
index- The index at which the bytes will be writtene- The enum to write to the buffer- Returns:
- The modified IoBuffer
-
getEnumSet
public <E extends java.lang.Enum<E>> java.util.Set<E> getEnumSet(java.lang.Class<E> enumClass)
Reads a byte sized bit vector and converts it to anEnumSet.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:
getEnumSetin classIoBuffer- 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.Set<E> getEnumSet(int index, java.lang.Class<E> enumClass)Reads a byte sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetin classIoBuffer- Type Parameters:
E- the enum type- Parameters:
index- the index from which the byte will be readenumClass- 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.Set<E> getEnumSetShort(java.lang.Class<E> enumClass)
Reads a short sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetShortin classIoBuffer- 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.Set<E> getEnumSetShort(int index, java.lang.Class<E> enumClass)Reads a short sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetShortin classIoBuffer- Type Parameters:
E- the enum type- Parameters:
index- the index from which the bytes will be readenumClass- 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.Set<E> getEnumSetInt(java.lang.Class<E> enumClass)
Reads an int sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetIntin classIoBuffer- 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.Set<E> getEnumSetInt(int index, java.lang.Class<E> enumClass)Reads an int sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetIntin classIoBuffer- Type Parameters:
E- the enum type- Parameters:
index- the index from which the bytes will be readenumClass- 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.Set<E> getEnumSetLong(java.lang.Class<E> enumClass)
Reads a long sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetLongin classIoBuffer- 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.Set<E> getEnumSetLong(int index, java.lang.Class<E> enumClass)Reads a long sized bit vector and converts it to anEnumSet.- Specified by:
getEnumSetLongin classIoBuffer- Type Parameters:
E- the enum type- Parameters:
index- the index from which the bytes will be readenumClass- 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 specifiedSetto the buffer as a byte sized bit vector.- Specified by:
putEnumSetin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
set- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSet
public <E extends java.lang.Enum<E>> IoBuffer putEnumSet(int index, java.util.Set<E> set)
Writes the specifiedSetto the buffer as a byte sized bit vector.- Specified by:
putEnumSetin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
index- the index at which the byte will be writtenset- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetShort
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetShort(java.util.Set<E> set)
Writes the specifiedSetto the buffer as a short sized bit vector.- Specified by:
putEnumSetShortin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
set- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetShort
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetShort(int index, java.util.Set<E> set)
Writes the specifiedSetto the buffer as a short sized bit vector.- Specified by:
putEnumSetShortin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
index- the index at which the bytes will be writtenset- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetInt
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetInt(java.util.Set<E> set)
Writes the specifiedSetto the buffer as an int sized bit vector.- Specified by:
putEnumSetIntin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
set- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetInt
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetInt(int index, java.util.Set<E> set)
Writes the specifiedSetto the buffer as an int sized bit vector.- Specified by:
putEnumSetIntin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
index- the index at which the bytes will be writtenset- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetLong
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetLong(java.util.Set<E> set)
Writes the specifiedSetto the buffer as a long sized bit vector.- Specified by:
putEnumSetLongin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
set- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
putEnumSetLong
public <E extends java.lang.Enum<E>> IoBuffer putEnumSetLong(int index, java.util.Set<E> set)
Writes the specifiedSetto the buffer as a long sized bit vector.- Specified by:
putEnumSetLongin classIoBuffer- Type Parameters:
E- the enum type of the Set- Parameters:
index- the index at which the bytes will be writtenset- the enum set to write to the buffer- Returns:
- the modified IoBuffer
-
-