Package de.xima.fc.workflow
Class FlowGraphConnectionType
- java.lang.Object
-
- de.xima.fc.workflow.FlowGraphConnectionType
-
public final class FlowGraphConnectionType extends Object
Constants with the bit flags for the different types of edges in a workflow node flow graph.- Since:
- 8.0.0
- Author:
- XIMA MEDIA GmbH
- See Also:
, which contains the type of an edge in a flow graph.,, which contains methods for querying a flow graph with filters.,, for a filter on edge types.
-
-
Field Summary
Fields Modifier and Type Field Description static longALLA union of all possible flow graph connection types.static longBACKWARDSAn edge that leads back to a previous node that has already been executed.static longCONTROL_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.static longNONENone of the available flow graph connection types.static longNORMALAn 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 longRETURNINGAn 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 longTHROWINGAn 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
All Methods Static Methods Concrete Methods Modifier and Type Method Description static booleanexcludesAllOf(long type, long excludeAllOf)static booleanexcludesSomeOf(long type, long excludeSomeOf)static booleanincludesAllOf(long type, long includeAllOf)static booleanincludesSomeOf(long type, long includeSomeOf)static booleanisBackwards(long type)static booleanisControlTransfer(long type)static booleanisNormal(long type)static booleanisReturning(long type)static booleanisThrowing(long type)static longnot(long type)
-
-
-
Field Detail
-
NONE
public static final long NONE
None of the available flow graph connection types.- See Also:
- Constant Field Values
-
NORMAL
public static final long NORMAL
An 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:
- Constant Field Values
-
THROWING
public static final long THROWING
An 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:
- Constant Field Values
-
CONTROL_TRANSFER
public static final long CONTROL_TRANSFER
An 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:
- Constant Field Values
-
RETURNING
public static final long RETURNING
An 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:
- Constant Field Values
-
BACKWARDS
public static final long BACKWARDS
An 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 predecesors of a node, e.g. for showing a list of node placeholders in the workfow designer.
- See Also:
- Constant Field Values
-
ALL
public static final long ALL
A union of all possible flow graph connection types.- See Also:
- Constant Field Values
-
-
Method Detail
-
excludesAllOf
public static boolean excludesAllOf(long type, long excludeAllOf)- 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:
, which is the opposite of this method.
-
excludesSomeOf
public static boolean excludesSomeOf(long type, long excludeSomeOf)- 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 of the given types.- See Also:
, which is the opposite of this method.
-
includesAllOf
public static boolean includesAllOf(long type, long includeAllOf)- 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 of the given include types.- See Also:
, which is the opposite of this method.
-
includesSomeOf
public static boolean includesSomeOf(long type, long includeSomeOf)- 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:
, which is the opposite of this method.
-
isBackwards
public static boolean isBackwards(long type)
-
isControlTransfer
public static boolean isControlTransfer(long type)
- Parameters:
type- A set of connection type flags to check, or'ed together.- Returns:
- Whether the flags
includeCONTROL_TRANSFER.
-
isNormal
public static boolean isNormal(long type)
-
isReturning
public static boolean isReturning(long type)
-
isThrowing
public static boolean isThrowing(long type)
-
not
public static long not(long type)
- Parameters:
type- A set of connection type flags, or'ed together.- Returns:
- A list of types other than the given types.
-
-