net.sf.farrago.runtime
Class FennelPipeIterator

java.lang.Object
  extended by org.eigenbase.runtime.AbstractTupleIter
      extended by net.sf.farrago.runtime.FennelAbstractTupleIter
          extended by net.sf.farrago.runtime.FennelPipeTupleIter
              extended by net.sf.farrago.runtime.FennelPipeIterator
All Implemented Interfaces:
Iterator, RestartableIterator, TupleIter, ClosableAllocation

public class FennelPipeIterator
extends FennelPipeTupleIter
implements RestartableIterator

FennelPipeIterator implements the RestartableIterator interface, receiving data from a producer as ByteBuffer objects, and unmarshalling them to a consumer. It does this by extending FennelPipeTupleIter and adapting TupleIter semantics to Iterator semantics.

Version:
$Id: //open/dev/farrago/src/net/sf/farrago/runtime/FennelPipeIterator.java#15 $
Author:
Julian Hyde

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.eigenbase.runtime.TupleIter
TupleIter.NoDataReason, TupleIter.TimeoutException
 
Field Summary
private  Object next
           
 
Fields inherited from class net.sf.farrago.runtime.FennelPipeTupleIter
tracer
 
Fields inherited from class net.sf.farrago.runtime.FennelAbstractTupleIter
bufferAsArray, byteBuffer, tupleReader
 
Fields inherited from interface org.eigenbase.runtime.TupleIter
EMPTY_ITERATOR
 
Constructor Summary
FennelPipeIterator(FennelTupleReader tupleReader)
          creates a new FennelPipeIterator object.
 
Method Summary
 boolean hasNext()
           
 Object next()
           
 void remove()
           
private  void traceHasNext(boolean hasNextResult)
           
 
Methods inherited from class net.sf.farrago.runtime.FennelPipeTupleIter
closeAllocation, getByteBuffer, populateBuffer, restart, traceNext, write
 
Methods inherited from class net.sf.farrago.runtime.FennelAbstractTupleIter
fetchNext, getStatus, requestData
 
Methods inherited from class org.eigenbase.runtime.AbstractTupleIter
setTimeout
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.eigenbase.runtime.RestartableIterator
restart
 

Field Detail

next

private Object next
Constructor Detail

FennelPipeIterator

public FennelPipeIterator(FennelTupleReader tupleReader)
creates a new FennelPipeIterator object.

Parameters:
tupleReader - FennelTupleReader to use to interpret Fennel data
Method Detail

hasNext

public boolean hasNext()
Specified by:
hasNext in interface Iterator

traceHasNext

private void traceHasNext(boolean hasNextResult)

next

public Object next()
Specified by:
next in interface Iterator

remove

public void remove()
Specified by:
remove in interface Iterator