Summer.Batch.Core.Job.Builder.FlowBuilder< T > Class Template Reference

A builder for a flow of steps that can be executed as a job or as part of a job. Steps can be linked together with conditional transitions that depend on the exit status of the previous step. More...

Classes

class  SplitBuilder
 A builder for building a split state. More...
 
class  TransitionBuilder
 A builder for transitions within a flow. More...
 

Public Member Functions

 FlowBuilder (string name)
 Custom constructor using a name. More...
 
virtual T Build ()
 Validates the current state of the builder and build a flow. Subclasses may override this to build an object of a different type that itself depends on the flow. More...
 
FlowBuilder< T > Next (IStep step)
 Transition to the next step on completion of the current step, except if the current step has failed. More...
 
FlowBuilder< T > Start (IStep step)
 Start a flow. If some steps are already registered, just a synonym for From(IStep). More...
 
FlowBuilder< T > From (IStep step)
 Go back to a previously registered step and start a new path. If no steps are registered yet just a synonym for Start(IStep). More...
 
FlowBuilder< T > Next (IFlow flow)
 Go next on successful completion to a subflow. More...
 
FlowBuilder< T > Start (IFlow flow)
 If a flow should start with a subflow use this as the first state. More...
 
FlowBuilder< T > From (IFlow flow)
 Starts again from a subflow that was already registered. More...
 
SplitBuilder Split (ITaskExecutor executor)
 Splits the flow. More...
 
TransitionBuilder On (string pattern)
 Starts a transition to a new state if the exit status from the previous state matches the pattern given. Successful completion normally results in an exit status equal to (or starting with by convention) "COMPLETED". More...
 
End ()
 A synonym for 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). More...
 

Protected Member Functions

IFlow Flow ()
 Builds a new flow that will be returned by Build. More...
 

Detailed Description

A builder for a flow of steps that can be executed as a job or as part of a job. Steps can be linked together with conditional transitions that depend on the exit status of the previous step.

Template Parameters
T The type of object returned by the builder (by default a Flow).

Constructor & Destructor Documentation

Custom constructor using a name.

Parameters
name

Member Function Documentation

virtual T Summer.Batch.Core.Job.Builder.FlowBuilder< T >.Build ( )
virtual

Validates the current state of the builder and build a flow. Subclasses may override this to build an object of a different type that itself depends on the flow.

Returns

Reimplemented in Summer.Batch.Core.Job.Builder.JobFlowBuilder.

A synonym for 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).

Returns

Builds a new flow that will be returned by Build.

Returns
A new SimpleFlow.

Go back to a previously registered step and start a new path. If no steps are registered yet just a synonym for Start(IStep).

Parameters
step
Returns

Starts again from a subflow that was already registered.

Parameters
flow
Returns

Transition to the next step on completion of the current step, except if the current step has failed.

Parameters
step
Returns

Go next on successful completion to a subflow.

Parameters
flow
Returns

Starts a transition to a new state if the exit status from the previous state matches the pattern given. Successful completion normally results in an exit status equal to (or starting with by convention) "COMPLETED".

Parameters
pattern
Returns

Splits the flow.

Parameters
executora task executor to execute the split flows
Returns

Start a flow. If some steps are already registered, just a synonym for From(IStep).

Parameters
step
Returns

If a flow should start with a subflow use this as the first state.

Parameters
flow
Returns

The documentation for this class was generated from the following file:
  • Summer.Batch.Core/Core/Job/Builder/FlowBuilder.cs