Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.springframework.webflow.engine
Class ActionState

    java.lang.Object
      org.springframework.webflow.core.AnnotatedObject
          org.springframework.webflow.engine.State
              org.springframework.webflow.engine.TransitionableState
                  org.springframework.webflow.engine.ActionState

All Implemented Interfaces:
  Annotated, StateDefinition, TransitionableStateDefinition

    public class ActionState

extends TransitionableState

A transitionable state that executes one or more actions when entered. When the action(s) are executed this state responds to their result(s) to decide what state to transition to next.

If more than one action is configured they are executed in an ordered chain until one returns a result event that matches a state transition out of this state. This is a form of the Chain of Responsibility (CoR) pattern.

The result of an action's execution is typically the criteria for a transition out of this state. Additional information in the current `RequestContext` may also be tested as part of custom transitional criteria, allowing for sophisticated transition expressions that reason on contextual state.

Author:
  Keith Donald, Erwin Vervaet
See Also:
  `Action`

Field Summary

Fields inherited from class org.springframework.webflow.engine.State
`logger`

Fields inherited from class org.springframework.webflow.core.AnnotatedObject
`CAPTION_PROPERTY, DESCRIPTION_PROPERTY`

Constructor Summary
`ActionState(Flow flow, java.lang.String id)` Creates a new action state.

Method Summary
`protected void` | `appendToString(org.springframework.core.style.ToStringCreator creator)` Subclasses may override this hook method to print their internal state to a string.
`protected void` | `doEnter(RequestControlContext context)` Specialization of State's `doEnter` template method that executes behavior specific to this state type in polymorphic fashion.
`ActionList` | `getActionList()` Returns the list of actions executable by this action state.
`Transition` | `getRequiredTransition(RequestContext context)` Get a transition in this state for given flow execution request context.

Methods inherited from class org.springframework.webflow.engine.TransitionableState
`exit, getExitActionList, getTransition, getTransitions, getTransitionSet, handleEvent`

Methods inherited from class org.springframework.webflow.engine.State
`doPreEntryActions, 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
`clone, finalize, 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

### ActionState

    public ActionState(Flow flow,
                       java.lang.String id)
                throws java.lang.IllegalArgumentException

  Creates a new action state.

  Parameters:
    `flow` - the owning flow
    `id` - the state identifier (must be unique to the flow)
  Throws:
    `java.lang.IllegalArgumentException` - when this state cannot be added to given flow, e.g. beasue the id is not unique
  See Also:
    `getActionList()`

Method Detail

### getActionList

    public ActionList getActionList()

  Returns the list of actions executable by this action state. The returned list is mutable.

  Returns:
    the state action list

### getRequiredTransition

    public Transition getRequiredTransition(RequestContext context)
                                     throws NoMatchingTransitionException

  Description copied from class: `TransitionableState`
  Get a transition in this state for given flow execution request context. Throws and exception when there is no corresponding transition.

  Overrides:
    `getRequiredTransition` in class `TransitionableState`
  Throws:
    `NoMatchingTransitionException` - when a matching transition cannot be found

### doEnter

    protected void doEnter(RequestControlContext context)
                    throws FlowExecutionException

  Specialization of State's `doEnter` template method that executes behavior specific to this state type in polymorphic fashion.

  This implementation iterates over each configured `Action` instance and executes it. Execution continues until an `Action` returns a result event that matches a transition in this request context, or the set of all actions is exhausted.

  Specified by:
    `doEnter` in class `State`
  Parameters:
    `context` - the control context for the currently executing flow, used by this state to manipulate the flow execution
  Throws:
    `FlowExecutionException` - if an exception occurs in this state

### appendToString

    protected void appendToString(org.springframework.core.style.ToStringCreator creator)

  Description copied from class: `State`
  Subclasses may override this hook method to print their internal state to a string. This default implementation does nothing.

  Overrides:
    `appendToString` in class `TransitionableState`
  Parameters:
    `creator` - the toString creator, to print properties to string
  See Also:
    `State.toString()`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Spring Web Flow
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD