moonrockz/diagrams/bpmn
Types
AssociationDirection
pub(all) enum AssociationDirection {
None
One
Both
} derive(Eq, @moonbitlang/core/debug.Debug)AssociationDirection::equal
fn AssociationDirection::equal(AssociationDirection, AssociationDirection) -> BoolAssociationDirection::not_equal
fn AssociationDirection::not_equal(x : AssociationDirection, y : AssociationDirection) -> BoolAssociationDirection::to_repr
fn AssociationDirection::to_repr(AssociationDirection) -> @moonbitlang/core/debug.ReprBounds
pub(all) struct Bounds {
x : Int
y : Int
width : Int
height : Int
} derive(Eq, @moonbitlang/core/debug.Debug)Bounds::equal
fn Bounds::equal(Bounds, Bounds) -> BoolBounds::not_equal
fn Bounds::not_equal(x : Bounds, y : Bounds) -> BoolBounds::to_repr
fn Bounds::to_repr(Bounds) -> @moonbitlang/core/debug.ReprBpmn
pub struct Bpmn {
id : String
label : String
source : SourceIdentity
kind : ViewKind
plane : SourceIdentity?
nodes : ReadOnlyArray[Node]
flows : ReadOnlyArray[Flow]
} derive(Eq, @moonbitlang/core/debug.Debug)Bpmn::equal
fn Bpmn::equal(Bpmn, Bpmn) -> BoolBpmn::new
fn Bpmn::new(id : String, nodes : ArrayView[Node], flows : ArrayView[Flow], label? : String, source? : SourceIdentity, kind? : ViewKind, plane? : SourceIdentity) -> BpmnBpmn::not_equal
fn Bpmn::not_equal(x : Bpmn, y : Bpmn) -> BoolBpmn::scope
fn Bpmn::scope(self : Bpmn, limits? : ScopeLimits) -> ScopeResultPure selected visibility shared by geometry, motion and structural queries. Group membership is visual grouping and never hides a member.
Bpmn::to_repr
fn Bpmn::to_repr(Bpmn) -> @moonbitlang/core/debug.ReprConnectionKind
pub(all) enum ConnectionKind {
SequenceFlow
MessageFlow
Association
DataInputAssociation
DataOutputAssociation
DataAssociation
} derive(Eq, @moonbitlang/core/debug.Debug)ConnectionKind::equal
fn ConnectionKind::equal(ConnectionKind, ConnectionKind) -> BoolConnectionKind::not_equal
fn ConnectionKind::not_equal(x : ConnectionKind, y : ConnectionKind) -> BoolConnectionKind::to_repr
fn ConnectionKind::to_repr(ConnectionKind) -> @moonbitlang/core/debug.ReprEdgeGeometry
pub struct EdgeGeometry {
identity : SourceIdentity
points : ReadOnlyArray[ExactPoint]
label : LabelGeometry?
source_shape : SourceIdentity?
target_shape : SourceIdentity?
message_visible : MessageVisibility?
} derive(Eq, @moonbitlang/core/debug.Debug)EdgeGeometry::equal
fn EdgeGeometry::equal(EdgeGeometry, EdgeGeometry) -> BoolEdgeGeometry::new
fn EdgeGeometry::new(identity : SourceIdentity, points : ArrayView[ExactPoint], label? : LabelGeometry, source_shape? : SourceIdentity, target_shape? : SourceIdentity, message_visible? : MessageVisibility) -> EdgeGeometryEdgeGeometry::not_equal
fn EdgeGeometry::not_equal(x : EdgeGeometry, y : EdgeGeometry) -> BoolEdgeGeometry::to_repr
fn EdgeGeometry::to_repr(EdgeGeometry) -> @moonbitlang/core/debug.ReprEventKind
pub(all) enum EventKind {
Message
Timer
Conditional
Link
Signal
Error
Escalation
Cancel
Compensation
Terminate
} derive(Eq, @moonbitlang/core/debug.Debug)EventKind::equal
fn EventKind::equal(EventKind, EventKind) -> BoolEventKind::not_equal
fn EventKind::not_equal(x : EventKind, y : EventKind) -> BoolEventKind::to_repr
fn EventKind::to_repr(EventKind) -> @moonbitlang/core/debug.ReprEventMarker
pub struct EventMarker {
kind : EventKind
identity : SourceIdentity?
settings : ReadOnlyArray[(String, String)]
} derive(Eq, @moonbitlang/core/debug.Debug)Flattened semantic settings retain source expressions as text. These values describe a symbol; they are never evaluated as execution instructions.
EventMarker::equal
fn EventMarker::equal(EventMarker, EventMarker) -> BoolEventMarker::new
fn EventMarker::new(kind : EventKind, identity? : SourceIdentity, settings? : ArrayView[(String, String)]) -> EventMarkerEventMarker::not_equal
fn EventMarker::not_equal(x : EventMarker, y : EventMarker) -> BoolEventMarker::to_repr
fn EventMarker::to_repr(EventMarker) -> @moonbitlang/core/debug.ReprExactBounds
pub struct ExactBounds {
x : Number
y : Number
width : Number
height : Number
} derive(Eq, @moonbitlang/core/debug.Debug)ExactBounds::equal
fn ExactBounds::equal(ExactBounds, ExactBounds) -> BoolExactBounds::new
fn ExactBounds::new(x : Number, y : Number, width : Number, height : Number) -> ExactBoundsExactBounds::not_equal
fn ExactBounds::not_equal(x : ExactBounds, y : ExactBounds) -> BoolExactBounds::to_repr
fn ExactBounds::to_repr(ExactBounds) -> @moonbitlang/core/debug.ReprExactPoint
pub struct ExactPoint {
x : Number
y : Number
} derive(Eq, @moonbitlang/core/debug.Debug)ExactPoint::equal
fn ExactPoint::equal(ExactPoint, ExactPoint) -> BoolExactPoint::new
fn ExactPoint::new(x : Number, y : Number) -> ExactPointExactPoint::not_equal
fn ExactPoint::not_equal(x : ExactPoint, y : ExactPoint) -> BoolExactPoint::to_repr
fn ExactPoint::to_repr(ExactPoint) -> @moonbitlang/core/debug.ReprFlow
pub struct Flow {
id : String
identity : SourceIdentity
kind : ConnectionKind
source : String
target : String
has_source : Bool
semantic_source : SourceIdentity?
semantic_target : SourceIdentity
points : ReadOnlyArray[Point]
geometry : EdgeGeometry?
label : String
condition : String?
is_default : Bool
direction : AssociationDirection
properties : RenderProperties?
} derive(Eq, @moonbitlang/core/debug.Debug)Flow::equal
fn Flow::equal(Flow, Flow) -> BoolFlow::new
fn Flow::new(id : String, source : String, target : String, points? : ArrayView[Point], identity? : SourceIdentity, kind? : ConnectionKind, has_source? : Bool, semantic_source? : SourceIdentity, semantic_target? : SourceIdentity, geometry? : EdgeGeometry, label? : String, condition? : String, is_default? : Bool, direction? : AssociationDirection, properties? : RenderProperties) -> FlowFlow::not_equal
fn Flow::not_equal(x : Flow, y : Flow) -> BoolFlow::to_repr
fn Flow::to_repr(Flow) -> @moonbitlang/core/debug.ReprFlow::with_properties
fn Flow::with_properties(self : Flow, properties : RenderProperties) -> FlowFont
pub struct Font {
name : String?
size : Number?
bold : Bool?
italic : Bool?
underline : Bool?
strike_through : Bool?
} derive(Eq, @moonbitlang/core/debug.Debug)Font::equal
fn Font::equal(Font, Font) -> BoolFont::new
fn Font::new(name? : String, size? : Number, bold? : Bool, italic? : Bool, underline? : Bool, strike_through? : Bool) -> FontFont::not_equal
fn Font::not_equal(x : Font, y : Font) -> BoolFont::to_repr
fn Font::to_repr(Font) -> @moonbitlang/core/debug.ReprGeometryPolicy
pub(all) enum GeometryPolicy {
PreferDi
RequireDi
Automatic
} derive(Eq, @moonbitlang/core/debug.Debug)Use one complete coordinate system for a selected BPMN view.
GeometryPolicy::equal
fn GeometryPolicy::equal(GeometryPolicy, GeometryPolicy) -> BoolGeometryPolicy::not_equal
fn GeometryPolicy::not_equal(x : GeometryPolicy, y : GeometryPolicy) -> BoolGeometryPolicy::to_repr
fn GeometryPolicy::to_repr(GeometryPolicy) -> @moonbitlang/core/debug.ReprLabelGeometry
pub struct LabelGeometry {
bounds : ExactBounds?
style : SourceIdentity?
font : Font?
} derive(Eq, @moonbitlang/core/debug.Debug)LabelGeometry::equal
fn LabelGeometry::equal(LabelGeometry, LabelGeometry) -> BoolLabelGeometry::new
fn LabelGeometry::new(bounds? : ExactBounds, style? : SourceIdentity, font? : Font) -> LabelGeometryLabelGeometry::not_equal
fn LabelGeometry::not_equal(x : LabelGeometry, y : LabelGeometry) -> BoolLabelGeometry::to_repr
fn LabelGeometry::to_repr(LabelGeometry) -> @moonbitlang/core/debug.ReprLink
pub struct Link {
target : String
} derive(Eq, @moonbitlang/core/debug.Debug)Links are explicit caller-supplied metadata. Vendor XML never creates one.
Link::equal
fn Link::equal(Link, Link) -> BoolLink::new
fn Link::new(target : String) -> LinkLink::not_equal
fn Link::not_equal(x : Link, y : Link) -> BoolLink::to_repr
fn Link::to_repr(Link) -> @moonbitlang/core/debug.ReprLoopKind
pub(all) enum LoopKind {
None
Standard
Sequential
Parallel
} derive(Eq, @moonbitlang/core/debug.Debug)LoopKind::equal
fn LoopKind::equal(LoopKind, LoopKind) -> BoolLoopKind::not_equal
fn LoopKind::not_equal(x : LoopKind, y : LoopKind) -> BoolLoopKind::to_repr
fn LoopKind::to_repr(LoopKind) -> @moonbitlang/core/debug.ReprMarkers
pub struct Markers {
loop_kind : LoopKind
called_kind : NodeKind?
called_element : SourceIdentity?
compensation : Bool
event_subprocess : Bool
interrupting : Bool
parallel_multiple : Bool
collection : Bool
instantiate : Bool
events : ReadOnlyArray[EventMarker]
details : ReadOnlyArray[(String, String)]
} derive(Eq, @moonbitlang/core/debug.Debug)Markers::equal
fn Markers::equal(Markers, Markers) -> BoolMarkers::new
fn Markers::new(loop_kind? : LoopKind, called_kind? : NodeKind, called_element? : SourceIdentity, compensation? : Bool, event_subprocess? : Bool, interrupting? : Bool, parallel_multiple? : Bool, collection? : Bool, instantiate? : Bool, events? : ArrayView[EventMarker], details? : ArrayView[(String, String)]) -> MarkersMarkers::not_equal
fn Markers::not_equal(x : Markers, y : Markers) -> BoolMarkers::to_repr
fn Markers::to_repr(Markers) -> @moonbitlang/core/debug.ReprMessageVisibility
pub(all) enum MessageVisibility {
Initiating
NonInitiating
} derive(Eq, @moonbitlang/core/debug.Debug)MessageVisibility::equal
fn MessageVisibility::equal(MessageVisibility, MessageVisibility) -> BoolMessageVisibility::not_equal
fn MessageVisibility::not_equal(x : MessageVisibility, y : MessageVisibility) -> BoolMessageVisibility::to_repr
fn MessageVisibility::to_repr(MessageVisibility) -> @moonbitlang/core/debug.ReprNode
pub struct Node {
id : String
source : SourceIdentity
kind : NodeKind
label : String
bounds : Bounds
geometry : ShapeGeometry?
ownership : Ownership
markers : Markers
expanded : Bool?
black_box : Bool
properties : RenderProperties?
} derive(Eq, @moonbitlang/core/debug.Debug)Node::equal
fn Node::equal(Node, Node) -> BoolNode::new
fn Node::new(id : String, kind : NodeKind, bounds? : Bounds, label? : String, source? : SourceIdentity, geometry? : ShapeGeometry, ownership? : Ownership, markers? : Markers, expanded? : Bool, black_box? : Bool, properties? : RenderProperties) -> NodeInteger bounds remain the thin-slice convenience input. Exact selected DI lives in geometry; absent geometry does not assert a zero-sized source shape.
Node::not_equal
fn Node::not_equal(x : Node, y : Node) -> BoolNode::to_repr
fn Node::to_repr(Node) -> @moonbitlang/core/debug.ReprNode::with_black_box
fn Node::with_black_box(self : Node, black_box : Bool) -> NodeNode::with_ownership
fn Node::with_ownership(self : Node, ownership : Ownership) -> NodeNode::with_properties
fn Node::with_properties(self : Node, properties : RenderProperties) -> NodeNodeKind
pub(all) enum NodeKind {
StartEvent
EndEvent
IntermediateCatchEvent
IntermediateThrowEvent
BoundaryEvent
Task
UserTask
ServiceTask
SendTask
ReceiveTask
ManualTask
BusinessRuleTask
ScriptTask
SubProcess
AdHocSubProcess
Transaction
CallActivity
ExclusiveGateway
InclusiveGateway
ParallelGateway
ComplexGateway
EventBasedGateway
Participant
Lane
DataObject
DataObjectReference
DataStore
DataStoreReference
DataInput
DataOutput
Group
TextAnnotation
Message
} derive(Eq, @moonbitlang/core/debug.Debug)Standard process/collaboration graphical kinds. Choreography and conversation remain document values and are explicitly deferred by the adapter.
NodeKind::equal
fn NodeKind::equal(NodeKind, NodeKind) -> BoolNodeKind::not_equal
fn NodeKind::not_equal(x : NodeKind, y : NodeKind) -> BoolNodeKind::to_repr
fn NodeKind::to_repr(NodeKind) -> @moonbitlang/core/debug.ReprNumber
pub struct Number {
token : String
} derive(Eq, @moonbitlang/core/debug.Debug)Exact finite XML numeric spelling. Renderers may approximate for measurements but must retain these tokens when drawing supplied geometry.
Number::equal
fn Number::equal(Number, Number) -> BoolNumber::not_equal
fn Number::not_equal(x : Number, y : Number) -> BoolNumber::parse
fn Number::parse(token : String) -> Number?Number::to_repr
fn Number::to_repr(Number) -> @moonbitlang/core/debug.ReprOwnership
pub struct Ownership {
pool : String?
lanes : ReadOnlyArray[String]
subprocess : String?
attached_to : String?
groups : ReadOnlyArray[String]
} derive(Eq, @moonbitlang/core/debug.Debug)Ownership::equal
fn Ownership::equal(Ownership, Ownership) -> BoolOwnership::new
fn Ownership::new(pool? : String, lanes? : ArrayView[String], subprocess? : String, attached_to? : String, groups? : ArrayView[String]) -> OwnershipOwnership::not_equal
fn Ownership::not_equal(x : Ownership, y : Ownership) -> BoolOwnership::to_repr
fn Ownership::to_repr(Ownership) -> @moonbitlang/core/debug.ReprPoint
pub(all) struct Point {
x : Int
y : Int
} derive(Eq, @moonbitlang/core/debug.Debug)Point::equal
fn Point::equal(Point, Point) -> BoolPoint::not_equal
fn Point::not_equal(x : Point, y : Point) -> BoolPoint::to_repr
fn Point::to_repr(Point) -> @moonbitlang/core/debug.ReprRenderProperties
pub struct RenderProperties {
description : String?
sublabel : String?
link : Link?
} derive(Eq, @moonbitlang/core/debug.Debug)RenderProperties::equal
fn RenderProperties::equal(RenderProperties, RenderProperties) -> BoolRenderProperties::new
fn RenderProperties::new(description? : String, sublabel? : String, link? : Link) -> RenderPropertiesRenderProperties::not_equal
fn RenderProperties::not_equal(x : RenderProperties, y : RenderProperties) -> BoolRenderProperties::to_repr
fn RenderProperties::to_repr(RenderProperties) -> @moonbitlang/core/debug.ReprScope
pub struct Scope {
view : Bpmn
visible : ReadOnlyArray[Bool]
containers : ReadOnlyArray[Int?]
work : Int
// private fields
}Scope::node_index
fn Scope::node_index(self : Scope, id : String) -> Int?ScopeLimits
pub struct ScopeLimits {
nodes : Int
work : Int
} derive(Eq, @moonbitlang/core/debug.Debug)ScopeLimits::equal
fn ScopeLimits::equal(ScopeLimits, ScopeLimits) -> BoolScopeLimits::new
fn ScopeLimits::new(nodes? : Int, work? : Int) -> ScopeLimitsScopeLimits::not_equal
fn ScopeLimits::not_equal(x : ScopeLimits, y : ScopeLimits) -> BoolScopeLimits::to_repr
fn ScopeLimits::to_repr(ScopeLimits) -> @moonbitlang/core/debug.ReprScopeResult
pub struct ScopeResult {
scope : Scope?
diagnostics : ReadOnlyArray[@moonrockz/diagrams.Diagnostic]
}ShapeGeometry
pub struct ShapeGeometry {
identity : SourceIdentity
bounds : ExactBounds?
label : LabelGeometry?
horizontal : Bool?
expanded : Bool?
marker_visible : Bool?
message_visible : Bool?
} derive(Eq, @moonbitlang/core/debug.Debug)ShapeGeometry::equal
fn ShapeGeometry::equal(ShapeGeometry, ShapeGeometry) -> BoolShapeGeometry::new
fn ShapeGeometry::new(identity : SourceIdentity, bounds? : ExactBounds, label? : LabelGeometry, horizontal? : Bool, expanded? : Bool, marker_visible? : Bool, message_visible? : Bool) -> ShapeGeometryShapeGeometry::not_equal
fn ShapeGeometry::not_equal(x : ShapeGeometry, y : ShapeGeometry) -> BoolShapeGeometry::to_repr
fn ShapeGeometry::to_repr(ShapeGeometry) -> @moonbitlang/core/debug.ReprSourceIdentity
pub struct SourceIdentity {
resource_id : String?
source_id : String?
path : ReadOnlyArray[Int]
} derive(Eq, @moonbitlang/core/debug.Debug)The source identity is independent of the per-view render ID. Paths contain source-order child indices and survive absence of an XML ID.
SourceIdentity::equal
fn SourceIdentity::equal(SourceIdentity, SourceIdentity) -> BoolSourceIdentity::new
fn SourceIdentity::new(source_id? : String, resource_id? : String, path? : ArrayView[Int]) -> SourceIdentitySourceIdentity::not_equal
fn SourceIdentity::not_equal(x : SourceIdentity, y : SourceIdentity) -> BoolSourceIdentity::to_repr
fn SourceIdentity::to_repr(SourceIdentity) -> @moonbitlang/core/debug.ReprViewKind
pub(all) enum ViewKind {
Process
Collaboration
} derive(Eq, @moonbitlang/core/debug.Debug)ViewKind::equal
fn ViewKind::equal(ViewKind, ViewKind) -> BoolViewKind::not_equal
fn ViewKind::not_equal(x : ViewKind, y : ViewKind) -> BoolViewKind::to_repr
fn ViewKind::to_repr(ViewKind) -> @moonbitlang/core/debug.Repr