public final class Pipeline
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private boolean |
complete |
private PGroup |
group |
private DataflowReadChannel |
output |
Constructor and Description |
---|
Pipeline(DataflowReadChannel output) |
Pipeline(PGroup group,
DataflowReadChannel output) |
Pipeline(Pool pool,
DataflowReadChannel output) |
Modifier and Type | Method and Description |
---|---|
<T> void |
binaryChoice(DataflowWriteChannel<T> trueBranch,
DataflowWriteChannel<T> falseBranch,
groovy.lang.Closure<java.lang.Boolean> code)
Directs the output to one of the two output channels depending on the boolean result of the provided closure.
|
<T> void |
binaryChoice(java.util.Map<java.lang.String,java.lang.Object> params,
DataflowWriteChannel<T> trueBranch,
DataflowWriteChannel<T> falseBranch,
groovy.lang.Closure<java.lang.Boolean> code)
Directs the output to one of the two output channels depending on the boolean result of the provided closure.
|
<V> Pipeline |
chainWith(groovy.lang.Closure<V> closure)
Creates and attaches a new operator
|
<V> Pipeline |
chainWith(java.util.Map<java.lang.String,java.lang.Object> params,
groovy.lang.Closure<V> closure)
Creates and attaches a new operator
|
private void |
checkState() |
<T> void |
choice(java.util.List<DataflowWriteChannel<T>> outputs,
groovy.lang.Closure<java.lang.Integer> code)
Directs the output to one of the output channels depending on the int result of the provided closure.
|
<T> void |
choice(java.util.Map<java.lang.String,java.lang.Object> params,
java.util.List<DataflowWriteChannel<T>> outputs,
groovy.lang.Closure<java.lang.Integer> code)
Directs the output to one of the output channels depending on the int result of the provided closure.
|
Pipeline |
filter(groovy.lang.Closure<java.lang.Boolean> closure)
Creates and attaches a new operator that will filter data using the provided closure
|
Pipeline |
filter(java.util.Map<java.lang.String,java.lang.Object> params,
groovy.lang.Closure<java.lang.Boolean> closure)
Creates and attaches a new operator that will filter data using the provided closure
|
PGroup |
getGroup() |
DataflowReadChannel |
getOutput() |
<V> void |
into(DataflowWriteChannel<V> target)
Makes the output of the pipeline to be an input for the specified channel
|
<V> void |
into(java.util.Map<java.lang.String,java.lang.Object> params,
DataflowWriteChannel<V> target)
Makes the output of the pipeline to be an input for the specified channel
|
boolean |
isComplete() |
(package private) Pipeline |
merge(DataflowReadChannel<java.lang.Object> other,
groovy.lang.Closure closure)
Merges channels together as inputs for a single dataflow operator.
|
(package private) Pipeline |
merge(java.util.List<DataflowReadChannel<java.lang.Object>> others,
groovy.lang.Closure closure)
Merges channels together as inputs for a single dataflow operator.
|
(package private) Pipeline |
merge(java.util.Map<java.lang.String,java.lang.Object> params,
DataflowReadChannel<java.lang.Object> other,
groovy.lang.Closure closure)
Merges channels together as inputs for a single dataflow operator.
|
(package private) Pipeline |
merge(java.util.Map<java.lang.String,java.lang.Object> params,
java.util.List<DataflowReadChannel<java.lang.Object>> others,
groovy.lang.Closure closure)
Merges channels together as inputs for a single dataflow operator.
|
<V> Pipeline |
or(groovy.lang.Closure<V> closure)
Creates and attaches a new operator
|
<V> void |
or(DataflowWriteChannel<V> target)
Makes the output of the pipeline to be an input for the specified channel
|
void |
separate(java.util.List<DataflowWriteChannel<?>> outputs,
groovy.lang.Closure<java.util.List<java.lang.Object>> code)
Allows the closure to output different values to different output channels.
|
void |
separate(java.util.Map<java.lang.String,java.lang.Object> params,
java.util.List<DataflowWriteChannel<?>> outputs,
groovy.lang.Closure<java.util.List<java.lang.Object>> code)
Allows the closure to output different values to different output channels.
|
<V> void |
split(DataflowWriteChannel<V> target1,
DataflowWriteChannel<V> target2)
Splits the output of the pipeline to be an input for the specified channels
|
<V> void |
split(java.util.List<DataflowWriteChannel<V>> targets)
Makes the output of the pipeline to be an input for the specified channels
|
<V> void |
split(java.util.Map<java.lang.String,java.lang.Object> params,
DataflowWriteChannel<V> target1,
DataflowWriteChannel<V> target2)
Splits the output of the pipeline to be an input for the specified channels
|
<V> void |
split(java.util.Map<java.lang.String,java.lang.Object> params,
java.util.List<DataflowWriteChannel<V>> targets)
Makes the output of the pipeline to be an input for the specified channels
|
<V> Pipeline |
tap(DataflowWriteChannel<V> target)
Taps into the pipeline at the current position, sending all data that pass through the pipeline also to the channel specified.
|
<V> Pipeline |
tap(java.util.Map<java.lang.String,java.lang.Object> params,
DataflowWriteChannel<V> target)
Taps into the pipeline at the current position, sending all data that pass through the pipeline also to the channel specified.
|
private final PGroup group
private DataflowReadChannel output
private boolean complete
public Pipeline(DataflowReadChannel output)
public Pipeline(Pool pool, DataflowReadChannel output)
public Pipeline(PGroup group, DataflowReadChannel output)
public PGroup getGroup()
public DataflowReadChannel getOutput()
public boolean isComplete()
private void checkState()
public <V> Pipeline chainWith(groovy.lang.Closure<V> closure)
V
- The type of values returned from the supplied closureclosure
- The function to invoke on all incoming values as part of the new operator's bodypublic <V> Pipeline chainWith(java.util.Map<java.lang.String,java.lang.Object> params, groovy.lang.Closure<V> closure)
V
- The type of values returned from the supplied closureparams
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)closure
- The function to invoke on all incoming values as part of the new operator's bodypublic <V> Pipeline or(groovy.lang.Closure<V> closure)
V
- The type of values returned from the supplied closureclosure
- The function to invoke on all incoming values as part of the new operator's bodypublic Pipeline filter(groovy.lang.Closure<java.lang.Boolean> closure)
closure
- The filter function to invoke on all incoming values to decide whether to pass the value on or notpublic Pipeline filter(java.util.Map<java.lang.String,java.lang.Object> params, groovy.lang.Closure<java.lang.Boolean> closure)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)closure
- The filter function to invoke on all incoming values to decide whether to pass the value on or notpublic <V> void into(DataflowWriteChannel<V> target)
V
- The type of values passed between the channelstarget
- The channel to copy data intopublic <V> void into(java.util.Map<java.lang.String,java.lang.Object> params, DataflowWriteChannel<V> target)
V
- The type of values passed between the channelsparams
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)target
- The channel to copy data intopublic <V> void or(DataflowWriteChannel<V> target)
V
- The type of values passed between the channelstarget
- The channel to copy data intopublic <V> void split(DataflowWriteChannel<V> target1, DataflowWriteChannel<V> target2)
V
- The type of values passed between the channelstarget1
- The first channel to copy data intotarget2
- The second channel to copy data intopublic <V> void split(java.util.List<DataflowWriteChannel<V>> targets)
V
- The type of values passed between the channelstargets
- The channels to copy data intopublic <V> void split(java.util.Map<java.lang.String,java.lang.Object> params, DataflowWriteChannel<V> target1, DataflowWriteChannel<V> target2)
V
- The type of values passed between the channelsparams
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)target1
- The first channel to copy data intotarget2
- The second channel to copy data intopublic <V> void split(java.util.Map<java.lang.String,java.lang.Object> params, java.util.List<DataflowWriteChannel<V>> targets)
V
- The type of values passed between the channelsparams
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)targets
- The channels to copy data intopublic <V> Pipeline tap(DataflowWriteChannel<V> target)
V
- The type of values passed between the channelstarget
- The channel to tap data intopublic <V> Pipeline tap(java.util.Map<java.lang.String,java.lang.Object> params, DataflowWriteChannel<V> target)
V
- The type of values passed between the channelsparams
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)target
- The channel to tap data intoPipeline merge(DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure closure)
other
- The channel to merge withclosure
- The function to invoke on all incoming values as part of the new operator's body. The number of arguments to the closure must match the number of input channels.Pipeline merge(java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure closure)
others
- The channels to merge withclosure
- The function to invoke on all incoming values as part of the new operator's body. The number of arguments to the closure must match the number of input channels.Pipeline merge(java.util.Map<java.lang.String,java.lang.Object> params, DataflowReadChannel<java.lang.Object> other, groovy.lang.Closure closure)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)other
- The channel to merge withclosure
- The function to invoke on all incoming values as part of the new operator's body. The number of arguments to the closure must match the number of input channels.Pipeline merge(java.util.Map<java.lang.String,java.lang.Object> params, java.util.List<DataflowReadChannel<java.lang.Object>> others, groovy.lang.Closure closure)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)others
- The channels to merge withclosure
- The function to invoke on all incoming values as part of the new operator's body. The number of arguments to the closure must match the number of input channels.public <T> void binaryChoice(DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code)
trueBranch
- The channel to send data to if the closure returns truefalseBranch
- The channel to send data to if the closure returns truecode
- A closure directing data to either the true or the false output branchpublic <T> void binaryChoice(java.util.Map<java.lang.String,java.lang.Object> params, DataflowWriteChannel<T> trueBranch, DataflowWriteChannel<T> falseBranch, groovy.lang.Closure<java.lang.Boolean> code)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)trueBranch
- The channel to send data to if the closure returns truefalseBranch
- The channel to send data to if the closure returns truecode
- A closure directing data to either the true or the false output branchpublic <T> void choice(java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code)
outputs
- The channels to send data to.code
- A closure returning an index of the output channel to direct the data topublic <T> void choice(java.util.Map<java.lang.String,java.lang.Object> params, java.util.List<DataflowWriteChannel<T>> outputs, groovy.lang.Closure<java.lang.Integer> code)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)outputs
- The channels to send data to.code
- A closure returning an index of the output channel to direct the data topublic void separate(java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code)
outputs
- The channels to send data to.code
- A closure returning a list of values to pass to the output channels. Values are output to the output channels with identical index.public void separate(java.util.Map<java.lang.String,java.lang.Object> params, java.util.List<DataflowWriteChannel<?>> outputs, groovy.lang.Closure<java.util.List<java.lang.Object>> code)
params
- Additional parameters to initialize the operator with (e.g. listeners or maxForks)outputs
- The channels to send data to.code
- A closure returning a list of values to pass to the output channels. Values are output to the output channels with identical index.