|
Xindice API version 1.2m1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.xindice.core.filer.Paged
Paged is a paged file implementation that is foundation for both the
BTree class and the HashFiler. It provides flexible paged I/O and
page caching functionality.
Paged has folowing configuration attributes:
Nested Class Summary | |
protected class |
Paged.FileHeader
Paged file's header |
protected class |
Paged.Page
Paged file's page |
protected static class |
Paged.PageHeader
Paged file page's header |
protected static class |
Paged.PageKey
The object wrapping page number. |
Field Summary | |
protected static String |
CONFIG_DESCRIPTORS_MAX
Name of the configuration attribute "max-descriptors" |
protected static String |
CONFIG_KEYSIZE_MAX
Name of the configuration attribute "maxkeysize" |
protected static String |
CONFIG_PAGECOUNT
Name of the configuration attribute "pagecount" |
protected static String |
CONFIG_PAGESIZE
Name of the configuration attribute "pagesize" |
protected static byte |
DELETED
Deleted page status |
protected static int |
NO_PAGE
Page ID of non-existent page |
protected static byte |
OVERFLOW
Overflow page status |
protected static byte |
UNUSED
Unused page status |
Constructor Summary | |
Paged()
|
|
Paged(File file)
|
Method Summary | |
protected void |
checkOpened()
|
boolean |
close()
close closes the DBObject |
protected void |
closeDescriptor(RandomAccessFile raf)
Closes a RandomAccessFile ('descriptor') and removes it from the pool. |
boolean |
create()
create creates a new DBObject and any associated resources for the new DBObject, such as disk files, etc. |
protected abstract Paged.FileHeader |
createFileHeader()
createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader. |
protected abstract Paged.PageHeader |
createPageHeader()
createPageHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a PageHeader. |
static int[] |
deleteArrayInt(int[] vals,
int idx)
|
static long[] |
deleteArrayLong(long[] vals,
int idx)
|
static short[] |
deleteArrayShort(short[] vals,
int idx)
|
static Value[] |
deleteArrayValue(Value[] vals,
int idx)
|
boolean |
drop()
drop instructs the DBObjectimplementation to remove itself from existence. |
boolean |
exists()
exists returns whether or not a physical representation of this DBObject actually exists. |
void |
flush()
|
Configuration |
getConfig()
getConfig retrieves the configuration information for the Configurable object instance. |
protected RandomAccessFile |
getDescriptor()
Obtain RandomAccessFile ('descriptor') object out of the pool. |
protected File |
getFile()
getFile returns the file object for this Paged. |
protected Paged.FileHeader |
getFileHeader()
getFileHeader returns the FileHeader |
protected Paged.Page |
getFreePage()
getFreePage returns the first free Page from secondary storage. |
protected Paged.Page |
getPage(long pageNum)
getPage returns the page specified by pageNum. |
static int[] |
insertArrayInt(int[] vals,
int val,
int idx)
|
static long[] |
insertArrayLong(long[] vals,
long val,
int idx)
|
static short[] |
insertArrayShort(short[] vals,
short val,
int idx)
|
static Value[] |
insertArrayValue(Value[] vals,
Value val,
int idx)
|
boolean |
isOpened()
isOpened returns whether or not the DBObject is opened for business. |
boolean |
open()
open opens the DBObject |
protected void |
putDescriptor(RandomAccessFile raf)
Puts a RandomAccessFile ('descriptor') back into the descriptor pool. |
protected Value |
readValue(long page)
readValue reads the multi-Paged Value starting at the specified page number. |
protected Value |
readValue(Paged.Page page)
readValue reads the multi-Paged Value starting at the specified Page. |
void |
setConfig(Configuration config)
setConfig sets the configuration information for the Configurable object instance. |
protected void |
setFile(File file)
setFile sets the file object for this Paged. |
protected void |
unlinkPages(long pageNum)
unlinkPages unlinks a set of pages starting at the specified page number. |
protected void |
unlinkPages(Paged.Page page)
unlinkPages unlinks a set of pages starting at the specified Page. |
protected void |
writeValue(long page,
Value value)
writeValue writes the multi-Paged Value starting at the specified page number. |
protected void |
writeValue(Paged.Page page,
Value value)
writeValue writes the multi-Paged Value starting at the specified Page. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected static final String CONFIG_PAGESIZE
protected static final String CONFIG_PAGECOUNT
protected static final String CONFIG_KEYSIZE_MAX
protected static final String CONFIG_DESCRIPTORS_MAX
protected static final byte UNUSED
protected static final byte OVERFLOW
protected static final byte DELETED
protected static final int NO_PAGE
Constructor Detail |
public Paged()
public Paged(File file)
Method Detail |
public void setConfig(Configuration config)
Configurable
setConfig
in interface Configurable
config
- The configuration Nodepublic Configuration getConfig()
Configurable
getConfig
in interface Configurable
protected final void setFile(File file)
file
- The Fileprotected final File getFile()
protected final RandomAccessFile getDescriptor() throws IOException
IOException
protected final void putDescriptor(RandomAccessFile raf)
protected final void closeDescriptor(RandomAccessFile raf)
protected final Paged.Page getPage(long pageNum) throws IOException
pageNum
- The Page number
IOException
- if an Exception occursprotected final Value readValue(Paged.Page page) throws IOException
page
- The starting Page
IOException
- if an Exception occursprotected final Value readValue(long page) throws IOException
page
- The starting page number
IOException
- if an Exception occursprotected final void writeValue(Paged.Page page, Value value) throws IOException
page
- The starting Pagevalue
- The Value to write
IOException
- if an Exception occursprotected final void writeValue(long page, Value value) throws IOException
page
- The starting page numbervalue
- The Value to write
IOException
- if an Exception occursprotected void unlinkPages(Paged.Page page) throws IOException
page
- The starting Page to unlink
IOException
- if an Exception occursprotected final void unlinkPages(long pageNum) throws IOException
pageNum
- The starting page number to unlink
IOException
- if an Exception occursprotected final Paged.Page getFreePage() throws IOException
IOException
- if an Exception occursprotected final void checkOpened() throws DBException
DBException
- COL_COLLECTION_CLOSED if paged file is closedprotected Paged.FileHeader getFileHeader()
public boolean exists()
DBObject
exists
in interface DBObject
public boolean create() throws DBException
DBObject
create
in interface DBObject
DBException
- if operation failedpublic boolean open() throws DBException
DBObject
open
in interface DBObject
DBException
- if operation failedpublic boolean close() throws DBException
DBObject
close
in interface DBObject
DBException
- if operation failedpublic boolean isOpened()
DBObject
isOpened
in interface DBObject
public boolean drop() throws DBException
DBObject
drop
in interface DBObject
DBException
- if operation failedpublic void flush() throws DBException
DBException
protected abstract Paged.FileHeader createFileHeader()
protected abstract Paged.PageHeader createPageHeader()
public static Value[] insertArrayValue(Value[] vals, Value val, int idx)
public static Value[] deleteArrayValue(Value[] vals, int idx)
public static long[] insertArrayLong(long[] vals, long val, int idx)
public static long[] deleteArrayLong(long[] vals, int idx)
public static int[] insertArrayInt(int[] vals, int val, int idx)
public static int[] deleteArrayInt(int[] vals, int idx)
public static short[] insertArrayShort(short[] vals, short val, int idx)
public static short[] deleteArrayShort(short[] vals, int idx)
|
Xindice API version 1.2m1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |