public class ConcreteCall<C> extends Object implements FunctionCall<C>, FilterCall<C>, AggregatorCall<C>, BufferCall<C>, ValueAssertionCall<C>, GroupAssertionCall<C>
FunctionCall
, FilterCall
,
AggregatorCall
, ValueAssertionCall
, and GroupAssertionCall
.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.
|
Modifier and Type | Method and Description |
---|---|
Fields |
getArgumentFields()
Returns the
Fields of the expected arguments TupleEntry . |
TupleEntry |
getArguments()
Returns
TupleEntry of argument values. |
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()
|
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(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. |
public ConcreteCall()
public ConcreteCall(Fields argumentFields)
argumentFields
- of type Fieldspublic ConcreteCall(Fields argumentFields, Fields declaredFields)
argumentFields
- of type FieldsdeclaredFields
- of type Fieldspublic ConcreteCall(TupleEntry arguments, TupleEntryCollector outputCollector)
arguments
- of type TupleEntryoutputCollector
- of type TupleCollectorpublic ConcreteCall(ConcreteCall<C> concreteCall)
public C getContext()
OperationCall
getContext
in interface OperationCall<C>
OperationCall.getContext()
public void setContext(C context)
OperationCall
setContext
in interface OperationCall<C>
context
- user defined objectpublic TupleEntry getGroup()
AggregatorCall
TupleEntry
.getGroup
in interface AggregatorCall<C>
getGroup
in interface BufferCall<C>
getGroup
in interface GroupAssertionCall<C>
AggregatorCall.getGroup()
public void setGroup(TupleEntry group)
public Fields getArgumentFields()
OperationCall
Fields
of the expected arguments TupleEntry
.getArgumentFields
in interface OperationCall<C>
public void setArgumentFields(Fields argumentFields)
public Iterator<TupleEntry> getArgumentsIterator()
BufferCall
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()
.getArgumentsIterator
in interface BufferCall<C>
BufferCall.getArgumentsIterator()
public void setArgumentsIterator(Iterator<TupleEntry> argumentsIterator)
public TupleEntry getArguments()
FunctionCall
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()
.getArguments
in interface AggregatorCall<C>
getArguments
in interface FilterCall<C>
getArguments
in interface FunctionCall<C>
getArguments
in interface GroupAssertionCall<C>
getArguments
in interface ValueAssertionCall<C>
FunctionCall.getArguments()
public void setArguments(TupleEntry arguments)
public Fields getDeclaredFields()
FunctionCall
getDeclaredFields
in interface AggregatorCall<C>
getDeclaredFields
in interface BufferCall<C>
getDeclaredFields
in interface FunctionCall<C>
public TupleEntryCollector getOutputCollector()
FunctionCall
TupleEntryCollector
used to emit result values.getOutputCollector
in interface AggregatorCall<C>
getOutputCollector
in interface BufferCall<C>
getOutputCollector
in interface FunctionCall<C>
FunctionCall.getOutputCollector()
public void setOutputCollector(TupleEntryCollector outputCollector)
public void setRetainValues(boolean retainValues)
BufferCall
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
.setRetainValues
in interface BufferCall<C>
retainValues
- of type booleanpublic boolean isRetainValues()
BufferCall
true
if non-grouping fields will not be nulled after the argumentsIterator is completed.isRetainValues
in interface BufferCall<C>
public void setJoinerClosure(JoinerClosure joinerClosure)
public JoinerClosure getJoinerClosure()
BufferCall
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
.getJoinerClosure
in interface BufferCall<C>
Copyright © 2007-2015 Concurrent, Inc. All Rights Reserved.