org.openrdf.query.algebra.evaluation.iterator
Class OrderIterator

java.lang.Object
  extended by info.aduna.iteration.CloseableIterationBase<E,X>
      extended by info.aduna.iteration.DelayedIteration<BindingSet,QueryEvaluationException>
          extended by org.openrdf.query.algebra.evaluation.iterator.OrderIterator
All Implemented Interfaces:
CloseableIteration<BindingSet,QueryEvaluationException>, Iteration<BindingSet,QueryEvaluationException>

public class OrderIterator
extends DelayedIteration<BindingSet,QueryEvaluationException>

Sorts the input and optionally applies limit and distinct.

Author:
James Leigh, Arjohn Kampman

Constructor Summary
OrderIterator(CloseableIteration<BindingSet,QueryEvaluationException> iter, Comparator<BindingSet> comparator)
           
OrderIterator(CloseableIteration<BindingSet,QueryEvaluationException> iter, Comparator<BindingSet> comparator, long limit, boolean distinct)
           
 
Method Summary
protected  Iteration<BindingSet,QueryEvaluationException> createIteration()
          Creates the iteration that should be iterated over.
protected  void handleClose()
          Closes this iteration as well as the underlying iteration if it has already been created and happens to be a CloseableIteration.
 void remove()
          Calls the remove method of the underlying iteration.
 
Methods inherited from class info.aduna.iteration.DelayedIteration
hasNext, next
 
Methods inherited from class info.aduna.iteration.CloseableIterationBase
close, isClosed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OrderIterator

public OrderIterator(CloseableIteration<BindingSet,QueryEvaluationException> iter,
                     Comparator<BindingSet> comparator)

OrderIterator

public OrderIterator(CloseableIteration<BindingSet,QueryEvaluationException> iter,
                     Comparator<BindingSet> comparator,
                     long limit,
                     boolean distinct)
Method Detail

createIteration

protected Iteration<BindingSet,QueryEvaluationException> createIteration()
                                                                  throws QueryEvaluationException
Description copied from class: DelayedIteration
Creates the iteration that should be iterated over. This method is called only once, when the iteration is first needed.

Specified by:
createIteration in class DelayedIteration<BindingSet,QueryEvaluationException>
Throws:
QueryEvaluationException

remove

public void remove()
            throws QueryEvaluationException
Description copied from class: DelayedIteration
Calls the remove method of the underlying iteration.

Specified by:
remove in interface Iteration<BindingSet,QueryEvaluationException>
Overrides:
remove in class DelayedIteration<BindingSet,QueryEvaluationException>
Throws:
QueryEvaluationException

handleClose

protected void handleClose()
                    throws QueryEvaluationException
Description copied from class: DelayedIteration
Closes this iteration as well as the underlying iteration if it has already been created and happens to be a CloseableIteration.

Overrides:
handleClose in class DelayedIteration<BindingSet,QueryEvaluationException>
Throws:
QueryEvaluationException


Copyright © 2001-2012 Aduna. All Rights Reserved.