## cascading.operation.aggregator
Class ExtremaBase

    java.lang.Object
      cascading.operation.BaseOperation<ExtremaBase.Context>
          cascading.operation.aggregator.ExtremaBase

All Implemented Interfaces:
  DeclaresResults, Aggregator<ExtremaBase.Context>, Operation<ExtremaBase.Context>, Traceable, Serializable

Direct Known Subclasses:
  Max, Min

Deprecated.

    @Deprecated
    public abstract class ExtremaBase

extends BaseOperation<ExtremaBase.Context>
implements Aggregator<ExtremaBase.Context>

Class ExtremaBase is the base class for Max and Min. The unique thing about Max and Min are that they return the original, un-coerced, argument value, though a coerced version of the argument is used for the comparison.

See Also:
  Serialized Form

Nested Class Summary
`protected static class` `ExtremaBase.Context` Deprecated.

Field Summary
`protected Collection` `ignoreValues` Deprecated. Field ignoreValues

Fields inherited from class cascading.operation.BaseOperation
`fieldDeclaration, numArgs, trace`

Fields inherited from interface cascading.operation.Operation
`ANY`

Constructor Summary
`` `ExtremaBase(Fields fieldDeclaration)` Deprecated.
`protected` `ExtremaBase(Fields fieldDeclaration, Object... ignoreValues)` Deprecated.
`` `ExtremaBase(int numArgs, Fields fieldDeclaration)` Deprecated.

Method Summary
`void` `aggregate(FlowProcess flowProcess, AggregatorCall<ExtremaBase.Context> aggregatorCall)` Deprecated. Method aggregate is called for each `TupleEntry` value in the current grouping.
`protected abstract boolean` `compare(Number lhs, Number rhs)` Deprecated.
`void` `complete(FlowProcess flowProcess, AggregatorCall<ExtremaBase.Context> aggregatorCall)` Deprecated. Method complete will be issued last after every `TupleEntry` has been passed to the `Aggregator.aggregate(cascading.flow.FlowProcess, AggregatorCall)` method.
`boolean` `equals(Object object)` Deprecated.
`Collection` `getIgnoreValues()` Deprecated.
`protected abstract double` `getInitialValue()` Deprecated.
`protected Tuple` `getResult(AggregatorCall<ExtremaBase.Context> aggregatorCall)` Deprecated.
`int` `hashCode()` Deprecated.
`void` `prepare(FlowProcess flowProcess, OperationCall<ExtremaBase.Context> operationCall)` Deprecated. Method prepare does nothing, and may safely be overridden.
`void` `start(FlowProcess flowProcess, AggregatorCall<ExtremaBase.Context> aggregatorCall)` Deprecated. Method start initializes the aggregation procedure and is called for every unique grouping.

Methods inherited from class cascading.operation.BaseOperation
`cleanup, flush, getFieldDeclaration, getNumArgs, getTrace, isSafe, printOperationInternal, toString, toStringInternal`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Methods inherited from interface cascading.operation.Operation
`cleanup, flush, getFieldDeclaration, getNumArgs, isSafe`

Field Detail

### ignoreValues

    protected final Collection ignoreValues

  Deprecated.
  Field ignoreValues

Constructor Detail

### ExtremaBase

    @ConstructorProperties(value="fieldDeclaration")
    public ExtremaBase(Fields fieldDeclaration)

  Deprecated.

### ExtremaBase

    @ConstructorProperties(value={"numArgs","fieldDeclaration"})
    public ExtremaBase(int numArgs,
                                                  Fields fieldDeclaration)

  Deprecated.

### ExtremaBase

    @ConstructorProperties(value={"fieldDeclaration","ignoreValues"})
    protected ExtremaBase(Fields fieldDeclaration,
                                                     Object... ignoreValues)

  Deprecated.

Method Detail

### getIgnoreValues

    public Collection getIgnoreValues()

  Deprecated.

### prepare

    public void prepare(FlowProcess flowProcess,
                        OperationCall<ExtremaBase.Context> operationCall)

  Deprecated.
  Description copied from class: `BaseOperation`
  Method prepare does nothing, and may safely be overridden.

  Specified by:
    `prepare` in interface `Operation<ExtremaBase.Context>`
  Overrides:
    `prepare` in class `BaseOperation<ExtremaBase.Context>`

### start

    public void start(FlowProcess flowProcess,
                      AggregatorCall<ExtremaBase.Context> aggregatorCall)

  Deprecated.
  Description copied from interface: `Aggregator`
  Method start initializes the aggregation procedure and is called for every unique grouping.

  The AggregatorCall context should be initialized here if necessary.

  The first time this method is called for a given 'process', the AggregatorCall context will be null. This method should set a new instance of the user defined context object. When the AggregatorCall context is not null, it is up to the developer to create a new instance, or 'recycle' the given instance. If recycled, it must be re-initialized to remove any previous state/values.

  For example, if a Map is used to hold the intermediate data for each subsequent `Aggregator.aggregate(cascading.flow.FlowProcess, AggregatorCall)` call, new HashMap() should be set on the AggregatorCall instance when `OperationCall.getContext()` is null. On the next grouping, start() will be called again, but this time with the old Map instance. In this case, map.clear() should be invoked before returning.

  Specified by:
    `start` in interface `Aggregator<ExtremaBase.Context>`
  Parameters:
    `flowProcess` - of type FlowProcess
    `aggregatorCall` - of type AggregatorCall

### getInitialValue

    protected abstract double getInitialValue()

  Deprecated.

### aggregate

    public void aggregate(FlowProcess flowProcess,
                          AggregatorCall<ExtremaBase.Context> aggregatorCall)

  Deprecated.
  Description copied from interface: `Aggregator`
  Method aggregate is called for each `TupleEntry` value in the current grouping.

  TupleEntry entry, or entry.getTuple() should not be stored directly in the context. A copy of the tuple should be made via the `new Tuple( entry.getTuple() )` copy constructor.

  Specified by:
    `aggregate` in interface `Aggregator<ExtremaBase.Context>`
  Parameters:
    `flowProcess` - of type FlowProcess
    `aggregatorCall` - of type AggregatorCall

### compare

    protected abstract boolean compare(Number lhs,
                                       Number rhs)

  Deprecated.

### complete

    public void complete(FlowProcess flowProcess,
                         AggregatorCall<ExtremaBase.Context> aggregatorCall)

  Deprecated.
  Description copied from interface: `Aggregator`
  Method complete will be issued last after every `TupleEntry` has been passed to the `Aggregator.aggregate(cascading.flow.FlowProcess, AggregatorCall)` method. Any final calculation should be completed here and passed to the outputCollector.

  Specified by:
    `complete` in interface `Aggregator<ExtremaBase.Context>`
  Parameters:
    `flowProcess` - of type FlowProcess
    `aggregatorCall` - of type AggregatorCall

### getResult

    protected Tuple getResult(AggregatorCall<ExtremaBase.Context> aggregatorCall)

  Deprecated.

### equals

    public boolean equals(Object object)

  Deprecated.
  Overrides:
    `equals` in class `BaseOperation<ExtremaBase.Context>`

### hashCode

    public int hashCode()

  Deprecated.
  Overrides:
    `hashCode` in class `BaseOperation<ExtremaBase.Context>`

Copyright © 2007-2014 Concurrent, Inc. All Rights Reserved.