| net.sf.jga.fn.algorithm.Accumulate
Accumulate | public class Accumulate extends UnaryFunctor,T> (Code) | | Applies a BinaryFunctor to each element in an iteration, and returns the
final result. Each member of the collection is passed to the functor along
with the previous result. If the two arg constructor is used, then the given
value is used on the first invocation of the functor: otherwise the first
element of the iteration is consumed and passed as the starting value.
If the iteration was empty, then the result of this function is the starting
value or null if no starting value was given.
If no starting value was given, and the iteration has exactly one element,
then the element is returned without the BinaryFunctor being used.
To Serialize an Accumulate, the generic parameter T must be serializable.
Copyright © 2003-2005 David A. Hall
author: David A. Hall |
Constructor Summary | |
public | Accumulate(BinaryFunctor<T, T, T> fn) Builds an Accumulate functor that will use the given functor to process
elements in an iteration. | public | Accumulate(T startValue, BinaryFunctor<T, T, T> fn) Builds an Accumulate functor that will use the given start value and
functor to process elements in an iteration. |
Method Summary | |
public void | accept(net.sf.jga.fn.Visitor v) Calls the Visitor's visit(Accumulate) method, if it
implements the nested Visitor interface. | public T | fn(Iterator<? extends T> iterator) Apply the functor to the elements of the iteration and return the final
result. | public BinaryFunctor<T, T, T> | getFunction() Returns the functor used to process elements in the iteration. | public T | getStartValue() Returns the start value, or null if no start value was given. | public boolean | hasStartValue() Returns true if a start value was passed at construction. | public String | toString() |
serialVersionUID | final static long serialVersionUID(Code) | | |
Accumulate | public Accumulate(BinaryFunctor<T, T, T> fn)(Code) | | Builds an Accumulate functor that will use the given functor to process
elements in an iteration. The first element in the iteration will be
used as the start value.
|
Accumulate | public Accumulate(T startValue, BinaryFunctor<T, T, T> fn)(Code) | | Builds an Accumulate functor that will use the given start value and
functor to process elements in an iteration. The first element in the
iteration will be used as the start value.
|
accept | public void accept(net.sf.jga.fn.Visitor v)(Code) | | Calls the Visitor's visit(Accumulate) method, if it
implements the nested Visitor interface.
|
fn | public T fn(Iterator<? extends T> iterator)(Code) | | Apply the functor to the elements of the iteration and return the final
result. Results do not accumulate from one invocation to the next: each
time this method is called, the accumulation starts over with the given
start value.
|
getFunction | public BinaryFunctor<T, T, T> getFunction()(Code) | | Returns the functor used to process elements in the iteration.
|
getStartValue | public T getStartValue()(Code) | | Returns the start value, or null if no start value was given.
|
hasStartValue | public boolean hasStartValue()(Code) | | Returns true if a start value was passed at construction.
|
|
|