|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object groovyx.gpars.dataflow.operator.Pipeline
public final class Pipeline
A builder for operator pipelines. The greatest benefit of using the Pipeline class compared to chaining the channels directly is the ease with which a custom thread pool/group can be applied to all the operators along the constructed chain.
Field Summary | |
---|---|
private boolean |
complete
|
private PGroup |
group
|
private DataflowReadChannel |
output
|
Constructor Summary | |
---|---|
Pipeline(DataflowReadChannel output)
|
|
Pipeline(PGroup group,
DataflowReadChannel output)
|
|
Pipeline(Pool pool,
DataflowReadChannel output)
|
Method Summary | ||
---|---|---|
|
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. |
|
|
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. |
|
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()
|
|
|
chainWith(groovy.lang.Closure<V> closure)
Creates and attaches a new operator |
|
|
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()
|
|
|
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. |
|
|
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. |
|
|
into(DataflowWriteChannel<V> target)
Makes the output of the pipeline to be an input for the specified channel |
|
|
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. |
|
|
or(groovy.lang.Closure<V> closure)
Creates and attaches a new operator |
|
|
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. |
|
|
split(DataflowWriteChannel<V> target1,
DataflowWriteChannel<V> target2)
Splits the output of the pipeline to be an input for the specified channels |
|
|
split(java.util.List<DataflowWriteChannel<V>> targets)
Makes the output of the pipeline to be an input for the specified channels |
|
|
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 |
|
|
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 |
|
|
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. |
|
|
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. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final PGroup group
private DataflowReadChannel output
private boolean complete
Constructor Detail |
---|
public Pipeline(DataflowReadChannel output)
public Pipeline(Pool pool, DataflowReadChannel output)
public Pipeline(PGroup group, DataflowReadChannel output)
Method Detail |
---|
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 body
public <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 body
public <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 body
public 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 not
public 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 not
public <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 into
public <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 into
Pipeline 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.
|
Copyright © 2008–2012 Václav Pech. All Rights Reserved. | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |