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

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

Returns:
Iterator

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-2015 Concurrent, Inc. All Rights Reserved.