cascading.operation.aggregator

## Class First

- java.lang.Object
- - cascading.operation.BaseOperation<Tuple[]>
  - - cascading.operation.aggregator.ExtentBase
    - - cascading.operation.aggregator.First

- All Implemented Interfaces:
    DeclaresResults, Aggregator<Tuple[]>, Operation<Tuple[]>, Traceable, java.io.Serializable

      public class First
      extends ExtentBase

  Class First is an `Aggregator` that returns the first `Tuple` encountered in a grouping.

  By default, it returns the first Tuple of `Fields.ARGS` found.

  If `firstN` is given, Tuples with each of the first N number of Tuples encountered are returned. That is, this Aggregator will return at maximum N tuples per grouping.

  Be sure to set the `GroupBy` `sortFields` to control which Tuples are seen first.
  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class cascading.operation.BaseOperation

      `fieldDeclaration, numArgs, trace`

    - ### Fields inherited from interface cascading.operation.Operation

      `ANY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `First()` Selects and returns the first argument Tuple encountered.
    `First(Fields fieldDeclaration)` Selects and returns the first argument Tuple encountered.
    `First(Fields fieldDeclaration, int firstN)` Selects and returns the first N argument Tuples encountered.
    `First(Fields fieldDeclaration, Tuple... ignoreTuples)` Selects and returns the first argument Tuple encountered, unless the Tuple is a member of the set ignoreTuples.
    `First(int firstN)` Selects and returns the first N argument Tuples encountered.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `complete(FlowProcess flowProcess, AggregatorCall<Tuple[]> aggregatorCall)` Method complete will be issued last after every `TupleEntry` has been passed to the `Aggregator.aggregate(cascading.flow.FlowProcess, AggregatorCall)` method.
    `int` | `getFirstN()`
    `protected void` | `performOperation(Tuple[] context, TupleEntry entry)`

    - ### Methods inherited from class cascading.operation.aggregator.ExtentBase

      `aggregate, equals, getIgnoreTuples, getResult, hashCode, prepare, start`

    - ### 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`

- - ### Constructor Detail

    - #### First

          public First()

      Selects and returns the first argument Tuple encountered.

    - #### First

          @ConstructorProperties(value="firstN")
          public First(int firstN)

      Selects and returns the first N argument Tuples encountered.
      Parameters:
        `firstN` - of type int

    - #### First

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

      Selects and returns the first argument Tuple encountered.
      Parameters:
        `fieldDeclaration` - of type Fields

    - #### First

          @ConstructorProperties(value={"fieldDeclaration","firstN"})
          public First(Fields fieldDeclaration,
                                     int firstN)

      Selects and returns the first N argument Tuples encountered.
      Parameters:
        `fieldDeclaration` - of type Fields
        `firstN` - of type int

    - #### First

          @ConstructorProperties(value={"fieldDeclaration","ignoreTuples"})
          public First(Fields fieldDeclaration,
                                     Tuple... ignoreTuples)

      Selects and returns the first argument Tuple encountered, unless the Tuple is a member of the set ignoreTuples.
      Parameters:
        `fieldDeclaration` - of type Fields
        `ignoreTuples` - of type Tuple...

  - ### Method Detail

    - #### getFirstN

          public int getFirstN()

    - #### performOperation

          protected void performOperation(Tuple[] context,
                              TupleEntry entry)

      Specified by:
        `performOperation` in class `ExtentBase`

    - #### complete

          public void complete(FlowProcess flowProcess,
                      AggregatorCall<Tuple[]> aggregatorCall)

      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<Tuple[]>`
      Overrides:
        `complete` in class `ExtentBase`
      Parameters:
        `flowProcess` - of type FlowProcess
        `aggregatorCall` - of type AggregatorCall

Copyright © 2007-2015 Xplenty, Inc. All Rights Reserved.