BPMN20

package
v0.3.0-rc1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 17, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

View Source
const (
	StartEvent             ElementType = "START_EVENT"
	EndEvent               ElementType = "END_EVENT"
	ServiceTask            ElementType = "SERVICE_TASK"
	UserTask               ElementType = "USER_TASK"
	ParallelGateway        ElementType = "PARALLEL_GATEWAY"
	ExclusiveGateway       ElementType = "EXCLUSIVE_GATEWAY"
	IntermediateCatchEvent ElementType = "INTERMEDIATE_CATCH_EVENT"
	IntermediateThrowEvent ElementType = "INTERMEDIATE_THROW_EVENT"
	EventBasedGateway      ElementType = "EVENT_BASED_GATEWAY"

	SequenceFlow ElementType = "SEQUENCE_FLOW"

	Unspecified GatewayDirection = "Unspecified"
	Converging  GatewayDirection = "Converging"
	Diverging   GatewayDirection = "Diverging"
	Mixed       GatewayDirection = "Mixed"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseElement

type BaseElement interface {
	GetId() string
	GetName() string
	GetIncomingAssociation() []string
	GetOutgoingAssociation() []string
	GetType() ElementType
}

func FindBaseElementsById

func FindBaseElementsById(definitions *TDefinitions, id string) (elements []*BaseElement)

type ElementType

type ElementType string

type GatewayDirection

type GatewayDirection string

type GatewayElement

type GatewayElement interface {
	BaseElement
	IsParallel() bool
	IsExclusive() bool
}

type TDefinitions

type TDefinitions struct {
	Id                 string     `xml:"id,attr"`
	Name               string     `xml:"name,attr"`
	TargetNamespace    string     `xml:"targetNamespace,attr"`
	ExpressionLanguage string     `xml:"expressionLanguage,attr"`
	TypeLanguage       string     `xml:"typeLanguage,attr"`
	Exporter           string     `xml:"exporter,attr"`
	ExporterVersion    string     `xml:"exporterVersion,attr"`
	Process            TProcess   `xml:"process"`
	Messages           []TMessage `xml:"message"`
}

type TEndEvent

type TEndEvent struct {
	Id                  string   `xml:"id,attr"`
	Name                string   `xml:"name,attr"`
	IncomingAssociation []string `xml:"incoming"`
	OutgoingAssociation []string `xml:"outgoing"`
}

func (TEndEvent) GetId

func (endEvent TEndEvent) GetId() string

func (TEndEvent) GetIncomingAssociation

func (endEvent TEndEvent) GetIncomingAssociation() []string

func (TEndEvent) GetName

func (endEvent TEndEvent) GetName() string

func (TEndEvent) GetOutgoingAssociation

func (endEvent TEndEvent) GetOutgoingAssociation() []string

func (TEndEvent) GetType

func (endEvent TEndEvent) GetType() ElementType

type TEventBasedGateway

type TEventBasedGateway struct {
	Id                  string   `xml:"id,attr"`
	Name                string   `xml:"name,attr"`
	IncomingAssociation []string `xml:"incoming"`
	OutgoingAssociation []string `xml:"outgoing"`
}

func (TEventBasedGateway) GetId

func (eventBasedGateway TEventBasedGateway) GetId() string

func (TEventBasedGateway) GetIncomingAssociation

func (eventBasedGateway TEventBasedGateway) GetIncomingAssociation() []string

func (TEventBasedGateway) GetName

func (eventBasedGateway TEventBasedGateway) GetName() string

func (TEventBasedGateway) GetOutgoingAssociation

func (eventBasedGateway TEventBasedGateway) GetOutgoingAssociation() []string

func (TEventBasedGateway) GetType

func (eventBasedGateway TEventBasedGateway) GetType() ElementType

func (TEventBasedGateway) IsExclusive

func (eventBasedGateway TEventBasedGateway) IsExclusive() bool

func (TEventBasedGateway) IsParallel

func (eventBasedGateway TEventBasedGateway) IsParallel() bool

type TExclusiveGateway

type TExclusiveGateway struct {
	Id                  string   `xml:"id,attr"`
	Name                string   `xml:"name,attr"`
	IncomingAssociation []string `xml:"incoming"`
	OutgoingAssociation []string `xml:"outgoing"`
}

func (TExclusiveGateway) GetId

func (exclusiveGateway TExclusiveGateway) GetId() string

func (TExclusiveGateway) GetIncomingAssociation

func (exclusiveGateway TExclusiveGateway) GetIncomingAssociation() []string

func (TExclusiveGateway) GetName

func (exclusiveGateway TExclusiveGateway) GetName() string

func (TExclusiveGateway) GetOutgoingAssociation

func (exclusiveGateway TExclusiveGateway) GetOutgoingAssociation() []string

func (TExclusiveGateway) GetType

func (exclusiveGateway TExclusiveGateway) GetType() ElementType

func (TExclusiveGateway) IsExclusive

func (exclusiveGateway TExclusiveGateway) IsExclusive() bool

func (TExclusiveGateway) IsParallel

func (exclusiveGateway TExclusiveGateway) IsParallel() bool

type TExpression added in v0.2.0

type TExpression struct {
	Text string `xml:",innerxml"`
}

type TIntermediateCatchEvent

type TIntermediateCatchEvent struct {
	Id                     string                  `xml:"id,attr"`
	Name                   string                  `xml:"name,attr"`
	IncomingAssociation    []string                `xml:"incoming"`
	OutgoingAssociation    []string                `xml:"outgoing"`
	MessageEventDefinition TMessageEventDefinition `xml:"messageEventDefinition"`
	TimerEventDefinition   TTimerEventDefinition   `xml:"timerEventDefinition"`
	LinkEventDefinition    TLinkEventDefinition    `xml:"linkEventDefinition"`
	ParallelMultiple       bool                    `xml:"parallelMultiple"`
	Output                 []extensions.TIoMapping `xml:"extensionElements>ioMapping>output"`
}

func (TIntermediateCatchEvent) GetId

func (intermediateCatchEvent TIntermediateCatchEvent) GetId() string

func (TIntermediateCatchEvent) GetIncomingAssociation

func (intermediateCatchEvent TIntermediateCatchEvent) GetIncomingAssociation() []string

func (TIntermediateCatchEvent) GetName

func (intermediateCatchEvent TIntermediateCatchEvent) GetName() string

func (TIntermediateCatchEvent) GetOutgoingAssociation

func (intermediateCatchEvent TIntermediateCatchEvent) GetOutgoingAssociation() []string

func (TIntermediateCatchEvent) GetType

func (intermediateCatchEvent TIntermediateCatchEvent) GetType() ElementType

type TIntermediateThrowEvent

type TIntermediateThrowEvent struct {
	Id                  string                  `xml:"id,attr"`
	Name                string                  `xml:"name,attr"`
	IncomingAssociation []string                `xml:"incoming"`
	LinkEventDefinition TLinkEventDefinition    `xml:"linkEventDefinition"`
	Output              []extensions.TIoMapping `xml:"extensionElements>ioMapping>output"`
}

func (TIntermediateThrowEvent) GetId

func (intermediateThrowEvent TIntermediateThrowEvent) GetId() string

func (TIntermediateThrowEvent) GetIncomingAssociation

func (intermediateThrowEvent TIntermediateThrowEvent) GetIncomingAssociation() []string

func (TIntermediateThrowEvent) GetName

func (intermediateThrowEvent TIntermediateThrowEvent) GetName() string

func (TIntermediateThrowEvent) GetOutgoingAssociation

func (intermediateThrowEvent TIntermediateThrowEvent) GetOutgoingAssociation() []string

func (TIntermediateThrowEvent) GetType

func (intermediateThrowEvent TIntermediateThrowEvent) GetType() ElementType

type TLinkEventDefinition

type TLinkEventDefinition struct {
	Id   string `xml:"id,attr"`
	Name string `xml:"name,attr"`
}

type TMessage

type TMessage struct {
	Id   string `xml:"id,attr"`
	Name string `xml:"name,attr"`
}

type TMessageEventDefinition

type TMessageEventDefinition struct {
	Id         string `xml:"id,attr"`
	MessageRef string `xml:"messageRef,attr"`
}

type TParallelGateway

type TParallelGateway struct {
	Id                  string   `xml:"id,attr"`
	Name                string   `xml:"name,attr"`
	IncomingAssociation []string `xml:"incoming"`
	OutgoingAssociation []string `xml:"outgoing"`
}

func (TParallelGateway) GetId

func (parallelGateway TParallelGateway) GetId() string

func (TParallelGateway) GetIncomingAssociation

func (parallelGateway TParallelGateway) GetIncomingAssociation() []string

func (TParallelGateway) GetName

func (parallelGateway TParallelGateway) GetName() string

func (TParallelGateway) GetOutgoingAssociation

func (parallelGateway TParallelGateway) GetOutgoingAssociation() []string

func (TParallelGateway) GetType

func (parallelGateway TParallelGateway) GetType() ElementType

func (TParallelGateway) IsExclusive

func (parallelGateway TParallelGateway) IsExclusive() bool

func (TParallelGateway) IsParallel

func (parallelGateway TParallelGateway) IsParallel() bool

type TProcess

type TProcess struct {
	Id                           string                    `xml:"id,attr"`
	Name                         string                    `xml:"name,attr"`
	ProcessType                  string                    `xml:"processType,attr"`
	IsClosed                     bool                      `xml:"isClosed,attr"`
	IsExecutable                 bool                      `xml:"isExecutable,attr"`
	DefinitionalCollaborationRef string                    `xml:"definitionalCollaborationRef,attr"`
	StartEvents                  []TStartEvent             `xml:"startEvent"`
	EndEvents                    []TEndEvent               `xml:"endEvent"`
	SequenceFlows                []TSequenceFlow           `xml:"sequenceFlow"`
	ServiceTasks                 []TServiceTask            `xml:"serviceTask"`
	UserTasks                    []TUserTask               `xml:"userTask"`
	ParallelGateway              []TParallelGateway        `xml:"parallelGateway"`
	ExclusiveGateway             []TExclusiveGateway       `xml:"exclusiveGateway"`
	IntermediateCatchEvent       []TIntermediateCatchEvent `xml:"intermediateCatchEvent"`
	IntermediateTrowEvent        []TIntermediateThrowEvent `xml:"intermediateThrowEvent"`
	EventBasedGateway            []TEventBasedGateway      `xml:"eventBasedGateway"`
}

type TSequenceFlow

type TSequenceFlow struct {
	Id                  string        `xml:"id,attr"`
	Name                string        `xml:"name,attr"`
	SourceRef           string        `xml:"sourceRef,attr"`
	TargetRef           string        `xml:"targetRef,attr"`
	ConditionExpression []TExpression `xml:"conditionExpression"`
}

func FindFirstSequenceFlow

func FindFirstSequenceFlow(sequenceFlows *[]TSequenceFlow, sourceId string, targetId string) (result *TSequenceFlow)

FindFirstSequenceFlow returns the first flow definition for any given source and target element ID

func FindSequenceFlows added in v0.2.0

func FindSequenceFlows(sequenceFlows *[]TSequenceFlow, ids []string) (ret []TSequenceFlow)

func (TSequenceFlow) GetConditionExpression added in v0.2.0

func (flow TSequenceFlow) GetConditionExpression() string

GetConditionExpression returns the embedded expression. There will be a panic thrown, in case none exists!

func (TSequenceFlow) HasConditionExpression added in v0.2.0

func (flow TSequenceFlow) HasConditionExpression() bool

HasConditionExpression returns true, if there's exactly 1 expression present (as by the spec) and there's some non-whitespace-characters available

type TServiceTask

type TServiceTask struct {
	Id                  string                     `xml:"id,attr"`
	Name                string                     `xml:"name,attr"`
	Default             string                     `xml:"default,attr"`
	CompletionQuantity  int                        `xml:"completionQuantity,attr"`
	IsForCompensation   bool                       `xml:"isForCompensation,attr"`
	OperationRef        string                     `xml:"operationRef,attr"`
	Implementation      string                     `xml:"implementation,attr"`
	IncomingAssociation []string                   `xml:"incoming"`
	OutgoingAssociation []string                   `xml:"outgoing"`
	Input               []extensions.TIoMapping    `xml:"extensionElements>ioMapping>input"`
	Output              []extensions.TIoMapping    `xml:"extensionElements>ioMapping>output"`
	TaskDefinition      extensions.TTaskDefinition `xml:"extensionElements>taskDefinition"`
}

func (TServiceTask) GetAssignmentAssignee

func (serviceTask TServiceTask) GetAssignmentAssignee() string

func (TServiceTask) GetAssignmentCandidateGroups

func (serviceTask TServiceTask) GetAssignmentCandidateGroups() []string

func (TServiceTask) GetId

func (serviceTask TServiceTask) GetId() string

func (TServiceTask) GetIncomingAssociation

func (serviceTask TServiceTask) GetIncomingAssociation() []string

func (TServiceTask) GetInputMapping added in v0.2.4

func (serviceTask TServiceTask) GetInputMapping() []extensions.TIoMapping

func (TServiceTask) GetName

func (serviceTask TServiceTask) GetName() string

func (TServiceTask) GetOutgoingAssociation

func (serviceTask TServiceTask) GetOutgoingAssociation() []string

func (TServiceTask) GetOutputMapping added in v0.2.4

func (serviceTask TServiceTask) GetOutputMapping() []extensions.TIoMapping

func (TServiceTask) GetTaskDefinitionType

func (serviceTask TServiceTask) GetTaskDefinitionType() string

func (TServiceTask) GetType

func (serviceTask TServiceTask) GetType() ElementType

type TStartEvent

type TStartEvent struct {
	Id                  string   `xml:"id,attr"`
	Name                string   `xml:"name,attr"`
	IsInterrupting      bool     `xml:"isInterrupting,attr"`
	ParallelMultiple    bool     `xml:"parallelMultiple,attr"`
	IncomingAssociation []string `xml:"incoming"`
	OutgoingAssociation []string `xml:"outgoing"`
}

func (TStartEvent) GetId

func (startEvent TStartEvent) GetId() string

func (TStartEvent) GetIncomingAssociation

func (startEvent TStartEvent) GetIncomingAssociation() []string

func (TStartEvent) GetName

func (startEvent TStartEvent) GetName() string

func (TStartEvent) GetOutgoingAssociation

func (startEvent TStartEvent) GetOutgoingAssociation() []string

func (TStartEvent) GetType

func (startEvent TStartEvent) GetType() ElementType

type TTimeDuration

type TTimeDuration struct {
	XMLText string `xml:",innerxml"`
}

type TTimerEventDefinition

type TTimerEventDefinition struct {
	Id           string        `xml:"id,attr"`
	TimeDuration TTimeDuration `xml:"timeDuration"`
}

type TUserTask added in v0.2.3

type TUserTask struct {
	Id                   string                           `xml:"id,attr"`
	Name                 string                           `xml:"name,attr"`
	IncomingAssociation  []string                         `xml:"incoming"`
	OutgoingAssociation  []string                         `xml:"outgoing"`
	Input                []extensions.TIoMapping          `xml:"extensionElements>ioMapping>input"`
	Output               []extensions.TIoMapping          `xml:"extensionElements>ioMapping>output"`
	AssignmentDefinition extensions.TAssignmentDefinition `xml:"extensionElements>assignmentDefinition"`
}

func (TUserTask) GetAssignmentAssignee

func (userTask TUserTask) GetAssignmentAssignee() string

func (TUserTask) GetAssignmentCandidateGroups

func (userTask TUserTask) GetAssignmentCandidateGroups() []string

func (TUserTask) GetId added in v0.2.3

func (userTask TUserTask) GetId() string

func (TUserTask) GetIncomingAssociation added in v0.2.3

func (userTask TUserTask) GetIncomingAssociation() []string

func (TUserTask) GetInputMapping added in v0.2.4

func (userTask TUserTask) GetInputMapping() []extensions.TIoMapping

func (TUserTask) GetName added in v0.2.3

func (userTask TUserTask) GetName() string

func (TUserTask) GetOutgoingAssociation added in v0.2.3

func (userTask TUserTask) GetOutgoingAssociation() []string

func (TUserTask) GetOutputMapping added in v0.2.4

func (userTask TUserTask) GetOutputMapping() []extensions.TIoMapping

func (TUserTask) GetTaskDefinitionType

func (userTask TUserTask) GetTaskDefinitionType() string

func (TUserTask) GetType added in v0.2.3

func (userTask TUserTask) GetType() ElementType

type TaskElement added in v0.2.4

type TaskElement interface {
	BaseElement
	GetInputMapping() []extensions.TIoMapping
	GetOutputMapping() []extensions.TIoMapping
	GetTaskDefinitionType() string
	GetAssignmentAssignee() string
	GetAssignmentCandidateGroups() []string
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL