cascading.operation

## Class ConcreteCall<C>

- java.lang.Object
- - cascading.operation.ConcreteCall<C>

- All Implemented Interfaces:
    AggregatorCall<C>, BufferCall<C>, FilterCall<C>, FunctionCall<C>, GroupAssertionCall<C>, OperationCall<C>, ValueAssertionCall<C>

      public class ConcreteCall<C>
      extends java.lang.Object
      implements FunctionCall<C>, FilterCall<C>, AggregatorCall<C>, BufferCall<C>, ValueAssertionCall<C>, GroupAssertionCall<C>

  Class OperationCall is the common base class for `FunctionCall`, `FilterCall`, `AggregatorCall`, `ValueAssertionCall`, and `GroupAssertionCall`.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConcreteCall()` Constructor OperationCall creates a new OperationCall instance.
    `ConcreteCall(ConcreteCall<C> concreteCall)`
    `ConcreteCall(Fields argumentFields)` Constructor ConcreteCall creates a new ConcreteCall instance.
    `ConcreteCall(Fields argumentFields, Fields declaredFields)` Constructor ConcreteCall creates a new ConcreteCall instance.
    `ConcreteCall(TupleEntry arguments, TupleEntryCollector outputCollector)` Constructor OperationCall creates a new OperationCall instance.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Fields` | `getArgumentFields()` Returns the `Fields` of the expected arguments `TupleEntry`.
    `TupleEntry` | `getArguments()` Returns `TupleEntry` of argument values.
    `java.util.Iterator<TupleEntry>` | `getArgumentsIterator()` Returns an `Iterator` of `TupleEntry` instances representing the arguments for the called `Buffer.operate(cascading.flow.FlowProcess, BufferCall)` method.
    `C` | `getContext()` Returns the user set context object, C.
    `Fields` | `getDeclaredFields()` Return the resolved `Fields` declared by the current `Operation`.
    `TupleEntry` | `getGroup()` Returns the current grouping `TupleEntry`.
    `JoinerClosure` | `getJoinerClosure()` Returns the current instance of a `JoinerClosure`, if any.
    `TupleEntryCollector` | `getOutputCollector()` Returns the `TupleEntryCollector` used to emit result values.
    `boolean` | `isRetainValues()` Returns `true` if non-grouping fields will not be nulled after the argumentsIterator is completed.
    `void` | `setArgumentFields(Fields argumentFields)`
    `void` | `setArguments(TupleEntry arguments)`
    `void` | `setArgumentsIterator(java.util.Iterator<TupleEntry> argumentsIterator)`
    `void` | `setContext(C context)` Sets the user defined 'context' object.
    `void` | `setGroup(TupleEntry group)`
    `void` | `setJoinerClosure(JoinerClosure joinerClosure)`
    `void` | `setOutputCollector(TupleEntryCollector outputCollector)`
    `void` | `setRetainValues(boolean retainValues)` Set to `false` if at the end of all values iterated over in the argumentsIterator, the last seen argument tuple values should not be nulled out.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ConcreteCall

          public ConcreteCall()

      Constructor OperationCall creates a new OperationCall instance.

    - #### ConcreteCall

          public ConcreteCall(Fields argumentFields)

      Constructor ConcreteCall creates a new ConcreteCall instance.
      Parameters:
        `argumentFields` - of type Fields

    - #### ConcreteCall

          public ConcreteCall(Fields argumentFields,
                      Fields declaredFields)

      Constructor ConcreteCall creates a new ConcreteCall instance.
      Parameters:
        `argumentFields` - of type Fields
        `declaredFields` - of type Fields

    - #### ConcreteCall

          public ConcreteCall(TupleEntry arguments,
                      TupleEntryCollector outputCollector)

      Constructor OperationCall creates a new OperationCall instance.
      Parameters:
        `arguments` - of type TupleEntry
        `outputCollector` - of type TupleCollector

    - #### ConcreteCall

          public ConcreteCall(ConcreteCall<C> concreteCall)

  - ### Method Detail

    - #### getContext

          public C getContext()

      Description copied from interface: `OperationCall`
      Returns the user set context object, C.
      Specified by:
        `getContext` in interface `OperationCall<C>`
      Returns:
        user defined object
      See Also:
        `OperationCall.getContext()`

    - #### setContext

          public void setContext(C context)

      Description copied from interface: `OperationCall`
      Sets the user defined 'context' object.
      Specified by:
        `setContext` in interface `OperationCall<C>`
      Parameters:
        `context` - user defined object

    - #### getGroup

          public TupleEntry getGroup()

      Description copied from interface: `AggregatorCall`
      Returns the current grouping `TupleEntry`.
      Specified by:
        `getGroup` in interface `AggregatorCall<C>`
      Specified by:
        `getGroup` in interface `BufferCall<C>`
      Specified by:
        `getGroup` in interface `GroupAssertionCall<C>`
      Returns:
        TupleEntry
      See Also:
        `AggregatorCall.getGroup()`

    - #### setGroup

          public void setGroup(TupleEntry group)

    - #### getArgumentFields

          public Fields getArgumentFields()

      Description copied from interface: `OperationCall`
      Returns the `Fields` of the expected arguments `TupleEntry`.
      Specified by:
        `getArgumentFields` in interface `OperationCall<C>`
      Returns:
        the argumentFields (type Fields) of this OperationCall object.

    - #### setArgumentFields

          public void setArgumentFields(Fields argumentFields)

    - #### getArgumentsIterator

          public java.util.Iterator<TupleEntry> getArgumentsIterator()

      Description copied from interface: `BufferCall`
      Returns an `Iterator` of `TupleEntry` instances representing the arguments for the called `Buffer.operate(cascading.flow.FlowProcess, BufferCall)` method.

      The return value may be `null` if the previous `CoGroup` declares `BufferJoin` as the `Joiner`.

      See `BufferCall.getJoinerClosure()`.

      Note that the returned TupleEntry should not be cached (stored in a Collection), nor should the underlying Tuple instance. Where possible Cascading will re-use both TupleEntry and Tuple instances.

      To get a safe copy that can be cached, use `TupleEntry.getTupleCopy()`.
      Specified by:
        `getArgumentsIterator` in interface `BufferCall<C>`
      Returns:
        Iterator
      See Also:
        `BufferCall.getArgumentsIterator()`

    - #### setArgumentsIterator

          public void setArgumentsIterator(java.util.Iterator<TupleEntry> argumentsIterator)

    - #### getArguments

          public TupleEntry getArguments()

      Description copied from interface: `FunctionCall`
      Returns `TupleEntry` of argument values.

      Note that the returned TupleEntry should not be cached (stored in a Collection), nor should the underlying Tuple instance. Where possible Cascading will re-use both TupleEntry and Tuple instances.

      To get a safe copy that can be cached, use `TupleEntry.getTupleCopy()`.
      Specified by:
        `getArguments` in interface `AggregatorCall<C>`
      Specified by:
        `getArguments` in interface `FilterCall<C>`
      Specified by:
        `getArguments` in interface `FunctionCall<C>`
      Specified by:
        `getArguments` in interface `GroupAssertionCall<C>`
      Specified by:
        `getArguments` in interface `ValueAssertionCall<C>`
      Returns:
        TupleEntry
      See Also:
        `FunctionCall.getArguments()`

    - #### setArguments

          public void setArguments(TupleEntry arguments)

    - #### getDeclaredFields

          public Fields getDeclaredFields()

      Description copied from interface: `FunctionCall`
      Return the resolved `Fields` declared by the current `Operation`.
      Specified by:
        `getDeclaredFields` in interface `AggregatorCall<C>`
      Specified by:
        `getDeclaredFields` in interface `BufferCall<C>`
      Specified by:
        `getDeclaredFields` in interface `FunctionCall<C>`
      Returns:
        Fields

    - #### getOutputCollector

          public TupleEntryCollector getOutputCollector()

      Description copied from interface: `FunctionCall`
      Returns the `TupleEntryCollector` used to emit result values.
      Specified by:
        `getOutputCollector` in interface `AggregatorCall<C>`
      Specified by:
        `getOutputCollector` in interface `BufferCall<C>`
      Specified by:
        `getOutputCollector` in interface `FunctionCall<C>`
      Returns:
        TupleCollector
      See Also:
        `FunctionCall.getOutputCollector()`

    - #### setOutputCollector

          public void setOutputCollector(TupleEntryCollector outputCollector)

    - #### setRetainValues

          public void setRetainValues(boolean retainValues)

      Description copied from interface: `BufferCall`
      Set to `false` if at the end of all values iterated over in the argumentsIterator, the last seen argument tuple values should not be nulled out.

      By default, if a result is emitted from the Buffer before and after the argumentsIterator is started or completed, the last seen non-grouping values are null. When false, the values are not nulled after completion.

      The default is `true`.
      Specified by:
        `setRetainValues` in interface `BufferCall<C>`
      Parameters:
        `retainValues` - of type boolean

    - #### isRetainValues

          public boolean isRetainValues()

      Description copied from interface: `BufferCall`
      Returns `true` if non-grouping fields will not be nulled after the argumentsIterator is completed.
      Specified by:
        `isRetainValues` in interface `BufferCall<C>`
      Returns:
        true

    - #### setJoinerClosure

          public void setJoinerClosure(JoinerClosure joinerClosure)

    - #### getJoinerClosure

          public JoinerClosure getJoinerClosure()

      Description copied from interface: `BufferCall`
      Returns the current instance of a `JoinerClosure`, if any. This allows a Buffer to implement its own join strategy against the incoming tuple streams.

      The return value is always `null` unless the declared fields on the `CoGroup` are `Fields.NONE`.

      Note this method is provided as a means to bypass some of the Cascading internals in order to improve the implementations (performance or maintainability) behind some algorithms.

      Consider it only if you are an advanced user. Or more robustly, consider implementing a custom `Joiner`.
      Specified by:
        `getJoinerClosure` in interface `BufferCall<C>`
      Returns:
        JoinerClosure

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