BPMN20

package
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindSourceRefs

func FindSourceRefs(sequenceFlows []TSequenceFlow, id string) (ret []string)

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
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"
	EventBasedGateway      ElementType = "EVENT_BASED_GATEWAY"

	SequenceFlow ElementType = "SEQUENCE_FLOW"
)

type TDefinitions

type TDefinitions struct {
	XMLName            xml.Name   `xml:"definitions"`
	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 {
	XMLName             xml.Name `xml:"endEvent"`
	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 {
	XMLName             xml.Name `xml:"eventBasedGateway"`
	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

type TExclusiveGateway

type TExclusiveGateway struct {
	XMLName             xml.Name `xml:"exclusiveGateway"`
	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

type TExpression

type TExpression struct {
	XMLName xml.Name `xml:"conditionExpression"`
	Text    string   `xml:",innerxml"`
}

type TIntermediateCatchEvent

type TIntermediateCatchEvent struct {
	XMLName                xml.Name                `xml:"intermediateCatchEvent"`
	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"`
	ParallelMultiple       bool                    `xml:"parallelMultiple"`
}

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 TMessage

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

type TMessageEventDefinition

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

type TParallelGateway

type TParallelGateway struct {
	XMLName             xml.Name `xml:"parallelGateway"`
	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

type TProcess

type TProcess struct {
	XMLName                      xml.Name                  `xml:"process"`
	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"`
	EventBasedGateway            []TEventBasedGateway      `xml:"eventBasedGateway"`
}

type TSequenceFlow

type TSequenceFlow struct {
	XMLName             xml.Name      `xml:"sequenceFlow"`
	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 FindSequenceFlows

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

func (TSequenceFlow) GetConditionExpression

func (flow TSequenceFlow) GetConditionExpression() string

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

func (TSequenceFlow) HasConditionExpression

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 {
	XMLName             xml.Name `xml:"serviceTask"`
	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"`
}

func (TServiceTask) GetId

func (serviceTask TServiceTask) GetId() string

func (TServiceTask) GetIncomingAssociation

func (serviceTask TServiceTask) GetIncomingAssociation() []string

func (TServiceTask) GetName

func (serviceTask TServiceTask) GetName() string

func (TServiceTask) GetOutgoingAssociation

func (serviceTask TServiceTask) GetOutgoingAssociation() []string

func (TServiceTask) GetType

func (serviceTask TServiceTask) GetType() ElementType

type TStartEvent

type TStartEvent struct {
	XMLName             xml.Name `xml:"startEvent"`
	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 {
	XMLName xml.Name `xml:"timeDuration"`
	XMLText string   `xml:",innerxml"`
}

type TTimerEventDefinition

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

type TUserTask

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

func (TUserTask) GetId

func (userTask TUserTask) GetId() string

func (TUserTask) GetIncomingAssociation

func (userTask TUserTask) GetIncomingAssociation() []string

func (TUserTask) GetName

func (userTask TUserTask) GetName() string

func (TUserTask) GetOutgoingAssociation

func (userTask TUserTask) GetOutgoingAssociation() []string

func (TUserTask) GetType

func (userTask TUserTask) GetType() ElementType

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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