diff --git a/spring-webflow/src/main/java/org/springframework/webflow/core/collection/package.html b/spring-webflow/src/main/java/org/springframework/webflow/core/collection/package.html index 51479014..66dcdaba 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/core/collection/package.html +++ b/spring-webflow/src/main/java/org/springframework/webflow/core/collection/package.html @@ -6,10 +6,9 @@ Core element collection types used within Spring Web Flow.

This packages defines two primary collection flavors:

    -
  1. AttributeMap - for accessing 'attributes' that have string keys and object values. -
  2. ParameterMap - for accessing 'parameters' that have string keys and string values. +
  3. AttributeMap - for accessing 'attributes' that have string keys and object values.
  4. +
  5. ParameterMap - for accessing 'parameters' that have string keys and string values.
-

Each map is java.util.Map adaptable.

diff --git a/spring-webflow/src/main/java/org/springframework/webflow/definition/package.html b/spring-webflow/src/main/java/org/springframework/webflow/definition/package.html index 5c98c1fd..4af4cc5d 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/definition/package.html +++ b/spring-webflow/src/main/java/org/springframework/webflow/definition/package.html @@ -1,41 +1,41 @@ - - -

-Core, stable abstractions for representing flow definitions. -

-

-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. -

-

-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. -

-

-The following code shows the beginnings of a basic flow definition traversal algorithm: -

-    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 < transitions.length; i++) {
-                Transition t = transitions[i];
-                logger.info("Transition " + t.getId());
-                traverse(state.getOwner().getState(t.getTargetStateId()); 
-            }
-        }    
-    }
-
-

- - + + +

+Core, stable abstractions for representing flow definitions. +

+

+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. +

+

+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. +

+

+The following code shows the beginnings of a basic flow definition traversal algorithm: +

+
+    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 < transitions.length; i++) {
+                Transition t = transitions[i];
+                logger.info("Transition " + t.getId());
+                traverse(state.getOwner().getState(t.getTargetStateId()); 
+            }
+        }    
+    }
+
+ + \ No newline at end of file diff --git a/spring-webflow/src/main/java/org/springframework/webflow/definition/registry/package.html b/spring-webflow/src/main/java/org/springframework/webflow/definition/registry/package.html index 3a0d224c..cc26111d 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/definition/registry/package.html +++ b/spring-webflow/src/main/java/org/springframework/webflow/definition/registry/package.html @@ -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: +

     // create registry
     FlowDefinitionRegistry registry = new FlowDefinitionRegistryImpl();
@@ -20,6 +21,5 @@ For example:
     // use registry
     FlowDefinition flow = registry.getFlow("myFlow");
 
-

diff --git a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/package.html b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/package.html index 8a80803c..6d9306f6 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/package.html +++ b/spring-webflow/src/main/java/org/springframework/webflow/engine/builder/package.html @@ -1,33 +1,34 @@ - - -

-The flow builder subsystem for building and assembling executable flow definitions. -

-

-You construct a Flow using a {@link org.springframework.webflow.engine.builder.FlowBuilder}. -This package defines the following flow builder implementations: -

-During flow construction, a flow builder may need to access externally -managed flow artifacts 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). -

-

-To direct flow construction, use the -{@link org.springframework.webflow.engine.builder.FlowAssembler}. -This package is based on the classic GoF Builder design pattern. -

+ + +

+The flow builder subsystem for building and assembling executable flow definitions. +

+

+You construct a Flow using a {@link org.springframework.webflow.engine.builder.FlowBuilder}. +This package defines the following flow builder implementations: +

+

+During flow construction, a flow builder may need to access externally +managed flow artifacts 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). +

+

+To direct flow construction, use the +{@link org.springframework.webflow.engine.builder.FlowAssembler}. +This package is based on the classic GoF Builder design pattern. +

\ No newline at end of file diff --git a/spring-webflow/src/main/java/org/springframework/webflow/execution/package.html b/spring-webflow/src/main/java/org/springframework/webflow/execution/package.html index 9bca514c..9c0553b0 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/execution/package.html +++ b/spring-webflow/src/main/java/org/springframework/webflow/execution/package.html @@ -10,6 +10,7 @@ a single instance of a top-level flow definition.

The following classes and interfaces are of particular interest: +

-

Package Usage example:

diff --git a/spring-webflow/src/main/java/overview.html b/spring-webflow/src/main/java/overview.html
index a6b3e21a..4bc7241f 100644
--- a/spring-webflow/src/main/java/overview.html
+++ b/spring-webflow/src/main/java/overview.html
@@ -1,89 +1,85 @@
-
-
-

-
-The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow. -

-

-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. -

-

-The layers of Spring Web Flow, from lowest to highest, are shown below: -

-

- -
-Layer architecture diagram -

-

-The description, subsystems, and source packages of each layer are summarized below: -

-

Execution Core Layer

-

-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. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.core Core} -
  2. {@link org.springframework.webflow.definition Flow Definition} -
  3. {@link org.springframework.webflow.definition.registry Flow Definition Registry} -
  4. {@link org.springframework.webflow.context External Context} -
  5. {@link org.springframework.webflow.conversation Conversation} -
  6. {@link org.springframework.webflow.execution Flow Execution} -
  7. {@link org.springframework.webflow.execution.repository Flow Execution Repository} -
  8. {@link org.springframework.webflow.action Action} -
  9. {@link org.springframework.webflow.util Util} -
-

-

Executor Layer

-

-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. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.executor Core} -
  2. {@link org.springframework.webflow.executor.mvc Spring MVC} -
  3. {@link org.springframework.webflow.executor.struts Struts} -
  4. {@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)} -
-

Execution Engine Layer

-

-

-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. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.engine Engine Implementation} -
  2. {@link org.springframework.webflow.engine.builder Flow Builder} -
-

Test Layer

-

-

-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. -

-

Subsystems

-
    -
  1. {@link org.springframework.webflow.test Unit Test} -
  2. {@link org.springframework.webflow.test.execution Execution Test} -
-

System Configuration Layer

-

-

Subsystems

-

-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. -

-
    -
  1. {@link org.springframework.webflow.config Spring Configuration Support} -
- + + +

+
+The public Java Documentation for Spring Web Flow, a framework for modeling and executing user interface flow. +

+

+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. +

+

+The layers of Spring Web Flow, from lowest to highest, are shown below: +

+

+ +
+Layer architecture diagram +

+

+The description, subsystems, and source packages of each layer are summarized below: +

+

Execution Core Layer

+

+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. +

+

Subsystems

+
    +
  1. {@link org.springframework.webflow.core Core} +
  2. {@link org.springframework.webflow.definition Flow Definition} +
  3. {@link org.springframework.webflow.definition.registry Flow Definition Registry} +
  4. {@link org.springframework.webflow.context External Context} +
  5. {@link org.springframework.webflow.conversation Conversation} +
  6. {@link org.springframework.webflow.execution Flow Execution} +
  7. {@link org.springframework.webflow.execution.repository Flow Execution Repository} +
  8. {@link org.springframework.webflow.action Action} +
  9. {@link org.springframework.webflow.util Util} +
+

Executor Layer

+

+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. +

+

Subsystems

+
    +
  1. {@link org.springframework.webflow.executor Core} +
  2. {@link org.springframework.webflow.executor.mvc Spring MVC} +
  3. {@link org.springframework.webflow.executor.struts Struts} +
  4. {@link org.springframework.webflow.executor.jsf Java Server Faces (JSF)} +
+

Execution Engine Layer

+

+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. +

+

Subsystems

+
    +
  1. {@link org.springframework.webflow.engine Engine Implementation} +
  2. {@link org.springframework.webflow.engine.builder Flow Builder} +
+

Test Layer

+

+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. +

+

Subsystems

+
    +
  1. {@link org.springframework.webflow.test Unit Test} +
  2. {@link org.springframework.webflow.test.execution Execution Test} +
+

System Configuration Layer

+

Subsystems

+

+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. +

+
    +
  1. {@link org.springframework.webflow.config Spring Configuration Support} +
+ \ No newline at end of file