public class ExpandableBuffer extends Object implements BufferInfo, BufferInfo
ByteBufferAllocator
interface. Internally, this class is backed by an instance of
ByteBuffer
.
This class is not thread safe.
Modifier and Type | Field and Description |
---|---|
protected ByteBuffer |
buffer |
static int |
INPUT_MODE |
static int |
OUTPUT_MODE |
Constructor and Description |
---|
ExpandableBuffer(int bufferSize,
ByteBufferAllocator allocator)
Allocates buffer of the given size using the given allocator.
|
Modifier and Type | Method and Description |
---|---|
int |
available()
Returns available capacity of this buffer.
|
int |
capacity()
Returns the total capacity of this buffer.
|
protected void |
clear()
Clears buffer.
|
protected void |
ensureCapacity(int requiredCapacity)
Ensures the buffer can accommodate the required capacity.
|
protected void |
expand()
Expands buffer's capacity.
|
protected int |
getMode()
Returns the current mode:
|
boolean |
hasData()
Determines if the buffer contains data.
|
int |
length()
Returns the length of this buffer.
|
protected void |
setInputMode()
Sets input mode.
|
protected void |
setOutputMode()
Sets output mode.
|
String |
toString() |
public static final int INPUT_MODE
public static final int OUTPUT_MODE
protected ByteBuffer buffer
public ExpandableBuffer(int bufferSize, ByteBufferAllocator allocator)
bufferSize
- the buffer size.allocator
- allocator to be used to allocate ByteBuffer
s.protected int getMode()
INPUT_MODE
: the buffer is in the input mode.
OUTPUT_MODE
: the buffer is in the output mode.
protected void setOutputMode()
protected void setInputMode()
protected void expand() throws BufferOverflowException
BufferOverflowException
- in case we get over the maximum allowed valueprotected void ensureCapacity(int requiredCapacity)
public int capacity()
capacity
in interface BufferInfo
public boolean hasData()
true
if there is data in the buffer,
false
otherwise.public int length()
length
in interface BufferInfo
public int available()
available
in interface BufferInfo
protected void clear()
Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.