org.springframework.webflow.package.html Maven / Gradle / Ivy
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:
-
{@link org.springframework.webflow.Action} - The interface implemented
by actions executed by a web flow in an action state. Ready to use
implementations and convenience superclasses are provided in
the {@link org.springframework.webflow.action} package.
-
{@link org.springframework.webflow.FlowAttributeMapper} - The interface
implemented by strategy objects used to map attributes between a parent flow
and a subflow. An out-of-the-box implementation is provided by the class
{@link org.springframework.webflow.support.DefaultFlowAttributeMapper}.
-
{@link org.springframework.webflow.ViewSelector} - A factory that
produces a new, configured {@link org.springframework.webflow.ViewSelection}
instance on each invocation, taking into account the contextual information
about an ongoing flow execution.
-
{@link org.springframework.webflow.TransitionCriteria} - The interface for
strategy objects encapsulating criteria that determine whether or not a
transition should execute given the current state of a flow execution.
-
{@link org.springframework.webflow.StateExceptionHandler} - The interface for
strategy objects encapsulating flow exception handling behavior. Allows for
taking custom action in response to the occurrence of a StateException.
This package has several sub packages:
-
{@link org.springframework.webflow.action action} - Out-of-the box action implementations
that address common controller concerns.
-
{@link org.springframework.webflow.builder builder} - Contains interfaces and classes for
building and assembling flows at configuration time.
-
{@link org.springframework.webflow.execution execution} - Provides classes for executing
flows.
-
{@link org.springframework.webflow.executor.jsf jsf} - Integration of the Spring Web Flow system
with JavaServer Faces (JSF).
-
{@link org.springframework.webflow.executor.mvc mvc} - Integration of the Spring Web Flow system with
the Spring Servlet and Portlet MVC framework.
-
{@link org.springframework.webflow.executor.struts struts} - Integration of the Spring Web Flow
system with Struts 1.x.
-
{@link org.springframework.webflow.registry registry} - This package contains
interfaces and classes for working with flow definition registries.
-
{@link org.springframework.webflow.test test} - Contains classes that assist in testing flow
executions and their associated artifacts.
-
{@link org.springframework.webflow.util util} - General purpose utility classes used internally by the
web flow system.