Class Flow
- Direct Known Subclasses:
FlowImpl
public abstract class Flow extends Object
Flow is the runtime representation of a Faces Flow. Once placed into service by the runtime, an instance of this class is immutable. The implementation must be thread-safe because instances will be shared across all usages of the flow within the application.
- Since:
- 2.2
-
Constructor Summary
Constructors Constructor Description Flow()
-
Method Summary
Modifier and Type Method Description abstract String
getClientWindowFlowId(ClientWindow curWindow)
Get theClientWindow
's id and append "_" and the return fromgetId()
.abstract String
getDefiningDocumentId()
Return the immutable application unique identifier for the document in which the argument flow is defined.abstract jakarta.el.MethodExpression
getFinalizer()
Return theMethodExpression
that must be called by the runtime as the last thing that happens before exiting this flow.abstract FlowCallNode
getFlowCall(Flow targetFlow)
Return theFlowCallNode
that represents calling thetargetFlow
from this flow, ornull
iftargetFlow
cannot be reached from this flow.abstract Map<String,FlowCallNode>
getFlowCalls()
Return an immutable data structure containing all the flow call nodes declared for this flow.abstract String
getId()
Return the immutable id for this Flow.abstract Map<String,Parameter>
getInboundParameters()
Return an immutable data structure containing the inbound parameters that have been declared for this flow.abstract jakarta.el.MethodExpression
getInitializer()
Return theMethodExpression
that must be called by the runtime immediately after activating anyFlowScoped
beans declared for this flow.abstract List<MethodCallNode>
getMethodCalls()
Return an immutable data structure containing all the method call nodes declared for this flow.abstract Map<String,Set<NavigationCase>>
getNavigationCases()
Return an unmodifiable view of the navigation cases within this flow.abstract FlowNode
getNode(String nodeId)
Return the genericFlowNode
by id, ornull
if not found.abstract Map<String,ReturnNode>
getReturns()
Return an immutable data structure containing all of the return nodes declared for this flow.abstract String
getStartNodeId()
Return the immutable id for the default node that should be activated when this flow is entered.abstract Map<String,SwitchNode>
getSwitches()
Return an immutable data structure containing all of the switch nodes declared for this flow.abstract List<ViewNode>
getViews()
Return an immutable data structure containing all of the view nodes declared for this flow.
-
Constructor Details
-
Flow
public Flow()
-
-
Method Details
-
getId
Return the immutable id for this Flow. This must be unique within the defining document (such as an Application Configuration Resources file), but need not be unique within the entire application.
- Returns:
- the id.
- Since:
- 2.2
-
getDefiningDocumentId
Return the immutable application unique identifier for the document in which the argument flow is defined.
- Returns:
- the defining document id
- Since:
- 2.2
-
getStartNodeId
Return the immutable id for the default node that should be activated when this flow is entered.
- Returns:
- the id of the start node
- Since:
- 2.2
-
getFinalizer
public abstract jakarta.el.MethodExpression getFinalizer()Return the
MethodExpression
that must be called by the runtime as the last thing that happens before exiting this flow. AnyFlowScoped
beans declared for this flow must remain in scope until after control returns from the method referenced by thisMethodExpression
.- Returns:
- the
MethodExpresion
for the finalizer. - Since:
- 2.2
-
getInitializer
public abstract jakarta.el.MethodExpression getInitializer()Return the
MethodExpression
that must be called by the runtime immediately after activating anyFlowScoped
beans declared for this flow.- Returns:
- the
MethodExpresion
for the initializer. - Since:
- 2.2
-
getInboundParameters
Return an immutable data structure containing the inbound parameters that have been declared for this flow. See
FlowHandler.transition(jakarta.faces.context.FacesContext, jakarta.faces.flow.Flow, jakarta.faces.flow.Flow, jakarta.faces.flow.FlowCallNode, java.lang.String)
for the specification of how these parameters are used. Inbound parameters are associated with a specific flow instance, while outbound parameters are associated with aFlowCallNode
that causes the transition to a new flow.- Returns:
- the inbound parameters
- Since:
- 2.2
-
getViews
Return an immutable data structure containing all of the view nodes declared for this flow.
- Returns:
- the view nodes for this flow
- Since:
- 2.2
-
getReturns
Return an immutable data structure containing all of the return nodes declared for this flow.
- Returns:
- the return nodes for this flow.
- Since:
- 2.2
-
getSwitches
Return an immutable data structure containing all of the switch nodes declared for this flow.
- Returns:
- the switch nodes for this flow
- Since:
- 2.2
-
getFlowCalls
Return an immutable data structure containing all the flow call nodes declared for this flow.
- Returns:
- the flow call nodes for this flow
- Since:
- 2.2
-
getFlowCall
Return the
FlowCallNode
that represents calling thetargetFlow
from this flow, ornull
iftargetFlow
cannot be reached from this flow.- Parameters:
targetFlow
- the flow for which theFlowCallNode
is to be returned- Returns:
- a
FlowCallNode
for the argument flow ornull
- Since:
- 2.2
-
getMethodCalls
Return an immutable data structure containing all the method call nodes declared for this flow.
- Returns:
- the method call nodes for this flow
- Since:
- 2.2
-
getNode
Return the generic
FlowNode
by id, ornull
if not found. -
getNavigationCases
Return an unmodifiable view of the navigation cases within this flow.
- Returns:
- the navigation cases,
-
getClientWindowFlowId
Get the
ClientWindow
's id and append "_" and the return fromgetId()
. Return the result.- Parameters:
curWindow
- the- Returns:
- the generated client window id for this flow.
- Since:
- 2.2
-