Package de.xima.fc.mdl.workflow
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
public abstract class FlowGraphEndPoint extends Object implements INodeKeyProviding, Serializable
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 subclassesNormal,Throwing,ControlTransfer,Returningfor more details on the different end point types.End points are used during the
creation of the flow graphof 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:
FlowGraphEndPoint.Normal,FlowGraphEndPoint.Throwing,FlowGraphEndPoint.Returning,FlowGraphEndPoint.ControlTransfer, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlowGraphEndPoint.ControlTransferA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static classFlowGraphEndPoint.NormalA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static classFlowGraphEndPoint.ReturningA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.static classFlowGraphEndPoint.ThrowingA special type ofFlowGraphEndPoint, used when analyzing the control flow of a workflow processing chain.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static FlowGraphEndPoint.ControlTransfercontrolTransfer(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 booleanequals(Object obj)NodeKeygetNodeKey()abstract inthashCode()static FlowGraphEndPoint.Normalnormal(NodeKey nodeKey)Creates a new normal end point for the given node key and with no data.static FlowGraphEndPoint.Returningreturning(NodeKey nodeKey)Creates a new returning end point for the given node key and with no data.static FlowGraphEndPoint.Throwingthrowing(NodeKey nodeKey)Creates a new throwing end point for the given node key and with no data.
-
-
-
Field Detail
-
nodeKey
protected final NodeKey nodeKey
-
-
Method Detail
-
getNodeKey
public final NodeKey getNodeKey()
- Specified by:
getNodeKeyin interfaceINodeKeyProviding- Returns:
- Key of the workflow node representing this end point.
-
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:
ControlTransfer
-
normal
public static FlowGraphEndPoint.Normal normal(NodeKey nodeKey)
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:
Normal
-
returning
public static FlowGraphEndPoint.Returning returning(NodeKey nodeKey)
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:
Returning
-
throwing
public static FlowGraphEndPoint.Throwing throwing(NodeKey nodeKey)
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:
Throwing
-
-