Xindice API
version 1.1b4

org.apache.xindice.core.filer
Class BTreeFiler

java.lang.Object
  |
  +--org.apache.xindice.core.filer.Paged
        |
        +--org.apache.xindice.core.filer.BTree
              |
              +--org.apache.xindice.core.filer.BTreeFiler
All Implemented Interfaces:
Configurable, DBObject, Filer, Named

public final class BTreeFiler
extends BTree
implements Filer

BTreeFiler is a Filer implementation based on the BTree class.

Version:
CVS $Revision: 1.23 $, $Date: 2004/03/20 14:02:38 $

Inner classes inherited from class org.apache.xindice.core.filer.BTree
BTree.BTreeFileHeader, BTree.BTreePageHeader, BTree.BTreeRootInfo
 
Inner classes inherited from class org.apache.xindice.core.filer.Paged
Paged.FileHeader, Paged.Page, Paged.PageHeader
 
Field Summary
protected static byte RECORD
          Record page status
 
Fields inherited from class org.apache.xindice.core.filer.BTree
BRANCH, LEAF, STREAM
 
Fields inherited from class org.apache.xindice.core.filer.Paged
DELETED, NO_PAGE, OVERFLOW, UNUSED
 
Constructor Summary
BTreeFiler()
           
 
Method Summary
 Paged.FileHeader createFileHeader()
          createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
 Paged.FileHeader createFileHeader(boolean read)
          createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
 Paged.FileHeader createFileHeader(long pageCount)
          createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
 Paged.FileHeader createFileHeader(long pageCount, int pageSize)
          createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
 Paged.PageHeader createPageHeader()
          createPageHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a PageHeader.
 boolean deleteRecord(Key key)
          deleteRecord removes a Record from the Filer based on the specified Key.
 void flush()
          flush forcefully flushes any unwritten buffers to disk.
 java.lang.String getName()
          getName retrieves the contextually important name of the object
 long getRecordCount()
          getRecordCount returns the number of Records in the Filer.
 RecordSet getRecordSet()
          getRecordSet returns a RecordSet object for the current Filer.
 Record readRecord(Key key)
          readRecord returns a Record from the Filer based on the specified Key.
 void setLocation(java.io.File root, java.lang.String location)
          setLocation tells the Filer where to store its data.
 boolean writeRecord(Key key, Value value)
          writeRecord writes a Value to the Filer based on the specified Key.
 
Methods inherited from class org.apache.xindice.core.filer.BTree
addValue, addValue, create, createBTreeRoot, createBTreeRoot, findBTreeRoot, findBTreeRoot, findValue, findValue, getRootNode, getRootNode, open, query, query, removeValue, removeValue, setRootNode, setRootNode
 
Methods inherited from class org.apache.xindice.core.filer.Paged
checkOpened, close, closeDescriptor, deleteArrayInt, deleteArrayLong, deleteArrayShort, deleteArrayValue, drop, exists, getConfig, getDescriptor, getFile, getFileHeader, getFreePage, getPage, insertArrayInt, insertArrayLong, insertArrayShort, insertArrayValue, isOpened, putDescriptor, readValue, readValue, setConfig, setFile, unlinkPages, unlinkPages, writeValue, writeValue
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.xindice.core.DBObject
close, create, drop, exists, isOpened, open
 
Methods inherited from interface org.apache.xindice.util.Configurable
getConfig, setConfig
 

Field Detail

RECORD

protected static final byte RECORD
Record page status
Constructor Detail

BTreeFiler

public BTreeFiler()
Method Detail

setLocation

public void setLocation(java.io.File root,
                        java.lang.String location)
Description copied from interface: Filer
setLocation tells the Filer where to store its data.
Specified by:
setLocation in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Parameters:
root - The root under which to store data
location - The name to use for storing data

getName

public java.lang.String getName()
Description copied from interface: Named
getName retrieves the contextually important name of the object
Specified by:
getName in interface Named
Following copied from interface: org.apache.xindice.util.Named
Returns:
The object's name

readRecord

public Record readRecord(Key key)
                  throws DBException
Description copied from interface: Filer
readRecord returns a Record from the Filer based on the specified Key.
Specified by:
readRecord in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Parameters:
key - The Record's Key
Returns:
The returned Record

writeRecord

public boolean writeRecord(Key key,
                           Value value)
                    throws DBException
Description copied from interface: Filer
writeRecord writes a Value to the Filer based on the specified Key.
Specified by:
writeRecord in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Parameters:
key - The Record's Key
value - The Record's Value
Returns:
Whether or not the Record could be written

deleteRecord

public boolean deleteRecord(Key key)
                     throws DBException
Description copied from interface: Filer
deleteRecord removes a Record from the Filer based on the specified Key.
Specified by:
deleteRecord in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Parameters:
key - The Record's Key
Returns:
Whether or not the Record was deleted

getRecordCount

public long getRecordCount()
                    throws DBException
Description copied from interface: Filer
getRecordCount returns the number of Records in the Filer.
Specified by:
getRecordCount in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Returns:
The Record count

getRecordSet

public RecordSet getRecordSet()
                       throws DBException
Description copied from interface: Filer
getRecordSet returns a RecordSet object for the current Filer.
Specified by:
getRecordSet in interface Filer
Following copied from interface: org.apache.xindice.core.filer.Filer
Returns:
The Filer Enumerator

flush

public void flush()
           throws DBException
Description copied from interface: Filer
flush forcefully flushes any unwritten buffers to disk.
Specified by:
flush in interface Filer
Overrides:
flush in class Paged

createFileHeader

public Paged.FileHeader createFileHeader()
Description copied from class: Paged
createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
Overrides:
createFileHeader in class BTree
Following copied from class: org.apache.xindice.core.filer.Paged
Returns:
a new FileHeader

createFileHeader

public Paged.FileHeader createFileHeader(boolean read)
                                  throws java.io.IOException
Description copied from class: Paged
createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
Overrides:
createFileHeader in class BTree
Following copied from class: org.apache.xindice.core.filer.Paged
Parameters:
read - If true, reads the FileHeader from disk
Returns:
a new FileHeader
Throws:
java.io.IOException - if an exception occurs

createFileHeader

public Paged.FileHeader createFileHeader(long pageCount)
Description copied from class: Paged
createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
Overrides:
createFileHeader in class BTree
Following copied from class: org.apache.xindice.core.filer.Paged
Parameters:
pageCount - The number of pages to allocate for primary storage
Returns:
a new FileHeader

createFileHeader

public Paged.FileHeader createFileHeader(long pageCount,
                                         int pageSize)
Description copied from class: Paged
createFileHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a FileHeader.
Overrides:
createFileHeader in class BTree
Following copied from class: org.apache.xindice.core.filer.Paged
Parameters:
pageCount - The number of pages to allocate for primary storage
pageSize - The size of a Page (should be a multiple of a FS block)
Returns:
a new FileHeader

createPageHeader

public Paged.PageHeader createPageHeader()
Description copied from class: Paged
createPageHeader must be implemented by a Paged implementation in order to create an appropriate subclass instance of a PageHeader.
Overrides:
createPageHeader in class BTree
Following copied from class: org.apache.xindice.core.filer.Paged
Returns:
a new PageHeader

Xindice API
version 1.1b4

Copyright (c) 1999-2004 The Apache Software Foundation. All Rights Reserved.