Q
- the type of object returned by the builder (by default a Flow)public class FlowBuilder<Q>
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
FlowBuilder.SplitBuilder<Q>
A builder for building a split state.
|
static class |
FlowBuilder.TransitionBuilder<Q>
A builder for transitions within a flow.
|
static class |
FlowBuilder.UnterminatedFlowBuilder<Q>
A builder for continuing a flow from a decision state.
|
Constructor and Description |
---|
FlowBuilder(java.lang.String name) |
Modifier and Type | Method and Description |
---|---|
Q |
build()
Validate the current state of the builder and build a flow.
|
Q |
end()
A synonym for
build() which callers might find useful. |
protected Flow |
flow() |
FlowBuilder<Q> |
from(Flow flow)
Start again from a subflow that was already registered.
|
FlowBuilder.UnterminatedFlowBuilder<Q> |
from(JobExecutionDecider decider)
Start again from a decision that was already registered.
|
FlowBuilder<Q> |
from(Step step)
Go back to a previously registered step and start a new path.
|
FlowBuilder<Q> |
next(Flow flow)
Go next on successful completion to a subflow.
|
FlowBuilder.UnterminatedFlowBuilder<Q> |
next(JobExecutionDecider decider)
Transition to the decider on successful completion of the current step.
|
FlowBuilder<Q> |
next(Step step)
Transition to the next step on successful completion of the current step.
|
FlowBuilder.TransitionBuilder<Q> |
on(java.lang.String pattern)
Start a transition to a new state if the exit status from the previous state matches the pattern given.
|
FlowBuilder.SplitBuilder<Q> |
split(org.springframework.core.task.TaskExecutor executor) |
FlowBuilder<Q> |
start(Flow flow)
If a flow should start with a subflow use this as the first state.
|
FlowBuilder.UnterminatedFlowBuilder<Q> |
start(JobExecutionDecider decider)
If a flow should start with a decision use this as the first state.
|
FlowBuilder<Q> |
start(Step step)
Start a flow.
|
protected void |
stop(java.lang.String pattern) |
protected void |
stop(java.lang.String pattern,
State restart) |
public Q build()
public FlowBuilder<Q> next(Step step)
step
- the next steppublic FlowBuilder<Q> start(Step step)
from(Step)
.step
- the step to start withpublic FlowBuilder<Q> from(Step step)
start(Step)
.step
- the step to start from (already registered)public FlowBuilder.UnterminatedFlowBuilder<Q> next(JobExecutionDecider decider)
decider
- the JobExecutionDecider to determine the next step to executepublic FlowBuilder.UnterminatedFlowBuilder<Q> start(JobExecutionDecider decider)
decider
- the to start frompublic FlowBuilder.UnterminatedFlowBuilder<Q> from(JobExecutionDecider decider)
decider
- the decider to start from (already registered)public FlowBuilder<Q> next(Flow flow)
flow
- the flow to go topublic FlowBuilder<Q> from(Flow flow)
flow
- the flow to start from (already registered)public FlowBuilder<Q> start(Flow flow)
flow
- the flow to start frompublic FlowBuilder.SplitBuilder<Q> split(org.springframework.core.task.TaskExecutor executor)
executor
- a task executor to execute the split flowspublic FlowBuilder.TransitionBuilder<Q> on(java.lang.String pattern)
ExitStatus
for commonly used values.pattern
- the pattern of exit status on which to take this transitionpublic final Q end()
build()
which callers might find useful. Subclasses can override build to create an object
of the desired type (e.g. a parent builder or an actual flow).protected Flow flow()
protected void stop(java.lang.String pattern)
protected void stop(java.lang.String pattern, State restart)