org.helidb.util.bplus
Class BPlusTree.AbstractBPlusTreeRecordIterator<T>

java.lang.Object
  extended by org.helidb.util.bplus.BPlusTree.AbstractBPlusTreeRecordIterator<T>
Type Parameters:
T - The type of object returned by the iterator.
All Implemented Interfaces:
Iterator<T>
Direct Known Subclasses:
BPlusTree.BPlusTreeKeyIterator, BPlusTree.BPlusTreeRecordIterator, BPlusTree.BPlusTreeValueIterator
Enclosing class:
BPlusTree<K,V>

protected abstract class BPlusTree.AbstractBPlusTreeRecordIterator<T>
extends Object
implements Iterator<T>

This is the abstract base class for iterators that iterate over the tree's records.

This class implements all the methods defined in Iterator. Subclasses implement only the abstract methods defined in this class.

Since:
1.0
Author:
Karl Gustafsson

Constructor Summary
protected BPlusTree.AbstractBPlusTreeRecordIterator()
           
 
Method Summary
protected abstract  void checkRevision()
          Subclasses implement this to throw a ConcurrentModificationException if the contents of the tree has changed in a way that invalidates the iterator.
protected abstract  T getNext(KeyAndValue<K,V> rec)
          Subclasses implement this to return the object that the iterator returns from the supplied record.
 boolean hasNext()
           
 T next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BPlusTree.AbstractBPlusTreeRecordIterator

protected BPlusTree.AbstractBPlusTreeRecordIterator()
Method Detail

checkRevision

protected abstract void checkRevision()
                               throws ConcurrentModificationException
Subclasses implement this to throw a ConcurrentModificationException if the contents of the tree has changed in a way that invalidates the iterator.

Throws:
ConcurrentModificationException

getNext

protected abstract T getNext(KeyAndValue<K,V> rec)
Subclasses implement this to return the object that the iterator returns from the supplied record.

Parameters:
rec - The record
Returns:
The object that the iterator returns.

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator<T>

next

public T next()
Specified by:
next in interface Iterator<T>

remove

public void remove()
            throws UnsupportedOperationException
Specified by:
remove in interface Iterator<T>
Throws:
UnsupportedOperationException - Always.