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 aBPMN edge
for an association-like connection between a source and a target, used byIFlattenedAlignmentItemMap.association()
andIFlattenedAlignmentItemMap.dataAssociation()
.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
, anddata associations
.- Since:
- 8.4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Self
closestDiagonalConnection(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 de.xima.fc.interfaces.workflow.bpmn.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 Detail
-
closestDiagonalConnection
@CanIgnoreReturnValue Self closestDiagonalConnection(Element source, Element target)
Sets the source and target of the association, and automatically selects the closest points on the source and target. Theconnection style
is 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 point
exists 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 point
exists for the respective corners, uses theNORTH_EAST
/SOUTH_EAST
/SOUTH_WEST
/NORTH_WEST
point 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
-
-