net.sf.jga.fn.algorithm
Class Accumulate<T>

java.lang.Object
  extended by net.sf.jga.fn.Functor<R>
      extended by net.sf.jga.fn.UnaryFunctor<java.util.Iterator<? extends T>,T>
          extended by net.sf.jga.fn.algorithm.Accumulate<T>
All Implemented Interfaces:
java.io.Serializable, Visitable

Deprecated. This functionality is moved into Summarize

public class Accumulate<T>
extends UnaryFunctor<java.util.Iterator<? extends T>,T>

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
See Also:
Serialized Form

Nested Class Summary
static interface Accumulate.Visitor
          Deprecated. Interface for classes that may interpret an Accumulate functor.
 
Constructor Summary
Accumulate(BinaryFunctor<T,T,T> fn)
          Deprecated. Builds an Accumulate functor that will use the given functor to process elements in an iteration.
Accumulate(T startValue, BinaryFunctor<T,T,T> fn)
          Deprecated. Builds an Accumulate functor that will use the given start value and functor to process elements in an iteration.
 
Method Summary
 void accept(Visitor v)
          Deprecated. Calls the Visitor's visit(Accumulate) method, if it implements the nested Visitor interface.
 T fn(java.util.Iterator<? extends T> iterator)
          Deprecated. Apply the functor to the elements of the iteration and return the final result.
 BinaryFunctor<T,T,T> getFunction()
          Deprecated. Returns the functor used to process elements in the iteration.
 T getStartValue()
          Deprecated. Returns the start value, or null if no start value was given.
 boolean hasStartValue()
          Deprecated. Returns true if a start value was passed at construction.
 java.lang.String toString()
          Deprecated.  
 
Methods inherited from class net.sf.jga.fn.UnaryFunctor
bind, bind0th, bindNth, compose, compose, compose, composeNth, composeNth, eval, generate, generateNth
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Accumulate

public Accumulate(BinaryFunctor<T,T,T> fn)
Deprecated. 
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)
Deprecated. 
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.

Method Detail

getFunction

public BinaryFunctor<T,T,T> getFunction()
Deprecated. 
Returns the functor used to process elements in the iteration.


getStartValue

public T getStartValue()
Deprecated. 
Returns the start value, or null if no start value was given.


hasStartValue

public boolean hasStartValue()
Deprecated. 
Returns true if a start value was passed at construction.


fn

public T fn(java.util.Iterator<? extends T> iterator)
Deprecated. 
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.

Specified by:
fn in class UnaryFunctor<java.util.Iterator<? extends T>,T>

accept

public void accept(Visitor v)
Deprecated. 
Calls the Visitor's visit(Accumulate) method, if it implements the nested Visitor interface.

Specified by:
accept in interface Visitable
Overrides:
accept in class Functor<T>

toString

public java.lang.String toString()
Deprecated. 
Overrides:
toString in class java.lang.Object


Copyright © 2002-2006 David A. Hall. All Rights Reserved.