org.springframework.batch.core.job.flow.support
Class SimpleFlow

java.lang.Object
  extended by org.springframework.batch.core.job.flow.support.SimpleFlow
All Implemented Interfaces:
Flow, InitializingBean

public class SimpleFlow
extends Object
implements Flow, InitializingBean

A Flow that branches conditionally depending on the exit status of the last State. The input parameters are the state transitions (in no particular order). The start state name can be specified explicitly (and must exist in the set of transitions), or computed from the existing transitions, if unambiguous.

Since:
2.0
Author:
Dave Syer

Constructor Summary
SimpleFlow(String name)
          Create a flow with the given name.
 
Method Summary
 void afterPropertiesSet()
          Locate start state and pre-populate data structures needed for execution.
 String getName()
          Get the name for this flow.
 State getState(String stateName)
          Retrieve the State with the given name.
 Collection<State> getStates()
          Convenient accessor for clients needing to explore the states of this flow.
 FlowExecution resume(String stateName, FlowExecutor executor)
           
 void setStateTransitions(List<StateTransition> stateTransitions)
          Public setter for the stateTransitions.
 FlowExecution start(FlowExecutor executor)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SimpleFlow

public SimpleFlow(String name)
Create a flow with the given name.

Parameters:
name - the name of the flow
Method Detail

getName

public String getName()
Get the name for this flow.

Specified by:
getName in interface Flow
Returns:
the name of the flow
See Also:
Flow.getName()

setStateTransitions

public void setStateTransitions(List<StateTransition> stateTransitions)
Public setter for the stateTransitions.

Parameters:
stateTransitions - the stateTransitions to set

getState

public State getState(String stateName)
Retrieve the State with the given name. If there is no State with the given name, then return null.

Specified by:
getState in interface Flow
Returns:
the State

getStates

public Collection<State> getStates()
Convenient accessor for clients needing to explore the states of this flow.

Specified by:
getStates in interface Flow
Returns:
the states

afterPropertiesSet

public void afterPropertiesSet()
                        throws Exception
Locate start state and pre-populate data structures needed for execution.

Specified by:
afterPropertiesSet in interface InitializingBean
Throws:
Exception
See Also:
InitializingBean.afterPropertiesSet()

start

public FlowExecution start(FlowExecutor executor)
                    throws FlowExecutionException
Specified by:
start in interface Flow
Throws:
FlowExecutionException
See Also:
Flow.start(FlowExecutor)

resume

public FlowExecution resume(String stateName,
                            FlowExecutor executor)
                     throws FlowExecutionException
Specified by:
resume in interface Flow
Parameters:
stateName - the name of the state to resume on
executor - the context to be passed into each state executed
Returns:
a FlowExecution containing the exit status of the flow
Throws:
FlowExecutionException
See Also:
Flow.resume(String, FlowExecutor)


Copyright © 2013 SpringSource. All Rights Reserved.