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 asAssociation
orSequenceFlow
) and aBPMN edge
between 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 getsresolved
to a flat map. Finally, the various method onIFlattenedAlignmentItemMap
can 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 Self
betweenPorts(IBpmnElementAccessor<? extends Element> source, IBpmnElementAccessor<? extends Element> target)
Creates a connection andBPMN edge
between the given source and target elements.Self
betweenPorts(IBpmnElementAccessor<? extends Element> source, Element target)
Creates a connection andBPMN edge
between the given source and target elements.Self
betweenPorts(Element source, IBpmnElementAccessor<? extends Element> target)
Creates a connection andBPMN edge
between the given source and target elements.Self
betweenPorts(Element source, Element target)
Creates a connection andBPMN edge
between the given source and target elements.Self
connectionStyle(EWorkflowBpmnConnectionStyle connectionStyle)
Sets the style of the connections, whether to draw them as axis-aligned lines or as a potentially diagonal lines.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.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.Self
fromEdge(Element element, ECardinalDirection2D side, double position)
Sets the connection's source to a point on an edge of the given element.Self
fromInPort(IBpmnElementAccessor<? extends Element> element)
Sets the connection's source to the in port of the given element.Self
fromInPort(Element element)
Sets the connection's source to the in port of the given element.Self
fromOutPort(IBpmnElementAccessor<? extends Element> element)
Sets the connection's source to the out port of the given element.Self
fromOutPort(Element element)
Sets the connection's source to the out port of the given element.Self
fromPoint(IBpmnElementAccessor<? extends Element> logicalSource, Object visualSource, String pointName)
Sets the connection's target to a point on the given element.Self
fromPoint(IBpmnElementAccessor<? extends Element> element, String pointName)
Sets the connection's source to a point on the given element.Self
fromPoint(Element logicalSource, Object visualSource, String pointName)
Sets the connection's target to a point on the given element.Self
fromPoint(Element element, String pointName)
Sets the connection's source to a point on the given element.Self
fromPort(IBpmnElementAccessor<? extends Element> element)
Shortcut forfromOutPort(BpmnElement)
.Self
fromPort(Element element)
Shortcut forfromOutPort(BpmnElement)
.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.Self
toEdge(Element element, ECardinalDirection2D side, double position)
Sets the connection's target to a point on an edge of the given element.Self
toInPort(IBpmnElementAccessor<? extends Element> element)
Sets the connection's target to the in port of the given element.Self
toInPort(Element element)
Sets the connection's target to the in port of the given element.Self
toOutPort(IBpmnElementAccessor<? extends Element> element)
Sets the connection's target to the out port of the given element.Self
toOutPort(Element element)
Sets the connection's target to the out port of the given element.Self
toPoint(IBpmnElementAccessor<? extends Element> logicalTarget, Object visualTarget, String pointName)
Sets the connection's target to a point on the given element.Self
toPoint(IBpmnElementAccessor<? extends Element> element, String pointName)
Sets the connection's target to a point on the given element.Self
toPoint(Element logicalTarget, Object visualTarget, String pointName)
Sets the connection's target to a point on the given element.Self
toPoint(Element element, String pointName)
Sets the connection's target to a point on the given element.Self
toPort(IBpmnElementAccessor<? extends Element> element)
Shortcut fortoInPort(BpmnElement)
.Self
toPort(Element element)
Shortcut fortoInPort(BpmnElement)
.Self
viaInPort(Object value)
Adds a waypoint between the source and target point.Self
viaOutPort(Object value)
Adds a waypoint between the source and target point.Self
viaPoint(Point2DDouble waypoint)
Adds a waypoint between the source and target point.Self
viaPoint(Object value, String pointName)
Adds a waypoint between the source and target point.Self
viaPoint(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 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 andBPMN 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 andBPMN 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 andBPMN 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 theNORTH
edge, 0 is the top-left corner. For theSOUTH
edge, 0 is the bottom-left corner. For theEAST
edge, 0 is the top-right corner. For theWEST
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 theNORTH
edge, 0 is the top-left corner. For theSOUTH
edge, 0 is the bottom-left corner. For theEAST
edge, 0 is the top-right corner. For theWEST
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, 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 theNORTH
edge, 0 is the top-left corner. For theSOUTH
edge, 0 is the bottom-left corner. For theEAST
edge, 0 is the top-right corner. For theWEST
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 theNORTH
edge, 0 is the top-left corner. For theSOUTH
edge, 0 is the bottom-left corner. For theEAST
edge, 0 is the top-right corner. For theWEST
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, 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.
-
-