public static final class ReadableBuffer.ByteBufferReader extends java.lang.Object implements ReadableBuffer
ReadableBuffer.ByteBufferReader
Constructor and Description |
---|
ByteBufferReader(java.nio.ByteBuffer buffer) |
Modifier and Type | Method and Description |
---|---|
static ReadableBuffer.ByteBufferReader |
allocate(int size) |
byte[] |
array()
Returns the primitive array that backs this buffer if one exists and the
buffer is not read-only.
|
int |
arrayOffset()
Returns the offset into the backing array of the first element in the buffer.
|
java.nio.ByteBuffer |
byteBuffer() |
int |
capacity()
Returns the capacity of the backing buffer of this ReadableBuffer
|
ReadableBuffer |
clear()
Resets the buffer position to zero and sets the limit to the buffer capacity,
the mark value is discarded if set.
|
ReadableBuffer |
duplicate()
Creates a duplicate
ReadableBuffer to this instance. |
boolean |
equals(java.lang.Object other) |
ReadableBuffer |
flip()
Sets the buffer limit to the current position and the position is set to zero, the
mark value reset to undefined.
|
byte |
get()
Reads the byte at the current position and advances the position by 1.
|
ReadableBuffer |
get(byte[] data)
A bulk read method that copies bytes from this buffer into the target byte array.
|
ReadableBuffer |
get(byte[] data,
int offset,
int length)
A bulk read method that copies bytes from this buffer into the target byte array.
|
byte |
get(int index)
Reads the byte at the given index, the buffer position is not affected.
|
ReadableBuffer |
get(WritableBuffer target)
Copy data from this buffer to the target buffer starting from the current
position and continuing until either this buffer's remaining bytes are
consumed or the target is full.
|
double |
getDouble()
Reads eight bytes from the buffer and returns them as an double value.
|
float |
getFloat()
Reads four bytes from the buffer and returns them as an float value.
|
int |
getInt()
Reads four bytes from the buffer and returns them as an integer value.
|
long |
getLong()
Reads eight bytes from the buffer and returns them as an long value.
|
short |
getShort()
Reads two bytes from the buffer and returns them as an short value.
|
boolean |
hasArray()
Returns true if this ReadableBuffer is backed by an array which can be
accessed by the
ReadableBuffer.array() and ReadableBuffer.arrayOffset() methods. |
int |
hashCode() |
boolean |
hasRemaining() |
int |
limit() |
ReadableBuffer |
limit(int limit)
Sets the current read limit of this buffer to the given value.
|
ReadableBuffer |
mark()
Mark the current position of this buffer which can be returned to after a
read operation by calling
ReadableBuffer.reset() . |
int |
position() |
ReadableBuffer |
position(int position)
Sets the current position of this buffer to the given value.
|
java.lang.String |
readString(java.nio.charset.CharsetDecoder decoder)
Decodes a String from the buffer using the provided
CharsetDecoder
starting the decode at the current position and reading until the limit is
reached. |
java.lang.String |
readUTF8()
Reads a UTF-8 encoded String from the buffer starting the decode at the
current position and reading until the limit is reached.
|
ReadableBuffer |
reclaimRead()
Compact the backing storage of this ReadableBuffer, possibly freeing previously-read
portions of pooled data or reducing the number of backing arrays if present.
|
int |
remaining() |
ReadableBuffer |
reset()
Reset the buffer's position to a previously marked value, the mark should remain
set after calling this method.
|
ReadableBuffer |
rewind()
Resets the buffer position to zero and clears and previously set mark.
|
ReadableBuffer |
slice()
Creates a new ReadableBuffer instance that is a view of the readable portion of
this buffer.
|
java.lang.String |
toString() |
static ReadableBuffer.ByteBufferReader |
wrap(byte[] array) |
static ReadableBuffer.ByteBufferReader |
wrap(java.nio.ByteBuffer buffer) |
public static ReadableBuffer.ByteBufferReader allocate(int size)
public static ReadableBuffer.ByteBufferReader wrap(java.nio.ByteBuffer buffer)
public static ReadableBuffer.ByteBufferReader wrap(byte[] array)
public int capacity()
ReadableBuffer
capacity
in interface ReadableBuffer
public byte get()
ReadableBuffer
get
in interface ReadableBuffer
public byte get(int index)
ReadableBuffer
get
in interface ReadableBuffer
index
- The index in the buffer from which to read the byte.public int getInt()
ReadableBuffer
getInt
in interface ReadableBuffer
public long getLong()
ReadableBuffer
getLong
in interface ReadableBuffer
public short getShort()
ReadableBuffer
getShort
in interface ReadableBuffer
public float getFloat()
ReadableBuffer
getFloat
in interface ReadableBuffer
public double getDouble()
ReadableBuffer
getDouble
in interface ReadableBuffer
public int limit()
limit
in interface ReadableBuffer
public ReadableBuffer get(byte[] data, int offset, int length)
ReadableBuffer
get
in interface ReadableBuffer
data
- The byte array to copy bytes read from this buffer.offset
- The offset into the given array where the copy starts.length
- The number of bytes to copy into the target array.public ReadableBuffer get(byte[] data)
ReadableBuffer
get
in interface ReadableBuffer
data
- The byte array to copy bytes read from this buffer.public ReadableBuffer flip()
ReadableBuffer
flip
in interface ReadableBuffer
ReadableBuffer
.public ReadableBuffer position(int position)
ReadableBuffer
position
in interface ReadableBuffer
position
- The new position to set for this buffer.ReadableBuffer
.public ReadableBuffer slice()
ReadableBuffer
ReadableBuffer.remaining()
method, the mark
will be undefined.slice
in interface ReadableBuffer
public ReadableBuffer limit(int limit)
ReadableBuffer
limit
in interface ReadableBuffer
limit
- The new read limit to set for this buffer.ReadableBuffer
.public int remaining()
remaining
in interface ReadableBuffer
public int position()
position
in interface ReadableBuffer
public boolean hasRemaining()
hasRemaining
in interface ReadableBuffer
public ReadableBuffer duplicate()
ReadableBuffer
ReadableBuffer
to this instance.
The duplicated buffer will have the same position, limit and mark as this buffer. The two buffers share the same backing data.
duplicate
in interface ReadableBuffer
ReadableBuffer
.public java.nio.ByteBuffer byteBuffer()
byteBuffer
in interface ReadableBuffer
public java.lang.String readUTF8()
ReadableBuffer
readUTF8
in interface ReadableBuffer
public java.lang.String readString(java.nio.charset.CharsetDecoder decoder) throws java.nio.charset.CharacterCodingException
ReadableBuffer
CharsetDecoder
starting the decode at the current position and reading until the limit is
reached. The position is advanced to the limit once this method returns.
If there is no bytes remaining in the buffer when this method is called a
null is returned.readString
in interface ReadableBuffer
java.nio.charset.CharacterCodingException
- if the encoding is invalid for any reason.public boolean hasArray()
ReadableBuffer
ReadableBuffer.array()
and ReadableBuffer.arrayOffset()
methods.hasArray
in interface ReadableBuffer
public byte[] array()
ReadableBuffer
ReadableBuffer.hasArray()
method before calling this method.array
in interface ReadableBuffer
public int arrayOffset()
ReadableBuffer
ReadableBuffer.hasArray()
method before calling this method.arrayOffset
in interface ReadableBuffer
public ReadableBuffer reclaimRead()
ReadableBuffer
This is an optional operation and care should be taken in its implementation.
reclaimRead
in interface ReadableBuffer
public ReadableBuffer mark()
ReadableBuffer
ReadableBuffer.reset()
.mark
in interface ReadableBuffer
ReadableBuffer
.public ReadableBuffer reset()
ReadableBuffer
reset
in interface ReadableBuffer
ReadableBuffer
.public ReadableBuffer rewind()
ReadableBuffer
rewind
in interface ReadableBuffer
ReadableBuffer
.public ReadableBuffer clear()
ReadableBuffer
clear
in interface ReadableBuffer
ReadableBuffer
.public ReadableBuffer get(WritableBuffer target)
ReadableBuffer
get
in interface ReadableBuffer
target
- The WritableBuffer to transfer this buffer's data to.public java.lang.String toString()
toString
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object