Interface IWorkflowBpmnAssociationLikeEdgeBuilder<Self, Element extends de.xima.bpmn_model.api.behavior.BpmnElement<?>>
- All Superinterfaces:
IWorkflowBpmnConnectionEdgeBuilder<Self,Element>
- All Known Subinterfaces:
IWorkflowBpmnAssociationEdgeBuilder, IWorkflowBpmnDataAssociationEdgeBuilder
public interface IWorkflowBpmnAssociationLikeEdgeBuilder<Self, Element extends de.xima.bpmn_model.api.behavior.BpmnElement<?>>
extends IWorkflowBpmnConnectionEdgeBuilder<Self,Element>
Builder for creating a
BPMN edge for an association-like connection between a source and a target,
used by IFlattenedAlignmentItemMap.association() and IFlattenedAlignmentItemMap.dataAssociation().
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 data
associations.
- Since:
- 8.4.0
-
Method Summary
Modifier and TypeMethodDescriptionclosestDiagonalConnection(Element source, Element target) Sets the source and target of the association, and automatically selects the closest points on the source and target.Methods inherited from interface IWorkflowBpmnConnectionEdgeBuilder
betweenPorts, betweenPorts, betweenPorts, betweenPorts, connectionStyle, firstAxis, fromEdge, fromEdge, fromInPort, fromInPort, fromOutPort, fromOutPort, fromPoint, fromPoint, fromPoint, fromPoint, fromPort, fromPort, toEdge, toEdge, toInPort, toInPort, toOutPort, toOutPort, toPoint, toPoint, toPoint, toPoint, toPort, toPort, viaInPort, viaOutPort, viaPoint, viaPoint, viaPoint
-
Method Details
-
closestDiagonalConnection
Sets the source and target of the association, and automatically selects the closest points on the source and target. Theconnection styleis set toDIAGONAL.Points are selected as follows. First, find the relative cardinal position of the target's bounding box with respect to the source's bounding box, see
classifyRectangleCardinalPosition. Depending on the result:- if the target is above / below / to the left / right of the source, select a point on the source's top /
bottom / left / right edge and a point on the target's bottom / top / right / left edge (respectively). The
points are selected so that are aligned vertically / horizontally with each other. Then draw a straight
axis-aligned line between those two points. If a
named pointexists for the respective edges, uses the (NORTH/EAST/SOUTH/WEST) point instead. - if the target is northeast / southeast / southwest / northwest of the source, select the corresponding
corner point's of the source's and target's bounding boxes, i.e. the source's northeast / southeast /
southwest / northwest corner and the target's southwest / northwest / northeast / southeast corner
(respectively). Then draws a diagonal line between those two points. If a
named pointexists for the respective corners, uses theNORTH_EAST/SOUTH_EAST/SOUTH_WEST/NORTH_WESTpoint instead. - if the source and target bounding boxes overlap, unsets the source and target.
- Parameters:
source- The source element of the association.target- The target element of the association.- Returns:
- This builder for chaining method calls.
- if the target is above / below / to the left / right of the source, select a point on the source's top /
bottom / left / right edge and a point on the target's bottom / top / right / left edge (respectively). The
points are selected so that are aligned vertically / horizontally with each other. Then draw a straight
axis-aligned line between those two points. If a
-