public class BTreeIterator extends java.lang.Object implements IndexIterator
BTreeIterator defines an object that references a specific object relative to other
objects in an ObjectIndex. In many ways, a BTreeIterator is analogous
to the "cursors" found in SQL-type databases; it is essentially a movable reference to elements
in an index, and it can be moved forward and backward through the list of keys.
ObjectIndex,
IndexedObjectDatabase| Constructor and Description |
|---|
BTreeIterator(BTreeIndex index)
Creates a new
BTreeIterator for a given index and database. |
BTreeIterator(BTreeIterator iterator)
Creates a new
BTreeIterator that points to the same location as an existing
BtreeIterator. |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
getKey()
Returns the key
Object currently associated with this iterator. |
long |
getRecPtr()
Returns the reference (usually a file pointer) currently associated with this iterator.
|
void |
invalidate()
Sets this iterator's state to invalid.
|
boolean |
isValid()
Checks to see if this iterator is valid.
|
boolean |
moveFirst()
Moves this iterator to the first key and reference in sequence.
|
boolean |
moveLast()
Moves this iterator to the last key and reference in sequence.
|
boolean |
moveNext()
Moves this iterator to the next key and reference in sequence.
|
boolean |
movePrevious()
Moves this iterator to the previous key and reference in sequence.
|
boolean |
moveTo(KeyObject key)
Moves this iterator to point to the given
key. |
boolean |
moveTo(KeyObject key,
boolean acceptNext)
Moves this iterator to point to the given
key. |
public BTreeIterator(BTreeIndex index) throws java.io.IOException, java.lang.ClassNotFoundException
BTreeIterator for a given index and database.index - the index to which this iterator is attached.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeIndexpublic BTreeIterator(BTreeIterator iterator) throws java.io.IOException, java.lang.ClassNotFoundException
BTreeIterator that points to the same location as an existing
BtreeIterator.iterator - the iterator to be copied.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeIndexpublic long getRecPtr()
throws java.io.IOException
getRecPtr in interface IndexIteratorObject currently referenced by this iterator, or -1 if the iterator is invalidjava.io.IOExceptionpublic java.lang.Object getKey()
throws java.io.IOException
Object currently associated with this iterator.getKey in interface IndexIteratorObject currently referenced by this iterator, or null if the iterator is invalidjava.io.IOException - when an I/O exception is thrown by an underlying java.io.* classpublic boolean moveNext()
throws java.io.IOException,
java.lang.ClassNotFoundException
moveNext in interface IndexIteratortrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typepublic boolean movePrevious()
throws java.io.IOException,
java.lang.ClassNotFoundException
movePrevious in interface IndexIteratortrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeException - when an error occurs during B-Tree processingpublic boolean moveFirst()
throws java.io.IOException,
java.lang.ClassNotFoundException
moveFirst in interface IndexIteratortrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeException - when an error occurs during B-Tree processingpublic boolean moveLast()
throws java.io.IOException,
java.lang.ClassNotFoundException
moveLast in interface IndexIteratortrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeException - when an error occurs during B-Tree processingpublic boolean moveTo(KeyObject key) throws java.io.IOException, java.lang.ClassNotFoundException
key.moveTo in interface IndexIteratorkey - key identifier to findtrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeException - when an error occurs during B-Tree processingpublic boolean moveTo(KeyObject key, boolean acceptNext) throws java.io.IOException, java.lang.ClassNotFoundException
key.moveTo in interface IndexIteratorkey - key identifier to findacceptNext - when true, allows the search to return the next record in sequence
if an exact match is not foundtrue if the operation was successful; false otherwise.java.io.IOException - when an I/O exception is thrown by an underlying java.io.* classjava.lang.ClassNotFoundException - for a casting error, usually when a persistent object or index does
match the expected typeBTreeException - when an error occurs during B-Tree processingpublic boolean isValid()
isValid in interface IndexIteratortrue if the iterator is valid; false if it is invalid.public void invalidate()