Interface IWorkflowBpmnConnectionEdgeBuilder<Self, Element extends de.xima.bpmn_model.api.behavior.BpmnElement<?>>

Type Parameters:
Self - The type of the builder itself.
Element - The type of the elements that can be used as source and target of the connection.
All Known Subinterfaces:
IWorkflowBpmnAssociationEdgeBuilder, IWorkflowBpmnAssociationLikeEdgeBuilder<Self,Element>, IWorkflowBpmnDataAssociationEdgeBuilder, IWorkflowBpmnFlowEdgeBuilder

public interface IWorkflowBpmnConnectionEdgeBuilder<Self, Element extends de.xima.bpmn_model.api.behavior.BpmnElement<?>>
Base builder interface for creating connections (such as Association or SequenceFlow) and a BPMN edge between a source and a target, used by IFlattenedAlignmentItemMap.

When modelling a workflow element as BPMN, the usual approach is to create a nested tree of alignment items, making use of the layouter. This tree then gets resolved to a flat map. Finally, the various method on IFlattenedAlignmentItemMap can be used to create the BPMN shapes, BPMN edges, associations, and sequence flows.

Since:
8.4.0
  • Method Details

    • betweenPorts

      @CanIgnoreReturnValue Self betweenPorts(Element source, Element target)
      Creates a connection and BPMN edge between the given source and target elements. Uses the out port of the source and the in port of the target.
      Parameters:
      source - The source element of the connection.
      target - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • betweenPorts

      @CanIgnoreReturnValue Self betweenPorts(IBpmnElementAccessor<? extends Element> source, Element target)
      Creates a connection and BPMN edge between the given source and target elements. Uses the out port of the source and the in port of the target.
      Parameters:
      source - The source element of the connection.
      target - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • betweenPorts

      @CanIgnoreReturnValue Self betweenPorts(Element source, IBpmnElementAccessor<? extends Element> target)
      Creates a connection and BPMN edge between the given source and target elements. Uses the out port of the source and the in port of the target.
      Parameters:
      source - The source element of the connection.
      target - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • betweenPorts

      @CanIgnoreReturnValue Self betweenPorts(IBpmnElementAccessor<? extends Element> source, IBpmnElementAccessor<? extends Element> target)
      Creates a connection and BPMN edge between the given source and target elements. Uses the out port of the source and the in port of the target.
      Parameters:
      source - The source element of the connection.
      target - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • connectionStyle

      @CanIgnoreReturnValue Self connectionStyle(EWorkflowBpmnConnectionStyle connectionStyle)
      Sets the style of the connections, whether to draw them as axis-aligned lines or as a potentially diagonal lines. The default depends on the builder subtype.
      Parameters:
      connectionStyle - The style of the connection, which determines how the connection is drawn.
      Returns:
      This builder for chaining method calls.
    • firstAxis

      @CanIgnoreReturnValue Self firstAxis(ECartesianAxis2D axis)
      When the connection is drawn as an axis-aligned path between the source and target points and the source and target points are not aligned on the x or y axes, draws two axis-aligned lines with a corner. This is the axis for the first line.
                      second axis
                  ┌──────────────────> target
                  │
                  │
      first axis  │
                  │
                  │
                source
      
      Parameters:
      axis - The axis to draw the first line to. The second line will be drawn to the other axis.
      Returns:
      This builder for chaining method calls.
    • fromEdge

      @CanIgnoreReturnValue Self fromEdge(Element element, ECardinalDirection2D side, double position)
      Sets the connection's source to a point on an edge of the given element.
      Parameters:
      element - The source element of the connection.
      side - Which edge of the element to use as the source.
      position - The position on the edge, in the range [0.0, 1.0]. 0 is the beginning of the edge, 1 is the end. For the NORTH edge, 0 is the top-left corner. For the SOUTH edge, 0 is the bottom-left corner. For the EAST edge, 0 is the top-right corner. For the WEST edge, 0 is the top-left corner.
      Returns:
      This builder for chaining method calls.
    • fromEdge

      @CanIgnoreReturnValue Self fromEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position)
      Sets the connection's source to a point on an edge of the given element.
      Parameters:
      element - The source element of the connection.
      side - Which edge of the element to use as the source.
      position - The position on the edge, in the range [0.0, 1.0]. 0 is the beginning of the edge, 1 is the end. For the NORTH edge, 0 is the top-left corner. For the SOUTH edge, 0 is the bottom-left corner. For the EAST edge, 0 is the top-right corner. For the WEST edge, 0 is the top-left corner.
      Returns:
      This builder for chaining method calls.
    • fromInPort

      @CanIgnoreReturnValue Self fromInPort(Element element)
      Sets the connection's source to the in port of the given element. Use with care, a sequence should usually emanate from the out port of an element, not the in port.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • fromInPort

      @CanIgnoreReturnValue Self fromInPort(IBpmnElementAccessor<? extends Element> element)
      Sets the connection's source to the in port of the given element. Use with care, a sequence should usually emanate from the out port of an element, not the in port.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • fromOutPort

      @CanIgnoreReturnValue Self fromOutPort(Element element)
      Sets the connection's source to the out port of the given element.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • fromOutPort

      @CanIgnoreReturnValue Self fromOutPort(IBpmnElementAccessor<? extends Element> element)
      Sets the connection's source to the out port of the given element.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • fromPoint

      @CanIgnoreReturnValue Self fromPoint(Element element, String pointName)
      Sets the connection's source to a point on the given element.
      Parameters:
      element - The source element of the association.
      pointName - The name of the point on the element, see point.
      Returns:
      This builder for chaining method calls.
    • fromPoint

      @CanIgnoreReturnValue Self fromPoint(IBpmnElementAccessor<? extends Element> element, String pointName)
      Sets the connection's source to a point on the given element.
      Parameters:
      element - The source element of the association.
      pointName - The name of the point on the element, see point.
      Returns:
      This builder for chaining method calls.
    • fromPoint

      @CanIgnoreReturnValue Self fromPoint(Element logicalSource, Object visualSource, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      logicalSource - The logical (semantic) source element of the connection.
      visualSource - The visual source element of the connection, which may be different from the logical source. Used for computing the point where to start the connection.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • fromPoint

      @CanIgnoreReturnValue Self fromPoint(IBpmnElementAccessor<? extends Element> logicalSource, Object visualSource, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      logicalSource - The logical (semantic) source element of the connection.
      visualSource - The visual source element of the connection, which may be different from the logical source. Used for computing the point where to start the connection.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • fromPort

      @CanIgnoreReturnValue Self fromPort(Element element)
      Shortcut for fromOutPort(BpmnElement). Usually, when a connection starts at an element, it starts at its out port, not in port.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • fromPort

      @CanIgnoreReturnValue Self fromPort(IBpmnElementAccessor<? extends Element> element)
      Shortcut for fromOutPort(BpmnElement). Usually, when a connection starts at an element, it starts at its out port, not in port.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • toEdge

      @CanIgnoreReturnValue Self toEdge(Element element, ECardinalDirection2D side, double position)
      Sets the connection's target to a point on an edge of the given element.
      Parameters:
      element - The source element of the connection.
      side - Which edge of the element to use as the source.
      position - The position on the edge, in the range [0.0, 1.0]. 0 is the beginning of the edge, 1 is the end. For the NORTH edge, 0 is the top-left corner. For the SOUTH edge, 0 is the bottom-left corner. For the EAST edge, 0 is the top-right corner. For the WEST edge, 0 is the top-left corner.
      Returns:
      This builder for chaining method calls.
    • toEdge

      @CanIgnoreReturnValue Self toEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position)
      Sets the connection's target to a point on an edge of the given element.
      Parameters:
      element - The source element of the connection.
      side - Which edge of the element to use as the source.
      position - The position on the edge, in the range [0.0, 1.0]. 0 is the beginning of the edge, 1 is the end. For the NORTH edge, 0 is the top-left corner. For the SOUTH edge, 0 is the bottom-left corner. For the EAST edge, 0 is the top-right corner. For the WEST edge, 0 is the top-left corner.
      Returns:
      This builder for chaining method calls.
    • toInPort

      @CanIgnoreReturnValue Self toInPort(Element element)
      Sets the connection's target to the in port of the given element.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • toInPort

      @CanIgnoreReturnValue Self toInPort(IBpmnElementAccessor<? extends Element> element)
      Sets the connection's target to the in port of the given element.
      Parameters:
      element - The source element of the connection.
      Returns:
      This builder for chaining method calls.
    • toOutPort

      @CanIgnoreReturnValue Self toOutPort(Element element)
      Sets the connection's target to the out port of the given element. Use with care, a connection should usually enter at the in port of an element, not the out port.
      Parameters:
      element - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • toOutPort

      @CanIgnoreReturnValue Self toOutPort(IBpmnElementAccessor<? extends Element> element)
      Sets the connection's target to the out port of the given element. Use with care, a connection should usually enter at the in port of an element, not the out port.
      Parameters:
      element - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • toPoint

      @CanIgnoreReturnValue Self toPoint(Element element, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      element - The target element of the connection.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • toPoint

      @CanIgnoreReturnValue Self toPoint(Element logicalTarget, Object visualTarget, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      logicalTarget - The logical (semantic) target element of the connection.
      visualTarget - The visual target element of the connection, which may be different from the logical target. Used for computing the point to connect to.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • toPoint

      @CanIgnoreReturnValue Self toPoint(IBpmnElementAccessor<? extends Element> logicalTarget, Object visualTarget, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      logicalTarget - The logical (semantic) target element of the connection.
      visualTarget - The visual target element of the connection, which may be different from the logical target. Used for computing the point to connect to.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • toPoint

      @CanIgnoreReturnValue Self toPoint(IBpmnElementAccessor<? extends Element> element, String pointName)
      Sets the connection's target to a point on the given element.
      Parameters:
      element - The target element of the connection.
      pointName - The name of the point on the element, see point
      Returns:
      This builder for chaining method calls.
    • toPort

      @CanIgnoreReturnValue Self toPort(Element element)
      Shortcut for toInPort(BpmnElement). Usually, when a connection targets an element, it enters at its in port, not out port.
      Parameters:
      element - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • toPort

      @CanIgnoreReturnValue Self toPort(IBpmnElementAccessor<? extends Element> element)
      Shortcut for toInPort(BpmnElement). Usually, when a connection targets an element, it enters at its in port, not out port.
      Parameters:
      element - The target element of the connection.
      Returns:
      This builder for chaining method calls.
    • viaInPort

      @CanIgnoreReturnValue Self viaInPort(Object value)
      Adds a waypoint between the source and target point. Uses the in port of the alignment item corresponding to the given value, see get-by-value.
      Parameters:
      value - The value of the alignment item with an in port to add as a waypoint.
      Returns:
      This builder for chaining method calls.
    • viaOutPort

      @CanIgnoreReturnValue Self viaOutPort(Object value)
      Adds a waypoint between the source and target point. Uses the out port of the alignment item corresponding to the given value, see get-by-value.
      Parameters:
      value - The value of the alignment item with an out port to add as a waypoint.
      Returns:
      This builder for chaining method calls.
    • viaPoint

      @CanIgnoreReturnValue Self viaPoint(Object value, String pointName)
      Adds a waypoint between the source and target point. Uses the named point of the alignment item corresponding to the given value, see get-by-value.
      Parameters:
      value - The value of the alignment item with a named point to add as a waypoint.
      pointName - The name of the point, see point.
      Returns:
      This builder for chaining method calls.
    • viaPoint

      @CanIgnoreReturnValue Self viaPoint(Object value, String pointName, Point2DDouble offset)
      Adds a waypoint between the source and target point. Uses the named point of the alignment item corresponding to the given value and offsets (translates) it by the given amount, see get-by-value.
      Parameters:
      value - The value of the alignment item with a named point to add as a waypoint.
      pointName - The name of the point, see point.
      offset - The offset to apply to the point, added to the point's coordinates.
      Returns:
      This builder for chaining method calls.
    • viaPoint

      @CanIgnoreReturnValue Self viaPoint(Point2DDouble waypoint)
      Adds a waypoint between the source and target point.
      Parameters:
      waypoint - The waypoint to add as a point on the connection.
      Returns:
      This builder for chaining method calls.