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 asAssociationorSequenceFlow) and aBPMN edgebetween a source and a target, used byIFlattenedAlignmentItemMap.When modelling a workflow element as BPMN, the usual approach is to create a nested tree of
alignment items, making use of thelayouter. This tree then getsresolvedto a flat map. Finally, the various method onIFlattenedAlignmentItemMapcan be used to create theBPMN shapes,BPMN edges,associations, andsequence flows.- Since:
- 8.4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SelfbetweenPorts(IBpmnElementAccessor<? extends Element> source, IBpmnElementAccessor<? extends Element> target)Creates a connection andBPMN edgebetween the given source and target elements.SelfbetweenPorts(IBpmnElementAccessor<? extends Element> source, Element target)Creates a connection andBPMN edgebetween the given source and target elements.SelfbetweenPorts(Element source, IBpmnElementAccessor<? extends Element> target)Creates a connection andBPMN edgebetween the given source and target elements.SelfbetweenPorts(Element source, Element target)Creates a connection andBPMN edgebetween the given source and target elements.SelfconnectionStyle(EWorkflowBpmnConnectionStyle connectionStyle)Sets the style of the connections, whether to draw them as axis-aligned lines or as a potentially diagonal lines.SelffirstAxis(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.SelffromEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position)Sets the connection's source to a point on an edge of the given element.SelffromEdge(Element element, ECardinalDirection2D side, double position)Sets the connection's source to a point on an edge of the given element.SelffromInPort(IBpmnElementAccessor<? extends Element> element)Sets the connection's source to the in port of the given element.SelffromInPort(Element element)Sets the connection's source to the in port of the given element.SelffromOutPort(IBpmnElementAccessor<? extends Element> element)Sets the connection's source to the out port of the given element.SelffromOutPort(Element element)Sets the connection's source to the out port of the given element.SelffromPoint(IBpmnElementAccessor<? extends Element> logicalSource, Object visualSource, String pointName)Sets the connection's target to a point on the given element.SelffromPoint(IBpmnElementAccessor<? extends Element> element, String pointName)Sets the connection's source to a point on the given element.SelffromPoint(Element logicalSource, Object visualSource, String pointName)Sets the connection's target to a point on the given element.SelffromPoint(Element element, String pointName)Sets the connection's source to a point on the given element.SelffromPort(IBpmnElementAccessor<? extends Element> element)Shortcut forfromOutPort(BpmnElement).SelffromPort(Element element)Shortcut forfromOutPort(BpmnElement).SelftoEdge(IBpmnElementAccessor<? extends Element> element, ECardinalDirection2D side, double position)Sets the connection's target to a point on an edge of the given element.SelftoEdge(Element element, ECardinalDirection2D side, double position)Sets the connection's target to a point on an edge of the given element.SelftoInPort(IBpmnElementAccessor<? extends Element> element)Sets the connection's target to the in port of the given element.SelftoInPort(Element element)Sets the connection's target to the in port of the given element.SelftoOutPort(IBpmnElementAccessor<? extends Element> element)Sets the connection's target to the out port of the given element.SelftoOutPort(Element element)Sets the connection's target to the out port of the given element.SelftoPoint(IBpmnElementAccessor<? extends Element> logicalTarget, Object visualTarget, String pointName)Sets the connection's target to a point on the given element.SelftoPoint(IBpmnElementAccessor<? extends Element> element, String pointName)Sets the connection's target to a point on the given element.SelftoPoint(Element logicalTarget, Object visualTarget, String pointName)Sets the connection's target to a point on the given element.SelftoPoint(Element element, String pointName)Sets the connection's target to a point on the given element.SelftoPort(IBpmnElementAccessor<? extends Element> element)Shortcut fortoInPort(BpmnElement).SelftoPort(Element element)Shortcut fortoInPort(BpmnElement).SelfviaInPort(Object value)Adds a waypoint between the source and target point.SelfviaOutPort(Object value)Adds a waypoint between the source and target point.SelfviaPoint(Point2DDouble waypoint)Adds a waypoint between the source and target point.SelfviaPoint(Object value, String pointName)Adds a waypoint between the source and target point.SelfviaPoint(Object value, String pointName, Point2DDouble offset)Adds a waypoint between the source and target point.
-
-
-
Method Detail
-
betweenPorts
@CanIgnoreReturnValue Self betweenPorts(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(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
@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 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
@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, 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
@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, 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
@CanIgnoreReturnValue Self fromPort(Element element)
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
@CanIgnoreReturnValue Self fromPort(IBpmnElementAccessor<? extends Element> element)
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
@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 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
@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, seepoint- 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, 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
@CanIgnoreReturnValue Self toPort(Element element)
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
@CanIgnoreReturnValue Self toPort(IBpmnElementAccessor<? extends Element> element)
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
@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, 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
@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, 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
@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, 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
@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, 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
@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.
-
-