org.springframework.webflow.engine
Class DecisionState

java.lang.Object
  extended by org.springframework.webflow.core.AnnotatedObject
      extended by org.springframework.webflow.engine.State
          extended by org.springframework.webflow.engine.TransitionableState
              extended by org.springframework.webflow.engine.DecisionState
All Implemented Interfaces:
Annotated, StateDefinition, TransitionableStateDefinition

public class DecisionState
extends TransitionableState

A simple transitionable state that when entered will execute the first transition whose matching criteria evaluates to true in the context of the current request.

A decision state is a convenient, simple way to encapsulate reusable state transition logic in one place.

Author:
Keith Donald

Field Summary
 
Fields inherited from class org.springframework.webflow.core.AnnotatedObject
CAPTION_PROPERTY, DESCRIPTION_PROPERTY
 
Constructor Summary
DecisionState(Flow flow, String stateId)
          Creates a new decision state.
 
Method Summary
 
Methods inherited from class org.springframework.webflow.engine.TransitionableState
exit, getExitActionList, getRequiredTransition, getTransition, getTransitions, getTransitionSet, handleEvent
 
Methods inherited from class org.springframework.webflow.engine.State
enter, equals, getEntryActionList, getExceptionHandlerSet, getFlow, getId, getOwner, handleException, hashCode, isStartState, isViewState, toString
 
Methods inherited from class org.springframework.webflow.core.AnnotatedObject
getAttributes, getCaption, getDescription, setCaption, setDescription
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.webflow.definition.StateDefinition
getId, getOwner, isViewState
 
Methods inherited from interface org.springframework.webflow.core.Annotated
getAttributes, getCaption, getDescription
 

Constructor Detail

DecisionState

public DecisionState(Flow flow,
                     String stateId)
              throws IllegalArgumentException
Creates a new decision state.

Parameters:
flow - the owning flow
stateId - the state identifier (must be unique to the flow)
Throws:
IllegalArgumentException - when this state cannot be added to given flow, e.g. because the id is not unique