public final class TempPageHolder
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private TempBufferHolder |
_buffer |
private int |
_bufferModCount
the last "modification" count of the buffer that this holder observed.
|
private int |
_pageNumber |
| Modifier | Constructor and Description |
|---|---|
private |
TempPageHolder(TempBufferHolder.Type type) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Forces any current page data to be disregarded (any
getPage/setPage call must reload page data) and
releases any referenced memory. |
java.nio.ByteBuffer |
getPage(PageChannel pageChannel) |
int |
getPageNumber() |
void |
invalidate()
Forces any current page data to be disregarded (any
getPage/setPage call must reload page data). |
static TempPageHolder |
newHolder(TempBufferHolder.Type type)
Creates a new TempPageHolder.
|
void |
possiblyInvalidate(int modifiedPageNumber,
java.nio.ByteBuffer modifiedBuffer)
Forces any current page data to be disregarded if it matches the given
page number (any
getPage/setPage call must
reload page data) and is not the given buffer. |
java.nio.ByteBuffer |
setNewPage(PageChannel pageChannel)
Allocates a new buffer in the database (with undefined data) and returns
a new empty buffer.
|
java.nio.ByteBuffer |
setPage(PageChannel pageChannel,
int pageNumber)
Sets the current page number and returns that page
|
private java.nio.ByteBuffer |
setPage(PageChannel pageChannel,
int pageNumber,
boolean rewind) |
private int _pageNumber
private final TempBufferHolder _buffer
private int _bufferModCount
private TempPageHolder(TempBufferHolder.Type type)
public static TempPageHolder newHolder(TempBufferHolder.Type type)
type - the type of reference desired for any create page bufferspublic int getPageNumber()
public java.nio.ByteBuffer getPage(PageChannel pageChannel) throws java.io.IOException
java.io.IOExceptionpublic java.nio.ByteBuffer setPage(PageChannel pageChannel, int pageNumber) throws java.io.IOException
java.io.IOExceptionprivate java.nio.ByteBuffer setPage(PageChannel pageChannel, int pageNumber, boolean rewind) throws java.io.IOException
java.io.IOExceptionpublic java.nio.ByteBuffer setNewPage(PageChannel pageChannel) throws java.io.IOException
java.io.IOExceptionpublic void invalidate()
getPage/setPage call must reload page data).
Does not necessarily release any memory.public void possiblyInvalidate(int modifiedPageNumber,
java.nio.ByteBuffer modifiedBuffer)
getPage/setPage call must
reload page data) and is not the given buffer. Does not necessarily
release any memory.public void clear()
getPage/setPage call must reload page data) and
releases any referenced memory.