Interface IWorkflowBpmnLayoutSubProcessBuilder
-
- All Superinterfaces:
IWorkflowBpmnLayoutAnnotatedElementBuilder<IWorkflowBpmnLayoutSubProcessBuilder>
,IWorkflowBpmnLayoutNamedBuilder<IWorkflowBpmnLayoutSubProcessBuilder>
,IWorkflowBpmnLayoutPortDirectionOptionsBuilder<IWorkflowBpmnLayoutSubProcessBuilder>
public interface IWorkflowBpmnLayoutSubProcessBuilder extends IWorkflowBpmnLayoutPortDirectionOptionsBuilder<IWorkflowBpmnLayoutSubProcessBuilder>, IWorkflowBpmnLayoutAnnotatedElementBuilder<IWorkflowBpmnLayoutSubProcessBuilder>, IWorkflowBpmnLayoutNamedBuilder<IWorkflowBpmnLayoutSubProcessBuilder>
Builder for the layout of a BPMNSubProcess
. A sub process consists of a bodyalignment item
and optionalboundary events
on the four sides of the sub process (north, east, south, west). This builder offers various methods to configure the position of the body and the boundary events.- Since:
- 8.4.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description IWorkflowBpmnLayoutSubProcessBuilder
addFlowPadding()
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPadding(double spacingFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPadding(double flowDirectionFactor, double crossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPadding(double flowDirectionFactor, double crossFlowDirectionFactor, double reverseFlowDirectionFactor, double reverseCrossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPaddingHalfForBoundaryEvents()
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPaddingHalfForBoundaryEvents(double spacingFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPaddingHalfForBoundaryEvents(double flowDirectionFactor, double crossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addFlowPaddingHalfForBoundaryEvents(double flowDirectionFactor, double crossFlowDirectionFactor, double reverseFlowDirectionFactor, double reverseCrossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
addMargin(double margin)
Adds the given amount of margin in all directions to the body.IWorkflowBpmnLayoutSubProcessBuilder
addMargin(ECardinalDirection2D direction, double margin)
Adds the given amount of margin in the given directions to the body.IWorkflowBpmnLayoutSubProcessBuilder
addMargin(ICardinalDirection2DMapDouble margin)
Sets the (minimum) margin of the sub process.IWorkflowBpmnLayoutSubProcessBuilder
addPadding(double padding)
Adds the given amount of padding in all directions to the body.IWorkflowBpmnLayoutSubProcessBuilder
addPadding(ECardinalDirection2D direction, double padding)
Adds the given amount of padding in the given directions to the body.IWorkflowBpmnLayoutSubProcessBuilder
addPadding(ICardinalDirection2DMapDouble padding)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.IWorkflowBpmnLayoutSubProcessBuilder
alignBodyCrossFlow(double alignment)
Aligns the body incross flow direction
.IWorkflowBpmnLayoutSubProcessBuilder
alignBodyFlow(double alignment)
Aligns the body in flow direction.IWorkflowBpmnLayoutSubProcessBuilder
alignBodyX(double alignX)
Aligns the body in the x direction.IWorkflowBpmnLayoutSubProcessBuilder
alignBodyY(double alignY)
Aligns the body in the y direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEvent(ECardinalDirection2D side, double position, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends a boundary event to the sub process at the given position on the given side.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction.IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent>
appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction.IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent>
appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction.IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent>
appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction.IWorkflowBpmnLayoutSubProcessBuilder
body(IWorkflowBpmnAlignmentItem<?,?> body)
Sets the item representing the body content of the sub process.IWorkflowBpmnLayoutSubProcessBuilder
bodyWithStartAndEndEvent(IWorkflowBpmnAlignmentItem<?,?> body, String startEventName, String endEventName)
de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent
boundaryEvent(ECardinalDirection2D side, int index)
Gets the nthBoundaryEvent
BPMN element at the given side.int
boundaryEventCount(ECardinalDirection2D side)
Gets the number of boundary events on the given side.double
boundaryEventPosition(ECardinalDirection2D side, int index)
Gets the position of the nth boundary event on the given side<S extends de.xima.bpmn_model.api.element.bpmn.activities.SubProcess<?>>
ISubProcessBpmnElementLayout<S>build(S subProcess)
Creates the layout for the given sub process, using the current layout settings.IWorkflowBpmnLayoutSubProcessBuilder
changeInPort(double inPort)
Override the position of the in port.IWorkflowBpmnLayoutSubProcessBuilder
changeOutPort(double outPort)
Override the position of the out port.IWorkflowBpmnLayoutSubProcessBuilder
changePortToItem(Object value)
Looks for theIWorkflowBpmnAlignmentItem
in the children of thebody
.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerHeightBottom(double height)
Increases the inner height of the sub process to the given value by adding new space at the bottom.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerHeightBottomBy(double amount)
Increases the inner height of the sub process by the given amount, adding new space at the bottom.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerHeightTop(double height)
Increases the inner height of the sub process to the given value by adding new space at the top.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerHeightTopBy(double amount)
Increases the inner height of the sub process by the given amount, adding new space at the top.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerLength(ECardinalDirection2D side, double length)
Increases the inner length of the sub process to the given value by adding new space at the given side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerLength(ECartesianAxis2D axis, EAxisPolarity direction, double length)
Increases the inner length of the sub process to the given value by adding new space at the given side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerLengthBy(ECardinalDirection2D side, double amount)
Increases the inner length of the sub process by the given amount at the given side, adding new space at that side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerLengthBy(ECartesianAxis2D axis, EAxisPolarity direction, double amount)
Increases the inner length of the sub process by the given amount at the given side, adding new space at that side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerWidthLeft(double width)
Increases the inner width of the sub process to the given value by adding new space at the left.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerWidthLeftBy(double amount)
Increases the inner width of the sub process by adding new space at the left.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerWidthRight(double width)
Increases the inner width of the sub process to the given value by adding new space at the right.IWorkflowBpmnLayoutSubProcessBuilder
enlargeInnerWidthRightBy(double amount)
Increases the inner width of the sub process by adding new space at the right.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterHeightBottom(double height)
Increases the outer height of the sub process to the given value by adding new space at the bottom.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterHeightBottomBy(double amount)
Increases the outer height of the sub process by the given amount, adding new space at the bottom.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterHeightTop(double height)
Increases the outer height of the sub process to the given value by adding new space at the top.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterHeightTopBy(double amount)
Increases the outer height of the sub process by the given amount, adding new space at the top.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterLength(ECardinalDirection2D side, double length)
Increases the outer length of the sub process to the given value by adding new space at the given side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterLength(ECartesianAxis2D axis, EAxisPolarity direction, double length)
Increases the outer length of the sub process to the given value by adding new space at the given side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterLengthBy(ECardinalDirection2D side, double amount)
Increases the outer length of the sub process by the given amount at the given side, adding new space at that side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterLengthBy(ECartesianAxis2D axis, EAxisPolarity direction, double amount)
Increases the outer length of the sub process by the given amount at the given side, adding new space at that side.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterWidthLeft(double width)
Increases the outer width of the sub process to the given value by adding new space at the left.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterWidthLeftBy(double amount)
Increases the outer width of the sub process by adding new space at the left.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterWidthRight(double width)
Increases the outer width of the sub process to the given value by adding new space at the right.IWorkflowBpmnLayoutSubProcessBuilder
enlargeOuterWidthRightBy(double amount)
Increases the outer width of the sub process by adding new space at the right.boolean
hasBoundaryEvents(ECardinalDirection2D side)
Checks whether the sub process has any boundary events on the given side.Rectangular2DDouble
innerBoundingBox()
Gets the current inner width and inner height of the sub process.double
innerHeight()
Gets the current inner height of the sub process.double
innerWidth()
Gets the current inner width of the sub process.Double
inPort()
Gets the current position of the in port.Rectangular2DDouble
outerBoundingBox()
Gets the current outer width and outer height of the sub process.double
outerHeight()
Gets the current outer height of the sub process.double
outerWidth()
Gets the current outer width of the sub process.Double
outPort()
Gets the current position of the out port.ECardinalDirection2D
portDirection()
Gets the current port direction, either the default direction or the direction set byportDirection(side)
.IWorkflowBpmnLayoutSubProcessBuilder
spaceBoundaryEventsEvenly(ECardinalDirection2D side)
Repositions all boundary events on the given side that were added viaappendBoundaryEvent
.IWorkflowBpmnLayoutSubProcessBuilder
useInPortOfBody()
IWorkflowBpmnLayoutSubProcessBuilder
useOutPortOfBody()
IWorkflowBpmnLayoutSubProcessBuilder
usePortsOfBody()
-
Methods inherited from interface de.xima.fc.interfaces.workflow.bpmn.IWorkflowBpmnLayoutAnnotatedElementBuilder
annotation, annotation, annotationDirection, annotationDirection, annotationDirection, annotationSpacing, annotationTextLayoutSettings
-
Methods inherited from interface de.xima.fc.interfaces.workflow.bpmn.IWorkflowBpmnLayoutNamedBuilder
name, name, nameTextLayoutSettings
-
Methods inherited from interface de.xima.fc.interfaces.workflow.bpmn.IWorkflowBpmnLayoutPortDirectionOptionsBuilder
portDirection, portDirection
-
-
-
-
Method Detail
-
addFlowPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPadding()
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.- Returns:
- This builder for chaining method calls.
-
addFlowPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPadding(double spacingFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.- Parameters:
spacingFactor
- The factor by which to multiply the flow and cross flow direction spacing. For example, if this factor is 2, the flow direction isEAST
, the flow direction spacing is 10, and the cross flow direction spacing is 20; adds a spacing of 2*10 = 20 to the left and right side; and a spacing of 2*20 = 40 to the top and bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addFlowPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPadding(double flowDirectionFactor, double crossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.- Parameters:
flowDirectionFactor
- The factor by which to multiply the flow direction spacing. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the left side; and 2*10 = 20 to the right side of the sub process.crossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the top side; and 2*10 = 20 to the bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addFlowPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPadding(double flowDirectionFactor, double crossFlowDirectionFactor, double reverseFlowDirectionFactor, double reverseCrossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.- Parameters:
flowDirectionFactor
- The factor by which to multiply the flow direction spacing for the side pointed to by the flow direction. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the right side of the sub process.crossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing for the side pointed to by the cross flow direction. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the top side of the sub process.reverseFlowDirectionFactor
- The factor by which to multiply the flow direction spacing for the side pointed to by the reverse flow direction. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the left side of the sub process.reverseCrossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing for the side pointed to by the reverse cross flow direction. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addFlowPaddingHalfForBoundaryEvents
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPaddingHalfForBoundaryEvents()
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.If there are boundary events on a side, halves the padding on that side.
- Returns:
- This builder for chaining method calls.
-
addFlowPaddingHalfForBoundaryEvents
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPaddingHalfForBoundaryEvents(double spacingFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.If there are boundary events on a side, halves the padding on that side.
- Parameters:
spacingFactor
- The factor by which to multiply the flow and cross flow direction spacing. For example, if this factor is 2, the flow direction isEAST
, the flow direction spacing is 10, and the cross flow direction spacing is 20; adds a spacing of 2*10 = 20 to the left and right side; and a spacing of 2*20 = 40 to the top and bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addFlowPaddingHalfForBoundaryEvents
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPaddingHalfForBoundaryEvents(double flowDirectionFactor, double crossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.If there are boundary events on a side, halves the padding on that side.
- Parameters:
flowDirectionFactor
- The factor by which to multiply the flow direction spacing. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the left side; and 2*10 = 20 to the right side of the sub process.crossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the top side; and 2*10 = 20 to the bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addFlowPaddingHalfForBoundaryEvents
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addFlowPaddingHalfForBoundaryEvents(double flowDirectionFactor, double crossFlowDirectionFactor, double reverseFlowDirectionFactor, double reverseCrossFlowDirectionFactor)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.Uses the
flow direction spacing
for the two sides inflow direction
; and thecross flow direction spacing
for the two sides incross flow direction
.If there are boundary events on a side, halves the padding on that side.
- Parameters:
flowDirectionFactor
- The factor by which to multiply the flow direction spacing for the side pointed to by the flow direction. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the right side of the sub process.crossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing for the side pointed to by the cross flow direction. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the top side of the sub process.reverseFlowDirectionFactor
- The factor by which to multiply the flow direction spacing for the side pointed to by the reverse flow direction. For example, if this factor is 2, the flow direction isEAST
and the flow direction spacing is 10, adds a spacing of 2*10 = 20 to the left side of the sub process.reverseCrossFlowDirectionFactor
- The factor by which to multiply the cross flow direction spacing for the side pointed to by the reverse cross flow direction. For example, if this factor is 2, the cross flow direction isEAST
and the cross flow direction spacing is 10, adds a spacing of 2*10 = 20 to the bottom side of the sub process.- Returns:
- This builder for chaining method calls.
-
addMargin
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addMargin(ICardinalDirection2DMapDouble margin)
Sets the (minimum) margin of the sub process. The margin is the additional spacing outside the border of the sub process.- Parameters:
margin
- The margin to apply in each of the four directions.- Returns:
- This builder for chaining method calls.
-
addMargin
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addMargin(double margin)
Adds the given amount of margin in all directions to the body.- Parameters:
margin
- The amount of margin to add.- Returns:
- This builder for chaining method calls.
-
addMargin
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addMargin(ECardinalDirection2D direction, double margin)
Adds the given amount of margin in the given directions to the body.- Parameters:
direction
- The direction where to add the margin.margin
- The amount of margin to add.- Returns:
- This builder for chaining method calls.
-
addPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addPadding(ICardinalDirection2DMapDouble padding)
Adds padding to the given sub process on all four sides as if by callingenlargeInnerLengthBy
for eachside
.- Parameters:
padding
- The amount of padding to add to each side of the sub process.- Returns:
- This builder for chaining method calls.
-
addPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addPadding(double padding)
Adds the given amount of padding in all directions to the body.- Parameters:
padding
- The amount of padding to add.- Returns:
- This builder for chaining method calls.
-
addPadding
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder addPadding(ECardinalDirection2D direction, double padding)
Adds the given amount of padding in the given directions to the body.- Parameters:
direction
- The direction where to add the padding.padding
- The amount of padding to add.- Returns:
- This builder for chaining method calls.
-
alignBodyCrossFlow
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder alignBodyCrossFlow(double alignment)
Aligns the body incross flow direction
. Must be a value between 0 and 1. 0 is the start of the sub process, 1 is the end of the sub process.- Parameters:
alignment
- The alignment of the body in cross flow direction.- Returns:
- This builder for chaining method calls.
-
alignBodyFlow
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder alignBodyFlow(double alignment)
Aligns the body in flow direction. Must be a value between 0 and 1. 0 is the start of the sub process, 1 is the end of the sub process.- Parameters:
alignment
- The alignment of the body in flow direction.- Returns:
- This builder for chaining method calls.
-
alignBodyX
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder alignBodyX(double alignX)
Aligns the body in the x direction. Must be a value between 0 and 1. 0 is the left side of the sub process, 1 is the right side of the sub process.- Parameters:
alignX
- The alignment of the body in x direction.- Returns:
- This builder for chaining method calls.
-
alignBodyY
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder alignBodyY(double alignY)
Aligns the body in the y direction. Must be a value between 0 and 1. 0 is the top side of the sub process, 1 is the bottom side of the sub process.- Parameters:
alignY
- The alignment of the body in y direction.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEvent
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEvent(ECardinalDirection2D side, double position, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends a boundary event to the sub process at the given position on the given side. The position can be any value. If smaller than 0, adds space to the left or top. If greater than the length of the side, adds space to the right or bottom. If other events would overlap the newly inserted boundary event, they are shifted away.- Parameters:
side
- The side where to append the boundary event.position
- The position of the boundary on the given side.event
- The boundary event to append.item
- The alignment of the boundary event to append.
-
appendBoundaryEventAtEdge
@CanIgnoreReturnValue IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- The edge direction where to append the boundary event.POSITIVE
is the start of the edge,NEGATIVE
is the end of the edge (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).eventDefinition
- The event definition to use for the boundary event.name
- The name of the boundary event.- Returns:
- The newly created layout with the boundary event.
-
appendBoundaryEventAtEdge
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- The edge direction where to append the boundary event.POSITIVE
is the start of the edge,NEGATIVE
is the end of the edge (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).event
- The boundary event to append.item
- Thealignment item
containing theboundary event
, either as itvalue
or as the value of somechild alignment item
.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEventAtEdge
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventAtEdge(ECardinalDirection2D side, EAxisPolarity direction, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
at one of the foursides
of the sub process, either at the beginning or at the end of that side, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- The edge direction where to append the boundary event.POSITIVE
is the start of the edge,NEGATIVE
is the end of the edge (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).event
- The laid out boundary event to append.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEventNextToEvent
@CanIgnoreReturnValue IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction. If the specified boundary event does not exist (or no boundary events exists on the given side), this method behaves identical toappendBoundaryEventAtEdge(side, direction, eventDefinition, name)
. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the existing boundary event.POSITIVE
appends the boundary event after the existing boundary event,NEGATIVE
appends it before the existing boundary event (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).boundaryEventIndex
- The index of the boundary event to append next to. 0 is the first boundary event, 1 is the second, etc. You can specify negative values to index events from the ends, e.g. -1 for the last event, -2 for the second to last, etc.eventDefinition
- The event definition to use for the boundary event.name
- The name of the boundary event.- Returns:
- The newly created layout with the boundary event.
-
appendBoundaryEventNextToEvent
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction. If the specified boundary event does not exist (or no boundary events exists on the given side), this method behaves identical toappendBoundaryEventAtEdge(side, direction, event, item)
. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the existing boundary event.POSITIVE
appends the boundary event after the existing boundary event,NEGATIVE
appends it before the existing boundary event (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).boundaryEventIndex
- The index of the boundary event to append next to. 0 is the first boundary event, 1 is the second, etc. You can specify negative values to index events from the ends, e.g. -1 for the last event, -2 for the second to last, etc.item
- Thealignment item
containing theboundary event
, either as itvalue
or as the value of somechildAlignmentItems
.event
- The boundary event to append.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEventNextToEvent
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventNextToEvent(ECardinalDirection2D side, EAxisPolarity direction, int boundaryEventIndex, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
next to an existing boundary event on one of the foursides
of the sub process; either before or after the boundary event, depending on the given direction. If the specified boundary event does not exist (or no boundary events exists on the given side), this method behaves identical toappendBoundaryEventAtEdge(side, direction, event)
. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
side
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the existing boundary event.POSITIVE
appends the boundary event after the existing boundary event,NEGATIVE
appends it before the existing boundary event (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).boundaryEventIndex
- The index of the boundary event to append next to. 0 is the first boundary event, 1 is the second, etc. You can specify negative values to index events from the ends, e.g. -1 for the last event, -2 for the second to last, etc.event
- The laid out boundary event to append.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEventNextToPort
@CanIgnoreReturnValue IAnnotatedNamedBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.EventDefinition<?> eventDefinition, String name)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
portSide
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the port.POSITIVE
appends the boundary event after the port,NEGATIVE
appends it before the port (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).eventDefinition
- The event definition to use for the boundary event.name
- The name of the boundary event.- Returns:
- The newly created layout with the boundary event.
-
appendBoundaryEventNextToPort
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent event, IWorkflowBpmnAlignmentItem<?,?> item)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
portSide
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the port.POSITIVE
appends the boundary event after the port,NEGATIVE
appends it before the port (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).event
- The boundary event to append.item
- Thealignment item
containing theboundary event
, either as itvalue
or as the value of somechild alignment item
.- Returns:
- This builder for chaining method calls.
-
appendBoundaryEventNextToPort
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder appendBoundaryEventNextToPort(EAxisPolarity portSide, EAxisPolarity direction, IBpmnElementLayout<de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent> event)
Appends aboundary event
next to the in or out port of the sub process; either before or after the port, depending on the given direction. If other events would overlap the newly inserted boundary event, they are shifted away in the given direction.- Parameters:
portSide
- The side where to append the boundary event.direction
- Whether to append the boundary event before or after the port.POSITIVE
appends the boundary event after the port,NEGATIVE
appends it before the port (with respect to a coordinate system where the x-axis points to the right and the y-axis points down).event
- The laid out boundary event to append.- Returns:
- This builder for chaining method calls.
-
body
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder body(IWorkflowBpmnAlignmentItem<?,?> body)
Sets the item representing the body content of the sub process. This body is included in the builtIWorkflowBpmnAlignmentItem
; and is also used to determine the minimum width and height of the sub process.- Parameters:
body
- The body content.- Returns:
- This builder for chaining method calls.
-
bodyWithStartAndEndEvent
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder bodyWithStartAndEndEvent(IWorkflowBpmnAlignmentItem<?,?> body, String startEventName, String endEventName)
Adds astart
andend event
to the given body and sets the resulting alignment items as thebody
. The start event is added only when the given loop body has anin port
; the end event is added only when the given body has anout port
.- Parameters:
body
- The body content.startEventName
- The name of the start event.endEventName
- The name of the end event.- Returns:
- This builder for chaining method calls.
-
boundaryEvent
de.xima.bpmn_model.api.element.bpmn.events.BoundaryEvent boundaryEvent(ECardinalDirection2D side, int index)
Gets the nthBoundaryEvent
BPMN element at the given side.- Parameters:
side
- The side to get the boundary event from.index
- The index of the boundary event. 0 is the first boundary event, 1 is the second, etc. You can specify negative values to index events from the ends, e.g. -1 is the last event, -2 is the second to last, etc.- Returns:
- The boundary event at the given side and index.
- Throws:
IndexOutOfBoundsException
- If the index is out of bounds.
-
boundaryEventCount
int boundaryEventCount(ECardinalDirection2D side)
Gets the number of boundary events on the given side.- Parameters:
side
- The side to get the number of boundary events on.- Returns:
- The number of boundary events on the given side.
-
boundaryEventPosition
double boundaryEventPosition(ECardinalDirection2D side, int index)
Gets the position of the nth boundary event on the given side- Parameters:
side
- The side to get the position of the boundary event on.index
- The index of the boundary event. 0 is the first boundary event, 1 is the second, etc. You can specify negative values to index events from the ends, e.g. -1 is the last event, -2 is the second to last, etc.- Returns:
- The position of the boundary event on the given side.
- Throws:
IndexOutOfBoundsException
- If the index is out of bounds.
-
build
<S extends de.xima.bpmn_model.api.element.bpmn.activities.SubProcess<?>> ISubProcessBpmnElementLayout<S> build(S subProcess)
Creates the layout for the given sub process, using the current layout settings.- Type Parameters:
S
- The type of the sub process.- Parameters:
subProcess
- The sub process to create the layout for.- Returns:
- The layout for the sub process.
-
changeInPort
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder changeInPort(double inPort)
Override the position of the in port. By default, the in port is set to align with the in port of thebody
.- Parameters:
inPort
- The position of the in port.- Returns:
- This builder for chaining method calls.
-
changeOutPort
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder changeOutPort(double outPort)
Override the position of the out port. By default, the out port is set to align with the out port of thebody
.- Parameters:
outPort
- The position of the out port.- Returns:
- This builder for chaining method calls.
-
changePortToItem
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder changePortToItem(Object value)
Looks for theIWorkflowBpmnAlignmentItem
in the children of thebody
. If found, sets the in and out port to the position of that item.- Parameters:
value
-Value
of aIWorkflowBpmnAlignmentItem
- Returns:
- This builder for chaining method calls.
-
enlargeInnerHeightBottom
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerHeightBottom(double height)
Increases the inner height of the sub process to the given value by adding new space at the bottom. Does nothing when the height is already greater than the given value.- Parameters:
height
- The new inner height of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeInnerHeightBottomBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerHeightBottomBy(double amount)
Increases the inner height of the sub process by the given amount, adding new space at the bottom.- Parameters:
amount
- The amount to increase the inner height by.
-
enlargeInnerHeightTop
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerHeightTop(double height)
Increases the inner height of the sub process to the given value by adding new space at the top. Does nothing when the height is already greater than the given value.- Parameters:
height
- The new inner height of the sub process.
-
enlargeInnerHeightTopBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerHeightTopBy(double amount)
Increases the inner height of the sub process by the given amount, adding new space at the top.- Parameters:
amount
- The amount to increase the inner height by.
-
enlargeInnerLength
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerLength(ECartesianAxis2D axis, EAxisPolarity direction, double length)
Increases the inner length of the sub process to the given value by adding new space at the given side. Does nothing when the length is already greater than the given value.- Parameters:
axis
- The axis of theECardinalDirection2D
pointing to the side to enlarge.direction
- The direction of theECardinalDirection2D
pointing to the side to enlarge.length
- The new inner length of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeInnerLength
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerLength(ECardinalDirection2D side, double length)
Increases the inner length of the sub process to the given value by adding new space at the given side. Does nothing when the length is already greater than the given value.- Parameters:
side
- The direction pointing to the side to enlarge.length
- The new inner length of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeInnerLengthBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerLengthBy(ECartesianAxis2D axis, EAxisPolarity direction, double amount)
Increases the inner length of the sub process by the given amount at the given side, adding new space at that side.- Parameters:
axis
- The axis of theECardinalDirection2D
pointing to the side to enlarge.direction
- The direction of theECardinalDirection2D
pointing to the side to enlarge.amount
- The amount to increase the inner length by.
-
enlargeInnerLengthBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerLengthBy(ECardinalDirection2D side, double amount)
Increases the inner length of the sub process by the given amount at the given side, adding new space at that side.- Parameters:
side
- The direction pointing to the side to enlarge.amount
- The amount to increase the inner length by.
-
enlargeInnerWidthLeft
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerWidthLeft(double width)
Increases the inner width of the sub process to the given value by adding new space at the left. Does nothing when the width is already greater than the given value.- Parameters:
width
- The new inner width of the sub process.
-
enlargeInnerWidthLeftBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerWidthLeftBy(double amount)
Increases the inner width of the sub process by adding new space at the left.- Parameters:
amount
- The amount to increase the inner width by.
-
enlargeInnerWidthRight
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerWidthRight(double width)
Increases the inner width of the sub process to the given value by adding new space at the right. Does nothing when the width is already greater than the given value.- Parameters:
width
- The new inner width of the sub process.
-
enlargeInnerWidthRightBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeInnerWidthRightBy(double amount)
Increases the inner width of the sub process by adding new space at the right.- Parameters:
amount
- The amount to increase the inner width by.
-
enlargeOuterHeightBottom
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterHeightBottom(double height)
Increases the outer height of the sub process to the given value by adding new space at the bottom. Does nothing when the height is already greater than the given value.- Parameters:
height
- The new outer height of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeOuterHeightBottomBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterHeightBottomBy(double amount)
Increases the outer height of the sub process by the given amount, adding new space at the bottom.- Parameters:
amount
- The amount to increase the outer height by.
-
enlargeOuterHeightTop
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterHeightTop(double height)
Increases the outer height of the sub process to the given value by adding new space at the top. Does nothing when the height is already greater than the given value.- Parameters:
height
- The new outer height of the sub process.
-
enlargeOuterHeightTopBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterHeightTopBy(double amount)
Increases the outer height of the sub process by the given amount, adding new space at the top.- Parameters:
amount
- The amount to increase the outer height by.
-
enlargeOuterLength
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterLength(ECartesianAxis2D axis, EAxisPolarity direction, double length)
Increases the outer length of the sub process to the given value by adding new space at the given side. Does nothing when the length is already greater than the given value.- Parameters:
axis
- The axis of theECardinalDirection2D
pointing to the side to enlarge.direction
- The direction of theECardinalDirection2D
pointing to the side to enlarge.length
- The new outer length of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeOuterLength
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterLength(ECardinalDirection2D side, double length)
Increases the outer length of the sub process to the given value by adding new space at the given side. Does nothing when the length is already greater than the given value.- Parameters:
side
- The direction pointing to the side to enlarge.length
- The new outer length of the sub process.- Returns:
- This builder for chaining method calls.
-
enlargeOuterLengthBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterLengthBy(ECartesianAxis2D axis, EAxisPolarity direction, double amount)
Increases the outer length of the sub process by the given amount at the given side, adding new space at that side.- Parameters:
axis
- The axis of theECardinalDirection2D
pointing to the side to enlarge.direction
- The direction of theECardinalDirection2D
pointing to the side to enlarge.amount
- The amount to increase the outer length by.
-
enlargeOuterLengthBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterLengthBy(ECardinalDirection2D side, double amount)
Increases the outer length of the sub process by the given amount at the given side, adding new space at that side.- Parameters:
side
- The direction pointing to the side to enlarge.amount
- The amount to increase the outer length by.
-
enlargeOuterWidthLeft
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterWidthLeft(double width)
Increases the outer width of the sub process to the given value by adding new space at the left. Does nothing when the width is already greater than the given value.- Parameters:
width
- The new outer width of the sub process.
-
enlargeOuterWidthLeftBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterWidthLeftBy(double amount)
Increases the outer width of the sub process by adding new space at the left.- Parameters:
amount
- The amount to increase the outer width by.
-
enlargeOuterWidthRight
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterWidthRight(double width)
Increases the outer width of the sub process to the given value by adding new space at the right. Does nothing when the width is already greater than the given value.- Parameters:
width
- The new outer width of the sub process.
-
enlargeOuterWidthRightBy
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder enlargeOuterWidthRightBy(double amount)
Increases the outer width of the sub process by adding new space at the right.- Parameters:
amount
- The amount to increase the outer width by.
-
hasBoundaryEvents
boolean hasBoundaryEvents(ECardinalDirection2D side)
Checks whether the sub process has any boundary events on the given side.- Parameters:
side
- The side to check for boundary events.- Returns:
- True if the sub process has any boundary events on the given side, false otherwise.
-
inPort
@CanIgnoreReturnValue Double inPort()
Gets the current position of the in port.- Returns:
- The current position of the in port.
-
innerBoundingBox
Rectangular2DDouble innerBoundingBox()
Gets the current inner width and inner height of the sub process.- Returns:
- The current inner width and inner height of the sub process.
-
innerHeight
double innerHeight()
Gets the current inner height of the sub process. The inner height includes the padding, but not the margin. In other words, the inner height is the height of the rectangle that visualizes the sub process.- Returns:
- The current inner height of the sub process.
-
innerWidth
double innerWidth()
Gets the current inner width of the sub process. The inner width includes the padding, but not the margin. In other words, the inner width is the width of the rectangle that visualizes the sub process.- Returns:
- The current inner width of the sub process.
-
outPort
@CanIgnoreReturnValue Double outPort()
Gets the current position of the out port.- Returns:
- The current position of the out port.
-
outerBoundingBox
Rectangular2DDouble outerBoundingBox()
Gets the current outer width and outer height of the sub process.- Returns:
- The current outer width and outer height of the sub process.
-
outerHeight
double outerHeight()
Gets the current outer height of the sub process. The outer height includes the padding and the margin. In other words, the outer height is the height of the finalalignment item
created by thebuild
method (but note that the build method may increase the padding / margin if needed).- Returns:
- The current outer height of the sub process.
-
outerWidth
double outerWidth()
Gets the current outer width of the sub process. The outer width includes the padding and the margin. In other words, the outer width is the width of the finalalignment item
created by thebuild
method (but note that the build method may increase the padding / margin if needed).- Returns:
- The current outer width of the sub process.
-
portDirection
ECardinalDirection2D portDirection()
Gets the current port direction, either the default direction or the direction set byportDirection(side)
.- Returns:
- The current port direction.
-
spaceBoundaryEventsEvenly
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder spaceBoundaryEventsEvenly(ECardinalDirection2D side)
Repositions all boundary events on the given side that were added viaappendBoundaryEvent
. Spaces them evenly on the given side, using the current length of that side. Ignores the in and out ports, if any are present. This works similar to the CSS flexbox propertyjustify-content: space-evenly
.- Parameters:
side
- The side to space the boundary events on.- Returns:
- This builder for chaining method calls.
-
useInPortOfBody
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder useInPortOfBody()
- Returns:
- This builder for chaining method calls.
-
useOutPortOfBody
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder useOutPortOfBody()
- Returns:
- This builder for chaining method calls.
-
usePortsOfBody
@CanIgnoreReturnValue IWorkflowBpmnLayoutSubProcessBuilder usePortsOfBody()
Sets theout port
to the out port of thebody
, and sets thein port
to the in port of thebody
. Does nothing when no body was set yet.- Returns:
- This builder for chaining method calls.
-
-