html syntax errors

This commit is contained in:
Keith Donald
2008-03-07 17:09:03 +00:00
parent b6fba51f02
commit 78c1d46235
6 changed files with 161 additions and 165 deletions

View File

@@ -6,10 +6,9 @@ Core element collection types used within Spring Web Flow.
<p>
This packages defines two primary collection flavors:
<ol>
<li>AttributeMap - for accessing 'attributes' that have string keys and object values.
<li>ParameterMap - for accessing 'parameters' that have string keys and string values.
<li>AttributeMap - for accessing 'attributes' that have string keys and object values.</li>
<li>ParameterMap - for accessing 'parameters' that have string keys and string values.</li>
</ol>
</p>
<p>
Each map is <code>java.util.Map</code> adaptable.
</p>

View File

@@ -1,41 +1,41 @@
<html>
<body>
<p>
Core, stable abstractions for representing flow definitions.
</p>
<p>
Each flow has an indentifier and is composed of one or more states, one of which is the start state.
States may be transitionable, and if so define one or more transitions that lead to other states.
</p>
<p>
With these types a client can introspect a flow definition to reason on its attributes and traverse
its structure, perhaps to display a visual diagram. Note that the types defined in this package
do not capture the behavioral characteristics of a flow.
</p>
<p>
The following code shows the beginnings of a basic flow definition traversal algorithm:
<pre class="code">
FlowDefinition flow = ...
// lookup start state
StateDefinition state = flow.getStartState();
// traverse to state transitions
traverse(state);
public void traverse(StateDefinition state) {
logger.info("State: " + state.getId());
while (state instanceof TransitionableStateDefinition) {
TransitionableStateDefinition transitionable = (TransitionableStateDefinition)state;
TransitionDefinition[] transitions = transitionable.getTransitions();
for (int i = 0; i &lt; transitions.length; i++) {
Transition t = transitions[i];
logger.info("Transition " + t.getId());
traverse(state.getOwner().getState(t.getTargetStateId());
}
}
}
</pre>
</p>
</body>
</html>
<html>
<body>
<p>
Core, stable abstractions for representing flow definitions.
</p>
<p>
Each flow has an indentifier and is composed of one or more states, one of which is the start state.
States may be transitionable, and if so define one or more transitions that lead to other states.
</p>
<p>
With these types a client can introspect a flow definition to reason on its attributes and traverse
its structure, perhaps to display a visual diagram. Note that the types defined in this package
do not capture the behavioral characteristics of a flow.
</p>
<p>
The following code shows the beginnings of a basic flow definition traversal algorithm:
</p>
<pre class="code">
FlowDefinition flow = ...
// lookup start state
StateDefinition state = flow.getStartState();
// traverse to state transitions
traverse(state);
public void traverse(StateDefinition state) {
logger.info("State: " + state.getId());
while (state instanceof TransitionableStateDefinition) {
TransitionableStateDefinition transitionable = (TransitionableStateDefinition)state;
TransitionDefinition[] transitions = transitionable.getTransitions();
for (int i = 0; i &lt; transitions.length; i++) {
Transition t = transitions[i];
logger.info("Transition " + t.getId());
traverse(state.getOwner().getState(t.getTargetStateId());
}
}
}
</pre>
</body>
</html>

View File

@@ -7,6 +7,7 @@ The flow definition registry subsystem for managing containers of flow definitio
You can construct a generic, initially empty FlowDefinitionRegistry, populate it
with flow definitions using a FlowDefinitionRegistrar, then lookup flow definitions by id.
For example:
</p>
<pre class="code">
// create registry
FlowDefinitionRegistry registry = new FlowDefinitionRegistryImpl();
@@ -20,6 +21,5 @@ For example:
// use registry
FlowDefinition flow = registry.getFlow("myFlow");
</pre>
</p>
</body>
</html>

View File

@@ -1,33 +1,34 @@
<html>
<body>
<p>
The flow builder subsystem for building and assembling executable flow definitions.
</p>
<p>
You construct a Flow using a {@link org.springframework.webflow.engine.builder.FlowBuilder}.
This package defines the following flow builder implementations:
<ul>
<li>
{@link org.springframework.webflow.engine.builder.AbstractFlowBuilder} - A
convenience superclass to use when you want to assemble the web flow
in Java code.
</li>
<li>
{@link org.springframework.webflow.engine.builder.xml.XmlFlowBuilder} - A flow
builder that reads an XML file containing a web flow definition and
constructs the flow accordingly.
</li>
</ul>
During flow construction, a flow builder may need to access externally
managed <i>flow artifacts</i> referenced by the flow definition.
The {@link org.springframework.webflow.engine.builder.FlowServiceLocator} fulfills
this need, acting as a facade or gateway to an external registry of
flow artifacts (such as a Spring Bean Factory).
</p>
<p>
To direct flow construction, use the
{@link org.springframework.webflow.engine.builder.FlowAssembler}.
This package is based on the classic GoF Builder design pattern.
</p>
<html>
<body>
<p>
The flow builder subsystem for building and assembling executable flow definitions.
</p>
<p>
You construct a Flow using a {@link org.springframework.webflow.engine.builder.FlowBuilder}.
This package defines the following flow builder implementations:
<ul>
<li>
{@link org.springframework.webflow.engine.builder.AbstractFlowBuilder} - A
convenience superclass to use when you want to assemble the web flow
in Java code.
</li>
<li>
{@link org.springframework.webflow.engine.builder.xml.XmlFlowBuilder} - A flow
builder that reads an XML file containing a web flow definition and
constructs the flow accordingly.
</li>
</ul>
<p>
During flow construction, a flow builder may need to access externally
managed <i>flow artifacts</i> referenced by the flow definition.
The {@link org.springframework.webflow.engine.builder.FlowServiceLocator} fulfills
this need, acting as a facade or gateway to an external registry of
flow artifacts (such as a Spring Bean Factory).
</p>
<p>
To direct flow construction, use the
{@link org.springframework.webflow.engine.builder.FlowAssembler}.
This package is based on the classic GoF Builder design pattern.
</p>
</body>
</html>

View File

@@ -10,6 +10,7 @@ a single instance of a top-level flow definition.
</p>
<p>
The following classes and interfaces are of particular interest:
</p>
<ul>
<li>
{@link org.springframework.webflow.execution.FlowExecutionFactory} - An abstract
@@ -25,7 +26,6 @@ interface to be implemented by objects that are interested in flow execution
lifecycle events.
</li>
</ul>
</p>
<p>
Package Usage example:
<pre class="code">

View File

@@ -1,89 +1,85 @@
<html>
<body>
<p align="center">
<img src="http://static.springframework.org/spring-webflow/images/spring-webflow.jpg"><br>
The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow.
</p>
<p>
Spring Web Flow's packages are partitioned across a set of logical layers. Higher layers depend on the layers directly beneath. Lower layers never depend on higher layers.
</p>
<p>
The layers of Spring Web Flow, from lowest to highest, are shown below:
</p>
<p align="center">
<img src="http://static.springframework.org/spring-webflow/images/architecture-layer-diagram.png">
<br>
Layer architecture diagram
</p>
<p>
The description, subsystems, and source packages of each layer are summarized below:
</p>
<h3>Execution Core Layer</h3>
<p>
Contains the central public Spring Web Flow API elements. This includes elements to model flow definitions
as well as execute those flow definitions. As the "bottom layer", this layer defines key domain interfaces and is highly stable.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.core Core}
<li>{@link org.springframework.webflow.definition Flow Definition}
<li>{@link org.springframework.webflow.definition.registry Flow Definition Registry}
<li>{@link org.springframework.webflow.context External Context}
<li>{@link org.springframework.webflow.conversation Conversation}
<li>{@link org.springframework.webflow.execution Flow Execution}
<li>{@link org.springframework.webflow.execution.repository Flow Execution Repository}
<li>{@link org.springframework.webflow.action Action}
<li>{@link org.springframework.webflow.util Util}
</ol>
</p>
<h3>Executor Layer</h3>
<p>
Contains services called "flow executors" that drive the execution of flow definitions. This layer defines the
core FlowExecutor service interface and implementation, as well as adaption code for executing flows in several
specific environments. Support for Spring MVC, Struts, and Java Server Faces (JSF) environments is housed here.
This layer depends on the stable Execution Core, but is not coupled to the more volatile Execution Engine
implementation.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.executor Core}
<li>{@link org.springframework.webflow.executor.mvc Spring MVC}
<li>{@link org.springframework.webflow.executor.struts Struts}
<li>{@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)}
</ol>
<h3>Execution Engine Layer</h3>
</p>
<p>
Contains concrete implementations of the stable Execution Engine abstractions. This layer defines the
finite-state machine that carries out runtime flow execution. It also contains a builder subsystem for
assembling flows from externalized resources such as XML files.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.engine Engine Implementation}
<li>{@link org.springframework.webflow.engine.builder Flow Builder}
</ol>
<h3>Test Layer</h3>
</p>
<p>
Contains support code for testing flow executions. Two types of support are provided: stubs for unit
testing engine artifacts, and base classes for writing flow execution integration tests. This layer
depends on the Execution Core and Execution Engine layers.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.test Unit Test}
<li>{@link org.springframework.webflow.test.execution Execution Test}
</ol>
<h3>System Configuration Layer</h3>
</p>
<h4>Subsystems</h4>
<p>
Contains support for configuring the flow executor engine using Spring. A Spring 2.0 config schema is provided.
This is the top layer and depends on the Execution Core, Executor, and Execution Engine layers.
</p>
<ol>
<li>{@link org.springframework.webflow.config Spring Configuration Support}
</ol>
</body>
<html>
<body>
<p align="center">
<img src="http://static.springframework.org/spring-webflow/images/spring-webflow.jpg"><br>
The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow.
</p>
<p>
Spring Web Flow's packages are partitioned across a set of logical layers. Higher layers depend on the layers directly beneath. Lower layers never depend on higher layers.
</p>
<p>
The layers of Spring Web Flow, from lowest to highest, are shown below:
</p>
<p align="center">
<img src="http://static.springframework.org/spring-webflow/images/architecture-layer-diagram.png">
<br>
Layer architecture diagram
</p>
<p>
The description, subsystems, and source packages of each layer are summarized below:
</p>
<h3>Execution Core Layer</h3>
<p>
Contains the central public Spring Web Flow API elements. This includes elements to model flow definitions
as well as execute those flow definitions. As the "bottom layer", this layer defines key domain interfaces and is highly stable.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.core Core}
<li>{@link org.springframework.webflow.definition Flow Definition}
<li>{@link org.springframework.webflow.definition.registry Flow Definition Registry}
<li>{@link org.springframework.webflow.context External Context}
<li>{@link org.springframework.webflow.conversation Conversation}
<li>{@link org.springframework.webflow.execution Flow Execution}
<li>{@link org.springframework.webflow.execution.repository Flow Execution Repository}
<li>{@link org.springframework.webflow.action Action}
<li>{@link org.springframework.webflow.util Util}
</ol>
<h3>Executor Layer</h3>
<p>
Contains services called "flow executors" that drive the execution of flow definitions. This layer defines the
core FlowExecutor service interface and implementation, as well as adaption code for executing flows in several
specific environments. Support for Spring MVC, Struts, and Java Server Faces (JSF) environments is housed here.
This layer depends on the stable Execution Core, but is not coupled to the more volatile Execution Engine
implementation.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.executor Core}
<li>{@link org.springframework.webflow.executor.mvc Spring MVC}
<li>{@link org.springframework.webflow.executor.struts Struts}
<li>{@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)}
</ol>
<h3>Execution Engine Layer</h3>
<p>
Contains concrete implementations of the stable Execution Engine abstractions. This layer defines the
finite-state machine that carries out runtime flow execution. It also contains a builder subsystem for
assembling flows from externalized resources such as XML files.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.engine Engine Implementation}
<li>{@link org.springframework.webflow.engine.builder Flow Builder}
</ol>
<h3>Test Layer</h3>
<p>
Contains support code for testing flow executions. Two types of support are provided: stubs for unit
testing engine artifacts, and base classes for writing flow execution integration tests. This layer
depends on the Execution Core and Execution Engine layers.
</p>
<h4>Subsystems</h4>
<ol>
<li>{@link org.springframework.webflow.test Unit Test}
<li>{@link org.springframework.webflow.test.execution Execution Test}
</ol>
<h3>System Configuration Layer</h3>
<h4>Subsystems</h4>
<p>
Contains support for configuring the flow executor engine using Spring. A Spring 2.0 config schema is provided.
This is the top layer and depends on the Execution Core, Executor, and Execution Engine layers.
</p>
<ol>
<li>{@link org.springframework.webflow.config Spring Configuration Support}
</ol>
</body>
</html>