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 Summary
Modifier and TypeMethodDescriptionbetweenPorts(IBpmnElementAccessor<? extends Element> source, IBpmnElementAccessor<? extends Element> target) Creates a connection andBPMN edgebetween the given source and target elements.betweenPorts(IBpmnElementAccessor<? extends Element> source, Element target) Creates a connection andBPMN edgebetween the given source and target elements.betweenPorts(Element source, IBpmnElementAccessor<? extends Element> target) Creates a connection andBPMN edgebetween the given source and target elements.betweenPorts(Element source, Element target) Creates a connection andBPMN edgebetween the given source and target elements.connectionStyle(EWorkflowBpmnConnectionStyle connectionStyle) Sets the style of the connections, whether to draw them as axis-aligned lines or as a potentially diagonal lines.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.fromEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position) Sets the connection's source to a point on an edge of the given element.fromEdge(Element element, ECardinalDirection2D side, double position) Sets the connection's source to a point on an edge of the given element.fromInPort(IBpmnElementAccessor<? extends Element> element) Sets the connection's source to the in port of the given element.fromInPort(Element element) Sets the connection's source to the in port of the given element.fromOutPort(IBpmnElementAccessor<? extends Element> element) Sets the connection's source to the out port of the given element.fromOutPort(Element element) Sets the connection's source to the out port of the given element.fromPoint(IBpmnElementAccessor<? extends Element> logicalSource, Object visualSource, String pointName) Sets the connection's target to a point on the given element.fromPoint(IBpmnElementAccessor<? extends Element> element, String pointName) Sets the connection's source to a point on the given element.Sets the connection's target to a point on the given element.Sets the connection's source to a point on the given element.fromPort(IBpmnElementAccessor<? extends Element> element) Shortcut forfromOutPort(BpmnElement).Shortcut forfromOutPort(BpmnElement).toEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position) Sets the connection's target to a point on an edge of the given element.toEdge(Element element, ECardinalDirection2D side, double position) Sets the connection's target to a point on an edge of the given element.toInPort(IBpmnElementAccessor<? extends Element> element) Sets the connection's target to the in port of the given element.Sets the connection's target to the in port of the given element.toOutPort(IBpmnElementAccessor<? extends Element> element) Sets the connection's target to the out port of the given element.Sets the connection's target to the out port of the given element.toPoint(IBpmnElementAccessor<? extends Element> logicalTarget, Object visualTarget, String pointName) Sets the connection's target to a point on the given element.toPoint(IBpmnElementAccessor<? extends Element> element, String pointName) Sets the connection's target to a point on the given element.Sets the connection's target to a point on the given element.Sets the connection's target to a point on the given element.toPort(IBpmnElementAccessor<? extends Element> element) Shortcut fortoInPort(BpmnElement).Shortcut fortoInPort(BpmnElement).Adds a waypoint between the source and target point.viaOutPort(Object value) Adds a waypoint between the source and target point.viaPoint(Point2DDouble waypoint) Adds a waypoint between the source and target point.Adds a waypoint between the source and target point.viaPoint(Object value, String pointName, Point2DDouble offset) Adds a waypoint between the source and target point.
-
Method Details
-
betweenPorts
Creates a connection andBPMN edgebetween 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 andBPMN edgebetween 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 andBPMN edgebetween 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 andBPMN edgebetween 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
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
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
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 theNORTHedge, 0 is the top-left corner. For theSOUTHedge, 0 is the bottom-left corner. For theEASTedge, 0 is the top-right corner. For theWESTedge, 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 theNORTHedge, 0 is the top-left corner. For theSOUTHedge, 0 is the bottom-left corner. For theEASTedge, 0 is the top-right corner. For theWESTedge, 0 is the top-left corner.- Returns:
- This builder for chaining method calls.
-
fromInPort
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
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
-
fromOutPort
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
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, seepoint.- 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, seepoint.- Returns:
- This builder for chaining method calls.
-
fromPoint
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, seepoint- 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, seepoint- Returns:
- This builder for chaining method calls.
-
fromPort
Shortcut forfromOutPort(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
Shortcut forfromOutPort(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
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 theNORTHedge, 0 is the top-left corner. For theSOUTHedge, 0 is the bottom-left corner. For theEASTedge, 0 is the top-right corner. For theWESTedge, 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 theNORTHedge, 0 is the top-left corner. For theSOUTHedge, 0 is the bottom-left corner. For theEASTedge, 0 is the top-right corner. For theWESTedge, 0 is the top-left corner.- Returns:
- This builder for chaining method calls.
-
toInPort
-
toInPort
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
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
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
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, seepoint- Returns:
- This builder for chaining method calls.
-
toPoint
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, seepoint- 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, seepoint- 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, seepoint- Returns:
- This builder for chaining method calls.
-
toPort
Shortcut fortoInPort(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
Shortcut fortoInPort(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
Adds a waypoint between the source and target point. Uses the in port of the alignment item corresponding to the given value, seeget-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
Adds a waypoint between the source and target point. Uses the out port of the alignment item corresponding to the given value, seeget-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
Adds a waypoint between the source and target point. Uses the named point of the alignment item corresponding to the given value, seeget-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, seepoint.- Returns:
- This builder for chaining method calls.
-
viaPoint
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, seeget-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, seepoint.offset- The offset to apply to the point, added to the point's coordinates.- Returns:
- This builder for chaining method calls.
-
viaPoint
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.
-