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.

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

    Fields
    Modifier and Type
    Field
    Description
    static final long
    A union of all possible flow graph connection types.
    static final long
    An edge that leads back to a previous node that has already been executed.
    static final long
    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.
    static final long
    None of the available flow graph connection types.
    static final long
    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.
    static final long
    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.
    static final long
    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.
  • Method Summary

    Modifier and Type
    Method
    Description
    static boolean
    excludesAllOf(long type, long excludeAllOf)
    Checks if the given type flag excludes neither of the given flags.
    static boolean
    excludesSomeOf(long type, long excludeSomeOf)
    Checks if the given type flag is missing at least one of the given flags.
    static boolean
    includesAllOf(long type, long includeAllOf)
    Checks if the given type flag includes all the given flags.
    static boolean
    includesSomeOf(long type, long includeSomeOf)
    Checks if the given type flag includes at least one of the given flags.
    static boolean
    isBackwards(long type)
    Checks if the given type flag includes the BACKWARDS flag.
    static boolean
    isControlTransfer(long type)
    Checks if the given type flag includes the CONTROL_TRANSFER flag.
    static boolean
    isNormal(long type)
    Checks if the given type flag includes the NORMAL flag.
    static boolean
    isReturning(long type)
    Checks if the given type flag includes the RETURNING flag.
    static boolean
    isThrowing(long type)
    Checks if the given type flag includes the THROWING flag.
    static long
    not(long type)
    Returns the opposite of the given type flags, i.e. inverts each bit flag.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NONE

      public static final long NONE
      None of the available flow graph connection types.
      See Also:
    • 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:
    • 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:
    • 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:
    • 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:
    • 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 with NORMAL or THROWING.

      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 ALL
      A 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:
      true if 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:
      true if 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:
      true if 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:
      true if the type includes at least one of the given include types.
      See Also:
    • isBackwards

      public static boolean isBackwards(long type)
      Checks if the given type flag includes the BACKWARDS flag.
      Parameters:
      type - A set of connection type flags to check, or'ed together.
      Returns:
      Whether the flags include BACKWARDS.
    • isControlTransfer

      public static boolean isControlTransfer(long type)
      Checks if the given type flag includes the CONTROL_TRANSFER flag.
      Parameters:
      type - A set of connection type flags to check, or'ed together.
      Returns:
      Whether the flags include CONTROL_TRANSFER.
    • isNormal

      public static boolean isNormal(long type)
      Checks if the given type flag includes the NORMAL flag.
      Parameters:
      type - A set of connection type flags to check, or'ed together.
      Returns:
      Whether the flags include NORMAL.
    • isReturning

      public static boolean isReturning(long type)
      Checks if the given type flag includes the RETURNING flag.
      Parameters:
      type - A set of connection type flags to check, or'ed together.
      Returns:
      Whether the flags include RETURNING.
    • isThrowing

      public static boolean isThrowing(long type)
      Checks if the given type flag includes the THROWING flag.
      Parameters:
      type - A set of connection type flags to check, or'ed together.
      Returns:
      Whether the flags include THROWING.
    • 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.