xxl.cursors
Class Mapper

java.lang.Object
  |
  +--xxl.cursors.Mapper

public class Mapper
extends java.lang.Object
implements Cursor

Tha Mapper maps an input-Object-array to an output-Object with a given Function. The Mapper takes n iterators as its input and takes them as parameters to a given n-ary function. Important: The function of the Mapper is called with an Object-array.


Field Summary
protected  boolean allowPartialInput
           
protected  java.lang.Object[] arguments
           
protected  Cursor[] cursors
           
protected  Function function
           
protected  boolean supportsPeek
           
 
Constructor Summary
Mapper(java.util.Iterator[] iterators)
          Creates a new Mapper.
Mapper(java.util.Iterator[] iterators, Function function)
          Creates a new Mapper.
Mapper(java.util.Iterator[] iterators, Function function, boolean allowPartialInput)
          Creates a new Mapper.
Mapper(java.util.Iterator iterator, Function function)
          Creates a new Mapper.
Mapper(java.util.Iterator iterator0, java.util.Iterator iterator1)
          Creates a new Mapper.
Mapper(java.util.Iterator iterator0, java.util.Iterator iterator1, Function function)
          Creates a new Mapper.
 
Method Summary
 void close()
          Closes the Cursor.
 boolean hasNext()
          Returns true if the iteration has more elements.
 java.lang.Object next()
          Returns the next element in the iteration.
 java.lang.Object peek()
          Shows the next element in the iteration without removing it.
 void remove()
          Removes from the underlying collection the last element returned by the iterator (optional operation).
 void reset()
          Resets the Cursor to its initial state.
 boolean supportsPeek()
          Returns true if the peek operation is supported by this PeekIterator.
 void update(java.lang.Object object)
          Replaces the object that was returned by the last call to next() or peek().
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cursors

protected Cursor[] cursors

function

protected Function function

arguments

protected java.lang.Object[] arguments

supportsPeek

protected boolean supportsPeek

allowPartialInput

protected boolean allowPartialInput
Constructor Detail

Mapper

public Mapper(java.util.Iterator[] iterators,
              Function function,
              boolean allowPartialInput)
Creates a new Mapper.
Parameters:
iterators - the input-Iterators
function - the Function used to map elements
allowPartialInput - true iff TODO

Mapper

public Mapper(java.util.Iterator[] iterators,
              Function function)
Creates a new Mapper.
Parameters:
iterators - the input-Iterators
function - the Function used to map elements

Mapper

public Mapper(java.util.Iterator[] iterators)
Creates a new Mapper.
Parameters:
iterators - the input-Iterators

Mapper

public Mapper(java.util.Iterator iterator,
              Function function)
Creates a new Mapper.
Parameters:
iterator - the input-Iterator
function - the Function used to map elements

Mapper

public Mapper(java.util.Iterator iterator0,
              java.util.Iterator iterator1)
Creates a new Mapper.
Parameters:
iterator0 - the first input-Iterator
iterator1 - the second input-Iterator

Mapper

public Mapper(java.util.Iterator iterator0,
              java.util.Iterator iterator1,
              Function function)
Creates a new Mapper.
Parameters:
iterator0 - the first input-Iterator
iterator1 - the second input-Iterator
function - the Function used to map elements
Method Detail

close

public void close()
Closes the Cursor. Signals the cursor to cleanup resources, close files, etc. After a call to close() calls to methods like next() or peek() are not guarantied to yield proper results.
Specified by:
close in interface Cursor

hasNext

public boolean hasNext()
Returns true if the iteration has more elements.
Specified by:
hasNext in interface Cursor
Returns:
true if the iterator has more elements.

next

public java.lang.Object next()
                      throws java.util.NoSuchElementException
Returns the next element in the iteration.
Specified by:
next in interface Cursor
Returns:
the next element in the iteration.
Throws:
java.util.NoSuchElementException - iteration has no more elements.

peek

public java.lang.Object peek()
                      throws java.util.NoSuchElementException,
                             java.lang.UnsupportedOperationException
Shows the next element in the iteration without removing it.
Specified by:
peek in interface Cursor
Returns:
the next element in the iteration.
Throws:
java.util.NoSuchElementException - iteration has no more elements.
java.lang.UnsupportedOperationException - if the peek operation is not supported by this PeekIterator.

remove

public void remove()
            throws java.lang.UnsupportedOperationException
Removes from the underlying collection the last element returned by the iterator (optional operation).
Specified by:
remove in interface Cursor
Throws:
java.lang.IllegalStateException - if the next method has not yet been called, or the remove method has already been called after the last call to the next method.
java.lang.UnsupportedOperationException - if the remove operation is not supported by this PeekIterator.

reset

public void reset()
           throws java.lang.UnsupportedOperationException
Resets the Cursor to its initial state.
Specified by:
reset in interface Cursor

supportsPeek

public boolean supportsPeek()
Returns true if the peek operation is supported by this PeekIterator.
Specified by:
supportsPeek in interface Cursor
Returns:
true if the peek operation is supported by this PeekIterator.

update

public void update(java.lang.Object object)
            throws java.lang.UnsupportedOperationException
Replaces the object that was returned by the last call to next() or peek(). This operation must not be called after a call to hasNext(). It should foow a call to next() or peek().
Specified by:
update in interface Cursor
Parameters:
object - the object that replaces the object returned by the last call to next() or peek()