Class FlowGraphEndPoint
java.lang.Object
de.xima.fc.mdl.workflow.FlowGraphEndPoint
- All Implemented Interfaces:
INodeKeyProviding, Serializable
- Direct Known Subclasses:
FlowGraphEndPoint.ControlTransfer, FlowGraphEndPoint.Normal, FlowGraphEndPoint.Returning, FlowGraphEndPoint.Throwing
Base class for flow graph end point, used when analyzing the control flow of a workflow processing chain.
Conceptually, an end point with respect to some node are the child nodes where execution may terminate when that node
is executed. A distinction is made between the different types of how a node can complete, either normally or
abruptly. See the subclasses
Normal, Throwing, ControlTransfer, Returning for more details on the different end point types.
End points are used during the creation of the flow
graph of a node. The end points allow for some conclusions to be drawn regarding the execution of a workflow. For
example:
- When the
root nodeof aprocessing chainhas anynormalend points, it is missing a return statement somewhere (equivalent to the Java error"This method must return a result of type X"). - When the root
root nodeof aprocessing chainhas nothrowingend points, all exception are caught and handled properly and the processing chain can never fail (barring exceptional circumstances, such as when the workflow engine contains a bug).
- Since:
- 8.2.0
- Author:
- XIMA MEDIA GmbH
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static final classA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static final classA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static final classA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptioncontrolTransfer(NodeKey nodeKey, NodeKey target, String controlTransferType) Creates a new control transfer end point for the given node key and the given target and control transfer type.abstract booleanfinal NodeKeyabstract inthashCode()static FlowGraphEndPoint.NormalCreates a new normal end point for the given node key and with no data.static FlowGraphEndPoint.ReturningCreates a new returning end point for the given node key and with no data.static FlowGraphEndPoint.ThrowingCreates a new throwing end point for the given node key and with no data.
-
Field Details
-
nodeKey
-
-
Method Details
-
equals
-
getNodeKey
- Specified by:
getNodeKeyin interfaceINodeKeyProviding- Returns:
- Key of the workflow node representing this end point.
-
hashCode
-
controlTransfer
public static FlowGraphEndPoint.ControlTransfer controlTransfer(NodeKey nodeKey, NodeKey target, String controlTransferType) Creates a new control transfer end point for the given node key and the given target and control transfer type.- Parameters:
nodeKey- Key of the workflow node.target- Key of the target node to which to transfer control.controlTransferType- Type of the control transfer, seeEStandardControlTransferTypefor a list of built-in transfer types.- Returns:
- A new control transfer end point for the given node key and the given target and control transfer type.
- See Also:
-
normal
Creates a new normal end point for the given node key and with no data.- Parameters:
nodeKey- Key of the workflow node.- Returns:
- A new normal end point for the given node key and with no data.
- See Also:
-
returning
Creates a new returning end point for the given node key and with no data.- Parameters:
nodeKey- Key of the workflow node.- Returns:
- A new returning end point for the given node key and with no data.
- See Also:
-
throwing
Creates a new throwing end point for the given node key and with no data.- Parameters:
nodeKey- Key of the workflow node.- Returns:
- A new throwing end point for the given node key and with no data.
- See Also:
-