Class FlowGraphConnectionType
See IFlowGraphEdgeData, which contains the type of an edge in a flow graph.
See ITaskFlowAnalysis, which contains methods for querying a flow graph with filters.
See FlowGraphFilters#edgeTypeMatches() FlowGraphFilters.edgeTypeMatches(), for a filter on edge types.
- Since:
- 8.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longA union of all possible flow graph connection types.static final longAn edge that leads back to a previous node that has already been executed.static final longAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a control transfer statement, can transfer control to node V.static final longNone of the available flow graph connection types.static final longAn edge between a node U and node V in the flow graph with the property that node U, when it completes normally, can transfer control to node V.static final longAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a return statement, can transfer control to node V.static final longAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by throwing an exception, can transfer control to node V. -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanexcludesAllOf(long type, long excludeAllOf) Checks if the given type flag excludes neither of the given flags.static booleanexcludesSomeOf(long type, long excludeSomeOf) Checks if the given type flag is missing at least one of the given flags.static booleanincludesAllOf(long type, long includeAllOf) Checks if the given type flag includes all the given flags.static booleanincludesSomeOf(long type, long includeSomeOf) Checks if the given type flag includes at least one of the given flags.static booleanisBackwards(long type) Checks if the given type flag includes theBACKWARDSflag.static booleanisControlTransfer(long type) Checks if the given type flag includes theCONTROL_TRANSFERflag.static booleanisNormal(long type) Checks if the given type flag includes theNORMALflag.static booleanisReturning(long type) Checks if the given type flag includes theRETURNINGflag.static booleanisThrowing(long type) Checks if the given type flag includes theTHROWINGflag.static longnot(long type) Returns the opposite of the given type flags, i.e. inverts each bit flag.
-
Field Details
-
NONE
public static final long NONENone of the available flow graph connection types.- See Also:
-
NORMAL
public static final long NORMALAn edge between a node U and node V in the flow graph with the property that node U, when it completes normally, can transfer control to node V.- See Also:
-
THROWING
public static final long THROWINGAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by throwing an exception, can transfer control to node V.- See Also:
-
CONTROL_TRANSFER
public static final long CONTROL_TRANSFERAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a control transfer statement, can transfer control to node V.- See Also:
-
RETURNING
public static final long RETURNINGAn edge between a node U and node V in the flow graph with the property that node U, when it completes abruptly by issuing a return statement, can transfer control to node V.- See Also:
-
BACKWARDS
public static final long BACKWARDSAn edge that leads back to a previous node that has already been executed. For loop nodes, this is the edge from the end of the loop body back to the start of the loop body. You should combine this edge typ withNORMALorTHROWING.More formally, assuming a valid flow graph where all nodes are reachable from the root, a back edge is an edge from node U to node V, with the additional property that every path from the root to V also includes U.
Back edges are excluded when searching for predecessors of a node, e.g. for showing a list of node placeholders in the workflow designer.
- See Also:
-
ALL
public static final long ALLA union of all possible flow graph connection types.- See Also:
-
-
Method Details
-
excludesAllOf
public static boolean excludesAllOf(long type, long excludeAllOf) Checks if the given type flag excludes neither of the given flags.See
includesSomeOf(), which is the opposite of this method.- Parameters:
type- A set of connection type flags, or'ed together.excludeAllOf- One or more types against which to compare the given type.- Returns:
trueif the type does not include any of the given exclude types.- See Also:
-
excludesSomeOf
public static boolean excludesSomeOf(long type, long excludeSomeOf) Checks if the given type flag is missing at least one of the given flags.See
includesAllOf(), which is the opposite of this method.- Parameters:
type- A set of connection type flags, or'ed together.excludeSomeOf- One or more types against which to compare the given type.- Returns:
trueif the type includes all given types.- See Also:
-
includesAllOf
public static boolean includesAllOf(long type, long includeAllOf) Checks if the given type flag includes all the given flags.See
excludesSomeOf(), which is the opposite of this method.- Parameters:
type- A set of connection type flags, or'ed together.includeAllOf- One or more types against which to compare the given type.- Returns:
trueif the type includes all the given include types.- See Also:
-
includesSomeOf
public static boolean includesSomeOf(long type, long includeSomeOf) Checks if the given type flag includes at least one of the given flags.See
excludesAllOf(), which is the opposite of this method.- Parameters:
type- A set of connection type flags to check, or'ed together.includeSomeOf- One or more types against which to compare the given type.- Returns:
trueif the type includes at least one of the given include types.- See Also:
-
isBackwards
-
isControlTransfer
public static boolean isControlTransfer(long type) Checks if the given type flag includes theCONTROL_TRANSFERflag.- Parameters:
type- A set of connection type flags to check, or'ed together.- Returns:
- Whether the flags
includeCONTROL_TRANSFER.
-
isNormal
-
isReturning
-
isThrowing
-
not
public static long not(long type) Returns the opposite of the given type flags, i.e. inverts each bit flag.- Parameters:
type- A set of connection type flags, or'ed together.- Returns:
- A list of types other than the given types.
-