## cascading.operation
Interface BufferCall<C>

All Superinterfaces:
  OperationCall<C>

All Known Implementing Classes:
  ConcreteCall

    public interface BufferCall<C>

extends OperationCall<C>

Interface BufferCall provides access to the current `Buffer` invocation arguments.

Method Summary
`Iterator<TupleEntry>` `getArgumentsIterator()` Returns an `Iterator` of `TupleEntry` instances representing the arguments for the called `Buffer.operate(cascading.flow.FlowProcess, BufferCall)` method.
`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` `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 interface cascading.operation.OperationCall
`getArgumentFields, getContext, setContext`

Method Detail

### getGroup

    TupleEntry getGroup()

  Returns the current grouping `TupleEntry`.

  Returns:
    TupleEntry

### getArgumentsIterator

    Iterator<TupleEntry> getArgumentsIterator()

  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 `getJoinerClosure()`.

  Returns:
    Iterator<TupleEntry>

### getDeclaredFields

    Fields getDeclaredFields()

  Return the resolved `Fields` declared by the current `Operation`.

  Returns:
    Fields

### getOutputCollector

    TupleEntryCollector getOutputCollector()

  Returns the `TupleEntryCollector` used to emit result values. Zero or more entries may be emitted.

  Returns:
    TupleCollector

### setRetainValues

    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.

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

  Parameters:
    `retainValues` - of type boolean

### isRetainValues

    boolean isRetainValues()

  Returns `true` if non-grouping fields will not be nulled after the argumentsIterator is completed.

  Returns:
    true

### getJoinerClosure

    JoinerClosure getJoinerClosure()

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

  Returns:
    JoinerClosure

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