public abstract class TempBufferHolder
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
private static class |
TempBufferHolder.HardTempBufferHolder
TempBufferHolder which has a hard reference to the buffer.
|
private static class |
TempBufferHolder.NoneTempBufferHolder
TempBufferHolder which has a no reference to the buffer.
|
private static class |
TempBufferHolder.SoftTempBufferHolder
TempBufferHolder which has a soft reference to the buffer.
|
static class |
TempBufferHolder.Type
The caching type for the buffer holder.
|
| Modifier and Type | Field and Description |
|---|---|
private boolean |
_autoRewind
whether or not every get automatically rewinds the buffer
|
private int |
_modCount
the mod count of the current buffer (changes on every realloc)
|
private java.nio.ByteOrder |
_order
ByteOrder for all allocated buffers
|
private static java.lang.ref.Reference<java.nio.ByteBuffer> |
EMPTY_BUFFER_REF |
| Modifier | Constructor and Description |
|---|---|
protected |
TempBufferHolder(boolean autoRewind,
java.nio.ByteOrder order) |
| Modifier and Type | Method and Description |
|---|---|
abstract void |
clear()
Releases any referenced memory.
|
java.nio.ByteBuffer |
getBuffer(PageChannel pageChannel,
int size)
Returns a ByteBuffer of at least the given size, with the limit set to
the given size, and the predefined byteOrder.
|
abstract java.nio.ByteBuffer |
getExistingBuffer() |
int |
getModCount() |
java.nio.ByteBuffer |
getPageBuffer(PageChannel pageChannel)
Returns a ByteBuffer of at least the defined page size, with the limit
set to the page size, and the predefined byteOrder.
|
static TempBufferHolder |
newHolder(TempBufferHolder.Type type,
boolean autoRewind)
Creates a new TempBufferHolder.
|
static TempBufferHolder |
newHolder(TempBufferHolder.Type type,
boolean autoRewind,
java.nio.ByteOrder order)
Creates a new TempBufferHolder.
|
protected abstract void |
setNewBuffer(java.nio.ByteBuffer newBuffer)
Sets a new buffer for this holder.
|
private static final java.lang.ref.Reference<java.nio.ByteBuffer> EMPTY_BUFFER_REF
private final boolean _autoRewind
private final java.nio.ByteOrder _order
private int _modCount
protected TempBufferHolder(boolean autoRewind,
java.nio.ByteOrder order)
public int getModCount()
public static TempBufferHolder newHolder(TempBufferHolder.Type type, boolean autoRewind)
type - the type of reference desired for any created bufferautoRewind - whether or not every get automatically rewinds the
bufferpublic static TempBufferHolder newHolder(TempBufferHolder.Type type, boolean autoRewind, java.nio.ByteOrder order)
type - the type of reference desired for any created bufferautoRewind - whether or not every get automatically rewinds the
bufferorder - byte order for all allocated bufferspublic final java.nio.ByteBuffer getPageBuffer(PageChannel pageChannel)
public final java.nio.ByteBuffer getBuffer(PageChannel pageChannel, int size)
public abstract java.nio.ByteBuffer getExistingBuffer()
null if nonepublic abstract void clear()
protected abstract void setNewBuffer(java.nio.ByteBuffer newBuffer)