cascading.pipe.assembly

## Interface AggregateBy.Functor

All Superinterfaces:
  java.io.Serializable

All Known Implementing Classes:
  AverageBy.AveragePartials, CountBy.CountPartials, FirstBy.FirstPartials, MaxBy.MaxPartials, MinBy.MinPartials, SumBy.SumPartials

Enclosing class:
  AggregateBy

    public static interface AggregateBy.Functor
    extends java.io.Serializable

Interface Functor provides a means to create a simple function for use with the `AggregateBy.CompositeFunction` class.

Note the `FlowProcess` argument provides access to the underlying properties and counter APIs.

### Method Summary

Methods
`Tuple` `aggregate(FlowProcess flowProcess, TupleEntry args, Tuple context)` Method aggregate operates on the given args in tandem (optionally) with the given context values.
`Tuple` `complete(FlowProcess flowProcess, Tuple context)` Method complete allows the final aggregate computation to be performed before the return value is collected.
`Fields` `getDeclaredFields()` Method getDeclaredFields returns the declaredFields of this Functor object.

### Method Detail

#### getDeclaredFields

    Fields getDeclaredFields()

Method getDeclaredFields returns the declaredFields of this Functor object.

Returns:
  the declaredFields (type Fields) of this Functor object.

#### aggregate

    Tuple aggregate(FlowProcess flowProcess,
                  TupleEntry args,
                  Tuple context)

Method aggregate operates on the given args in tandem (optionally) with the given context values.

The context argument is the result of the previous call to this method. Use it to store values between aggregate calls (the current count, or sum of the args).

On the very first invocation of aggregate for a given grouping key, context will be `null`. All subsequent invocations context will be the value returned on the previous invocation.

Parameters:
  `flowProcess` - of type FlowProcess
  `args` - of type TupleEntry
  `context` - of type Tuple @return Tuple

#### complete

    Tuple complete(FlowProcess flowProcess,
                 Tuple context)

Method complete allows the final aggregate computation to be performed before the return value is collected.

The number of values in the returned `Tuple` instance must match the number of declaredFields.

It is safe to return the context object as the result value.

Parameters:
  `flowProcess` - of type FlowProcess
  `context` - of type Tuple @return Tuple