Package org.springframework.batch.core.job.flow

# Class FlowStep

java.lang.Object
org.springframework.batch.core.step.AbstractStep
org.springframework.batch.core.job.flow.FlowStep

All Implemented Interfaces:
  `Step`, `org.springframework.beans.factory.Aware`, `org.springframework.beans.factory.BeanNameAware`, `org.springframework.beans.factory.InitializingBean`

public class FlowStep extends AbstractStep
A `Step` implementation that delegates to a `Flow`. Useful for logical grouping of steps, and especially for partitioning with multiple steps per execution. If the flow has steps then when the `FlowStep` executes, all steps including the parent `FlowStep` will have executions in the `JobRepository` (one for the parent and one each for the flow steps).

Author:
  Dave Syer

- ## Field Summary

  ### Fields inherited from interface org.springframework.batch.core.Step

  `STEP_TYPE_KEY`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FlowStep()`
  Default constructor convenient for configuration purposes.
  `FlowStep(Flow flow)`
  Constructor for a `FlowStep` that sets the flow and of the step explicitly.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `afterPropertiesSet()`
  Ensure that the flow is set.
  `protected void`
  `doExecute(StepExecution stepExecution)`
  Delegate to the flow provided for the execution of the step.
  `void`
  `setFlow(Flow flow)`
  Public setter for the flow.

  ### Methods inherited from class org.springframework.batch.core.step.AbstractStep

  `close, doExecutionRegistration, doExecutionRelease, execute, getCompositeListener, getJobRepository, getName, getStartLimit, isAllowStartIfComplete, open, registerStepExecutionListener, setAllowStartIfComplete, setBeanName, setJobRepository, setName, setStartLimit, setStepExecutionListeners, toString`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### FlowStep

    public FlowStep()
    Default constructor convenient for configuration purposes.

  - ### FlowStep

    public FlowStep(Flow flow)
    Constructor for a `FlowStep` that sets the flow and of the step explicitly.
    Parameters:
      `flow` - the `Flow` instance to be associated with this step.

- ## Method Details

  - ### setFlow

    public void setFlow(Flow flow)
    Public setter for the flow.
    Parameters:
      `flow` - the flow to set

  - ### afterPropertiesSet

    public void afterPropertiesSet() throws Exception
    Ensure that the flow is set.
    Specified by:
      `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
    Overrides:
      `afterPropertiesSet` in class `AbstractStep`
    Throws:
      `Exception`
    See Also:
      - `AbstractStep.afterPropertiesSet()`

  - ### doExecute

    protected void doExecute(StepExecution stepExecution) throws Exception
    Delegate to the flow provided for the execution of the step.
    Specified by:
      `doExecute` in class `AbstractStep`
    Parameters:
      `stepExecution` - the current step context
    Throws:
      `Exception` - checked exception thrown by implementation
    See Also:
      - `AbstractStep.doExecute(StepExecution)`