Core definitional artifacts that makeup the Spring Web Flow system.

The core concepts used at configuration time to define a flow are covered by this package. These concepts then drive flow execution at runtime. As such this package provides the basic layer on which all other layers of the web flow system build, most importantly the {@link org.springframework.webflow.builder builder layer}, {@link org.springframework.webflow.execution execution layer}, and {@link org.springframework.webflow.builder registry layer}

A {@link org.springframework.webflow.Flow flow} is composed of a set of {@link org.springframework.webflow.State states}. A state is a point in the flow where something happens; for instance, {@link org.springframework.webflow.ViewState displaying a view} or {@link org.springframework.webflow.ActionState executing an action}. Each state has one or more {@link org.springframework.webflow.Transition transitions} that are used to move to another state. Transitions are triggered on the occurrence of an {@link org.springframework.webflow.Event event}.

Furthermore, this package also defines a number of interfaces related to flow execution, allowing core webflow artifacts to reason on a flow execution context. The central abstractions are the {@link org.springframework.webflow.RequestContext} and its sub interface {@link org.springframework.webflow.FlowExecutionControlContext}, which are used by all artifacts of a web flow to gain access to information about an ongoing flow execution and to manipulate that flow execution (respectively). The FlowExecutionControlContext also acts a facade to the {@link org.springframework.webflow.execution flow execution system}.

To the end user of the system, the following strategies are extension points and are of importance:

This package has several sub packages: