org.apache.hadoop.mapreduce.lib.join
Class StreamBackedIterator<X extends Writable>

java.lang.Object
  extended by org.apache.hadoop.mapreduce.lib.join.StreamBackedIterator<X>
All Implemented Interfaces:
ResetableIterator<X>
Direct Known Subclasses:
StreamBackedIterator

@InterfaceAudience.Public
@InterfaceStability.Stable
public class StreamBackedIterator<X extends Writable>
extends Object
implements ResetableIterator<X>

This class provides an implementation of ResetableIterator. This implementation uses a byte array to store elements added to it.


Constructor Summary
StreamBackedIterator()
           
 
Method Summary
 void add(X item)
          Add an element to the collection of elements to iterate over.
 void clear()
          Close datasources, but do not release internal resources.
 void close()
          Close datasources and release resources.
 boolean hasNext()
          True if a call to next may return a value.
 boolean next(X val)
          Assign next value to actual.
 boolean replay(X val)
          Assign last value returned to actual.
 void reset()
          Set iterator to return to the start of its range.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StreamBackedIterator

public StreamBackedIterator()
Method Detail

hasNext

public boolean hasNext()
Description copied from interface: ResetableIterator
True if a call to next may return a value. This is permitted false positives, but not false negatives.

Specified by:
hasNext in interface ResetableIterator<X extends Writable>

next

public boolean next(X val)
             throws IOException
Description copied from interface: ResetableIterator
Assign next value to actual. It is required that elements added to a ResetableIterator be returned in the same order after a call to ResetableIterator.reset() (FIFO). Note that a call to this may fail for nested joins (i.e. more elements available, but none satisfying the constraints of the join)

Specified by:
next in interface ResetableIterator<X extends Writable>
Throws:
IOException

replay

public boolean replay(X val)
               throws IOException
Description copied from interface: ResetableIterator
Assign last value returned to actual.

Specified by:
replay in interface ResetableIterator<X extends Writable>
Throws:
IOException

reset

public void reset()
Description copied from interface: ResetableIterator
Set iterator to return to the start of its range. Must be called after calling ResetableIterator.add(T) to avoid a ConcurrentModificationException.

Specified by:
reset in interface ResetableIterator<X extends Writable>

add

public void add(X item)
         throws IOException
Description copied from interface: ResetableIterator
Add an element to the collection of elements to iterate over.

Specified by:
add in interface ResetableIterator<X extends Writable>
Throws:
IOException

close

public void close()
           throws IOException
Description copied from interface: ResetableIterator
Close datasources and release resources. Calling methods on the iterator after calling close has undefined behavior.

Specified by:
close in interface ResetableIterator<X extends Writable>
Throws:
IOException

clear

public void clear()
Description copied from interface: ResetableIterator
Close datasources, but do not release internal resources. Calling this method should permit the object to be reused with a different datasource.

Specified by:
clear in interface ResetableIterator<X extends Writable>


Copyright © 2012 Apache Software Foundation. All Rights Reserved.