A Java language API for building Flows. This API is semantically identical to the
<flow-definition> element in the Application
Configuration Resources XML Schema Definition.
Usage example:
public class FlowA implements Serializable {
@Produces FlowDefinition
public Flow buildMyFlow(@FlowBuilderParameter FlowBuilder flowBuilder) {
String flowId = "flow-a";
flowBuilder.id("unique", flowId);
flowBuilder.returnNode("taskFlowReturn1").
fromOutcome("#{flow_a_Bean.returnValue}");
flowBuilder.inboundParameter("param1FromFlowB", "#{flowScope.param1Value}");
flowBuilder.inboundParameter("param2FromFlowB", "#{flowScope.param2Value}");
flowBuilder.flowCallNode("callB").flowReference("", "flow-b").
outboundParameter("param1FromFlowA", "param1Value").
outboundParameter("param2FromFlowA", "param2Value");
return flowBuilder.getFlow();
}
}
The runtime must discover all such methods at startup time and ensure that
the returned flows are added to the javax.faces.flow.FlowHandler using
the javax.faces.flow.FlowHandler#addFlow(javax.faces.context.FacesContext, javax.faces.flow.Flow) method.
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public abstract FlowBuilder | Returns: the builder instancethe expression to invoke, must reference a zero-argument method. methodExpression)A MethodExpression that will be invoked when the flow is exited. |
| public abstract FlowBuilder | |
| public abstract FlowCallBuilder | Returns: the builder instanceWithin the flow graph, the id of this return node. Must
be unique among all nodes in this flow graph. flowCallNodeId)Define a flow call node. |
| public abstract Flow | |
| public abstract FlowBuilder | |
| public abstract FlowBuilder | Returns: the builder instancethe parameter name name, ValueExpression the expression)ValueExpression to populate with the inbound
value when the flow is called.A parameter that will be populated with the value from a correspondingly named outbound parameter from another flow when this flow is entered from that flow. |
| public abstract FlowBuilder | Returns: the builder instancethe parameter name name, String the expression)ValueExpression String to populate with the inbound
value when the flow is called.A parameter that will be populated with the value from a correspondingly named outbound parameter from another flow when this flow is entered from that flow. |
| public abstract FlowBuilder | Returns: the builder instancethe expression to invoke, must reference a zero-argument method. methodExpression)A MethodExpression that will be invoked when the flow is entered. |
| public abstract FlowBuilder | Returns: the builder instancethe expression to invoke, must reference a zero-argument method. methodExpression)A MethodExpression that will be invoked when the flow is entered. |
| public abstract MethodCallBuilder | Returns: the builder instanceWithin the flow graph, the id of this method call node. Must
be unique among all nodes in this flow graph. methodCallNodeId)Define a method call node. |
| public abstract NavigationCaseBuilder | Returns: the builder instanceDefine a particular combination of conditions that must match for this case to be executed, and the view id of the component tree that should be selected next. |
| public abstract ReturnBuilder | Returns: the builder instanceWithin the flow graph, the id of this return node. Must
be unique among all nodes in this flow graph. returnNodeId)Define a return node. |
| public abstract SwitchBuilder | Returns: the builder instanceWithin the flow graph, the id of this switch node. Must
be unique among all nodes in this flow graph. switchNodeId)Define a particular list of cases that will be inspected in the order they are defined to determine where to go next in the flow graph. |
| public abstract ViewBuilder |
| FlowBuilder | back to summary |
|---|---|
| public FlowBuilder() | |
| finalizer | back to summary |
|---|---|
| public abstract FlowBuilder finalizer(MethodExpression methodExpression) A MethodExpression that will be invoked when the flow is exited.
| |
| finalizer | back to summary |
|---|---|
| public abstract FlowBuilder finalizer(String methodExpression) A MethodExpression that will be invoked when the flow is exited.
| |
| flowCallNode | back to summary |
|---|---|
| public abstract FlowCallBuilder flowCallNode(String flowCallNodeId) Define a flow call node. This node will cause the specified flow to be called, passing parameters if necessary.
| |
| getFlow | back to summary |
|---|---|
| public abstract Flow getFlow() Called as the last step in flow definition,
this method must perform any implementation specific initialization
and return the built
| |
| id | back to summary |
|---|---|
| public abstract FlowBuilder id(String definingDocumentId, String id) Set the defining document id and flow id of this flow.
| |
| inboundParameter | back to summary |
|---|---|
| public abstract FlowBuilder inboundParameter(String name, ValueExpression expression) A parameter that will be populated with the value from a correspondingly named outbound parameter from another flow when this flow is entered from that flow.
| |
| inboundParameter | back to summary |
|---|---|
| public abstract FlowBuilder inboundParameter(String name, String expression) A parameter that will be populated with the value from a correspondingly named outbound parameter from another flow when this flow is entered from that flow.
| |
| initializer | back to summary |
|---|---|
| public abstract FlowBuilder initializer(MethodExpression methodExpression) A MethodExpression that will be invoked when the flow is entered.
| |
| initializer | back to summary |
|---|---|
| public abstract FlowBuilder initializer(String methodExpression) A MethodExpression that will be invoked when the flow is entered.
| |
| methodCallNode | back to summary |
|---|---|
| public abstract MethodCallBuilder methodCallNode(String methodCallNodeId) Define a method call node. This node will cause the specified method to be invoked, passing parameters if necessary. The return from the method is used as the outcome for where to go next in the flow. If the method is a void method, the default outcome is used.
| |
| navigationCase | back to summary |
|---|---|
| public abstract NavigationCaseBuilder navigationCase() Define a particular combination of conditions that must match for this case to be executed, and the view id of the component tree that should be selected next.
| |
| returnNode | back to summary |
|---|---|
| public abstract ReturnBuilder returnNode(String returnNodeId) Define a return node. This node will cause the specified outcome to be returned to the calling flow.
| |
| switchNode | back to summary |
|---|---|
| public abstract SwitchBuilder switchNode(String switchNodeId) Define a particular list of cases that will be inspected in the order they are defined to determine where to go next in the flow graph. If none of the cases match, the outcome from the default case is chosen.
| |
| viewNode | back to summary |
|---|---|
| public abstract ViewBuilder viewNode(String viewNodeId, String vdlDocumentId) Define a view node in a flow graph.
| |