java.lang.Object
org.springframework.batch.core.job.flow.support.state.AbstractState
org.springframework.batch.core.job.flow.support.state.FlowState
All Implemented Interfaces:
FlowHolder, State

public class FlowState extends AbstractState implements FlowHolder
State that delegates to a Flow
Since:
2.0
Author:
Dave Syer
  • Constructor Details

    • FlowState

      public FlowState(Flow flow, String name)
      Parameters:
      flow - the Flow to delegate to.
      name - the name of the state.
  • Method Details

    • getFlows

      public Collection<Flow> getFlows()
      Specified by:
      getFlows in interface FlowHolder
      Returns:
      the flows
    • handle

      public FlowExecutionStatus handle(FlowExecutor executor) throws Exception
      Description copied from interface: State
      Handle some business or processing logic and return a status that can be used to drive a flow to the next State. The status can be any string, but special meaning is assigned to the static constants in FlowExecution. The context can be used by implementations to do whatever they need to do. The same context will be passed to all State instances, so implementations should be careful that the context is thread-safe, or used in a thread-safe manner.
      Specified by:
      handle in interface State
      Specified by:
      handle in class AbstractState
      Parameters:
      executor - the context passed in by the caller
      Returns:
      a status for the execution
      Throws:
      Exception - if anything goes wrong
    • isEndState

      public boolean isEndState()
      Description copied from interface: State
      Inquire as to whether a State is an end state. Implementations should return false if processing can continue, even if that would require a restart.
      Specified by:
      isEndState in interface State
      Returns:
      true if this State is the end of processing