org.jrdf.graph.local.mem.iterator
Class TwoFixedIterator

java.lang.Object
  extended by org.jrdf.graph.local.mem.iterator.TwoFixedIterator
All Implemented Interfaces:
Iterator<Triple>, ClosableMemIterator<Triple>, ClosableIterator<Triple>

public final class TwoFixedIterator
extends Object
implements ClosableMemIterator<Triple>

An iterator that iterates over a group with a two fixed nodes. Relies on an internal iterator which iterates over all entries in a set, found in a subIndex.

The thirdIndexIterator is used to indicate the current position. It will always be set to return the next value until it reaches the end of the group.

Version:
$Revision: 1804 $
Author:
Paul Gearon, Andrew Newman

Constructor Summary
TwoFixedIterator(Long fixedFirstNode, Long fixedSecondNode, LongIndex newLongIndex, GraphHandler newHandler)
          Constructor.
 
Method Summary
 boolean close()
          Closes the iterator by freeing any resources that it current holds.
 boolean hasNext()
           
 Triple next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TwoFixedIterator

public TwoFixedIterator(Long fixedFirstNode,
                        Long fixedSecondNode,
                        LongIndex newLongIndex,
                        GraphHandler newHandler)
Constructor. Sets up the internal iterators.

Method Detail

hasNext

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

next

public Triple next()
            throws NoSuchElementException
Specified by:
next in interface Iterator<Triple>
Throws:
NoSuchElementException

remove

public void remove()
Specified by:
remove in interface Iterator<Triple>

close

public boolean close()
Description copied from interface: ClosableIterator
Closes the iterator by freeing any resources that it current holds.

This must be done as soon as possible. Once an iterator is closed none of the operations on a iterator will operate i.e. they will throw an exception.

Specified by:
close in interface ClosableIterator<Triple>
Returns:
true if it was successfully closed.