bpmnio

package module
v1.1.5 Latest Latest
Warning

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

Go to latest
Published: May 12, 2024 License: MIT Imports: 6 Imported by: 0

README

A simple set of Go helpers if you're working with BPMN 2 XML. Tested with BPMN IO XML & Bizagi XML

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FindSourceRefs

func FindSourceRefs(sequenceFlows []*SequenceFlow, id string) (ret []string)

FindSourceRefs returns all the sourceRefs of the sequence flows

Types

type BaseElement

type BaseElement interface {
	GetId() string
	GetName() string
	GetDocumentation() string
	GetIncomingAssociations() []string
	GetOutgoingAssociations() []string
	GetRules() []*Rule
	GetType() ElementType
	GetXMLName() xml.Name
	ToString() string
}

BaseElement does not follow the strict BPMN 2 definition of a base element as described by omg

type Bounds

type Bounds struct {
	XMLName xml.Name `xml:"Bounds"`
	X       float32  `xml:"x,attr"`
	Y       float32  `xml:"y,attr"`
	Width   float32  `xml:"width,attr"`
	Height  float32  `xml:"height,attr"`
	// contains filtered or unexported fields
}

type BusinessRuleTask added in v1.0.6

type BusinessRuleTask struct {
	XMLName              xml.Name           `xml:"businessRuleTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

BusinessRuleTask has same attributes as Task + scriptFormat & script

func (*BusinessRuleTask) GetDocumentation added in v1.0.6

func (brt *BusinessRuleTask) GetDocumentation() string

func (*BusinessRuleTask) GetId added in v1.0.6

func (brt *BusinessRuleTask) GetId() string

*** BusinessRuleTask methods ***

func (*BusinessRuleTask) GetIncomingAssociations added in v1.0.6

func (brt *BusinessRuleTask) GetIncomingAssociations() []string

func (*BusinessRuleTask) GetName added in v1.0.6

func (brt *BusinessRuleTask) GetName() string

func (*BusinessRuleTask) GetOutgoingAssociations added in v1.0.6

func (brt *BusinessRuleTask) GetOutgoingAssociations() []string

func (*BusinessRuleTask) GetRules added in v1.0.6

func (brt *BusinessRuleTask) GetRules() []*Rule

func (*BusinessRuleTask) GetType added in v1.0.6

func (brt *BusinessRuleTask) GetType() ElementType

func (*BusinessRuleTask) GetXMLName added in v1.0.6

func (brt *BusinessRuleTask) GetXMLName() xml.Name

func (*BusinessRuleTask) ToString added in v1.0.6

func (brt *BusinessRuleTask) ToString() string

type CallActivity

type CallActivity struct {
	XMLName              xml.Name           `xml:"callActivity"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

CallActivity inherits the attributes and model associations of CallActivity

func (*CallActivity) GetDocumentation

func (ca *CallActivity) GetDocumentation() string

func (*CallActivity) GetId

func (ca *CallActivity) GetId() string

*** CallActivity methods ***

func (*CallActivity) GetIncomingAssociations

func (ca *CallActivity) GetIncomingAssociations() []string

func (*CallActivity) GetName

func (ca *CallActivity) GetName() string

func (*CallActivity) GetOutgoingAssociations

func (ca *CallActivity) GetOutgoingAssociations() []string

func (*CallActivity) GetRules

func (ca *CallActivity) GetRules() []*Rule

func (*CallActivity) GetType

func (ca *CallActivity) GetType() ElementType

func (*CallActivity) GetXMLName

func (ca *CallActivity) GetXMLName() xml.Name

func (*CallActivity) ToString

func (ca *CallActivity) ToString() string

type Category

type Category struct {
	XMLName           xml.Name           `xml:"category"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	CategoryValues    []*CategoryValue   `xml:"categoryValue"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*Category) ApplyFunctionToBaseElements

func (c *Category) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to Category and all children as long as function returns true

func (*Category) GetDocumentation

func (c *Category) GetDocumentation() string

func (*Category) GetId

func (c *Category) GetId() string

*** Category methods ***

func (*Category) GetIncomingAssociations

func (c *Category) GetIncomingAssociations() []string

func (*Category) GetName

func (c *Category) GetName() string

func (*Category) GetOutgoingAssociations

func (c *Category) GetOutgoingAssociations() []string

func (*Category) GetRules

func (c *Category) GetRules() []*Rule

func (*Category) GetType

func (c *Category) GetType() ElementType

func (*Category) GetXMLName

func (c *Category) GetXMLName() xml.Name

func (*Category) ToString

func (c *Category) ToString() string

type CategoryValue

type CategoryValue struct {
	XMLName           xml.Name           `xml:"categoryValue"`
	Id                string             `xml:"id,attr"`
	Value             string             `xml:"value,attr"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*CategoryValue) GetDocumentation

func (cv *CategoryValue) GetDocumentation() string

func (*CategoryValue) GetId

func (cv *CategoryValue) GetId() string

*** CategoryValue methods ***

func (*CategoryValue) GetIncomingAssociations

func (cv *CategoryValue) GetIncomingAssociations() []string

func (*CategoryValue) GetName

func (cv *CategoryValue) GetName() string

func (*CategoryValue) GetOutgoingAssociations

func (cv *CategoryValue) GetOutgoingAssociations() []string

func (*CategoryValue) GetRules

func (cv *CategoryValue) GetRules() []*Rule

func (*CategoryValue) GetType

func (cv *CategoryValue) GetType() ElementType

func (*CategoryValue) GetXMLName

func (cv *CategoryValue) GetXMLName() xml.Name

func (*CategoryValue) ToString

func (cv *CategoryValue) ToString() string

type ChildLaneSet added in v1.1.5

type ChildLaneSet struct {
	XMLName           xml.Name           `xml:"childLaneSet"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	Lanes             []*Lane            `xml:"lane"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*ChildLaneSet) ApplyFunctionToBaseElements added in v1.1.5

func (cls *ChildLaneSet) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to ChildLaneSet and all children as long as function returns true

func (*ChildLaneSet) GetDocumentation added in v1.1.5

func (cls *ChildLaneSet) GetDocumentation() string

func (*ChildLaneSet) GetId added in v1.1.5

func (cls *ChildLaneSet) GetId() string

*** ChildLaneSet methods ***

func (*ChildLaneSet) GetIncomingAssociations added in v1.1.5

func (cls *ChildLaneSet) GetIncomingAssociations() []string

func (*ChildLaneSet) GetName added in v1.1.5

func (cls *ChildLaneSet) GetName() string

func (*ChildLaneSet) GetOutgoingAssociations added in v1.1.5

func (cls *ChildLaneSet) GetOutgoingAssociations() []string

func (*ChildLaneSet) GetRules added in v1.1.5

func (cls *ChildLaneSet) GetRules() []*Rule

func (*ChildLaneSet) GetType added in v1.1.5

func (cls *ChildLaneSet) GetType() ElementType

func (*ChildLaneSet) GetXMLName added in v1.1.5

func (cls *ChildLaneSet) GetXMLName() xml.Name

func (*ChildLaneSet) ToString added in v1.1.5

func (cls *ChildLaneSet) ToString() string

type Collaboration

type Collaboration struct {
	XMLName           xml.Name           `xml:"collaboration"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	Participants      []*Participant     `xml:"participant"`
	MessageFlows      []*MessageFlow     `xml:"messageFlow"`
	Groups            []*Group           `xml:"group"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*Collaboration) ApplyFunctionToBaseElements

func (cn *Collaboration) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to Collaboration and all children as long as function returns true

func (*Collaboration) GetDocumentation

func (cn *Collaboration) GetDocumentation() string

func (*Collaboration) GetId

func (cn *Collaboration) GetId() string

*** Collaboration methods ***

func (*Collaboration) GetIncomingAssociations

func (cn *Collaboration) GetIncomingAssociations() []string

func (*Collaboration) GetName

func (cn *Collaboration) GetName() string

func (*Collaboration) GetOutgoingAssociations

func (cn *Collaboration) GetOutgoingAssociations() []string

func (*Collaboration) GetRules

func (cn *Collaboration) GetRules() []*Rule

func (*Collaboration) GetType

func (cn *Collaboration) GetType() ElementType

func (*Collaboration) GetXMLName

func (cn *Collaboration) GetXMLName() xml.Name

func (*Collaboration) ToString

func (cn *Collaboration) ToString() string

type DataObject added in v1.0.9

type DataObject struct {
	XMLName              xml.Name           `xml:"dataObject"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	DataObjectRef        string             `xml:"dataObjectRef,attr"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*DataObject) GetDocumentation added in v1.0.9

func (do *DataObject) GetDocumentation() string

func (*DataObject) GetId added in v1.0.9

func (do *DataObject) GetId() string

func (*DataObject) GetIncomingAssociations added in v1.0.9

func (do *DataObject) GetIncomingAssociations() []string

func (*DataObject) GetName added in v1.0.9

func (do *DataObject) GetName() string

func (*DataObject) GetOutgoingAssociations added in v1.0.9

func (do *DataObject) GetOutgoingAssociations() []string

func (*DataObject) GetRules added in v1.0.9

func (do *DataObject) GetRules() []*Rule

func (*DataObject) GetType added in v1.0.9

func (do *DataObject) GetType() ElementType

func (*DataObject) GetXMLName added in v1.0.9

func (do *DataObject) GetXMLName() xml.Name

func (*DataObject) ToString added in v1.0.9

func (do *DataObject) ToString() string

type DataObjectReference added in v1.0.9

type DataObjectReference struct {
	XMLName              xml.Name           `xml:"dataObjectReference"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	DataObjectRef        string             `xml:"dataObjectRef,attr"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*DataObjectReference) GetDocumentation added in v1.0.9

func (dor *DataObjectReference) GetDocumentation() string

func (*DataObjectReference) GetId added in v1.0.9

func (dor *DataObjectReference) GetId() string

func (*DataObjectReference) GetIncomingAssociations added in v1.0.9

func (dor *DataObjectReference) GetIncomingAssociations() []string

func (*DataObjectReference) GetName added in v1.0.9

func (dor *DataObjectReference) GetName() string

func (*DataObjectReference) GetOutgoingAssociations added in v1.0.9

func (dor *DataObjectReference) GetOutgoingAssociations() []string

func (*DataObjectReference) GetRules added in v1.0.9

func (dor *DataObjectReference) GetRules() []*Rule

func (*DataObjectReference) GetType added in v1.0.9

func (dor *DataObjectReference) GetType() ElementType

func (*DataObjectReference) GetXMLName added in v1.0.9

func (dor *DataObjectReference) GetXMLName() xml.Name

func (*DataObjectReference) ToString added in v1.0.9

func (dor *DataObjectReference) ToString() string

type DataStoreReference added in v1.0.9

type DataStoreReference struct {
	XMLName              xml.Name           `xml:"dataStoreReference"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*DataStoreReference) GetDocumentation added in v1.0.9

func (dsr *DataStoreReference) GetDocumentation() string

func (*DataStoreReference) GetId added in v1.0.9

func (dsr *DataStoreReference) GetId() string

func (*DataStoreReference) GetIncomingAssociations added in v1.0.9

func (dsr *DataStoreReference) GetIncomingAssociations() []string

func (*DataStoreReference) GetName added in v1.0.9

func (dsr *DataStoreReference) GetName() string

func (*DataStoreReference) GetOutgoingAssociations added in v1.0.9

func (dsr *DataStoreReference) GetOutgoingAssociations() []string

func (*DataStoreReference) GetRules added in v1.0.9

func (dsr *DataStoreReference) GetRules() []*Rule

func (*DataStoreReference) GetType added in v1.0.9

func (dsr *DataStoreReference) GetType() ElementType

func (*DataStoreReference) GetXMLName added in v1.0.9

func (dsr *DataStoreReference) GetXMLName() xml.Name

func (*DataStoreReference) ToString added in v1.0.9

func (dsr *DataStoreReference) ToString() string

type Definition

type Definition 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"`
	Collaboration      *Collaboration `xml:"collaboration"`
	Category           *Category      `xml:"category"`
	Processes          []*Process     `xml:"process"`
	Messages           []*TMessage    `xml:"message"`
	BpmnDiagram        []*Diagram     `xml:"BPMNDiagram"`
	// contains filtered or unexported fields
}

func NewDefinition

func NewDefinition(bpmnXML []byte) (d *Definition, err error)

func (*Definition) ApplyFunctionToBaseElements

func (d *Definition) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to Definition and all children as long as function returns true

func (*Definition) BpmnIdBaseElementMap

func (d *Definition) BpmnIdBaseElementMap() map[string]BaseElement

BpmnIdBaseElementMap stores and returns a mapping of baseElements by BPMN_ID if it hasn't already been created

func (*Definition) BpmnIdGroupMap

func (d *Definition) BpmnIdGroupMap() map[string]*Group

BpmnIdGroupMap builds & stores a map of BPMN IDs and the group they belong to This currently assumes an item only belongs to one group

func (*Definition) BpmnIdParentMap

func (d *Definition) BpmnIdParentMap() map[string]BaseElement

BpmnIdParentMap assigns the most appropriate parent to each element

func (*Definition) FindBaseElementById

func (d *Definition) FindBaseElementById(id string) (element BaseElement)

FindBaseElementById finds all BaseElements that have a specific ID

func (*Definition) FindBaseElementsByType

func (d *Definition) FindBaseElementsByType(t ElementType) (elements []BaseElement)

FindBaseElementsByType finds all BaseElements that have a specific Type Interfaces are just pointers and types so no need for *

func (*Definition) FindBaseElementsByTypeId

func (d *Definition) FindBaseElementsByTypeId(t ElementType, id string) (elements BaseElement)

FindBaseElementsByTypeId checks the type as well

func (*Definition) FindBaseElementsByTypes added in v1.1.0

func (d *Definition) FindBaseElementsByTypes(types ...ElementType) (elements []BaseElement)

FindBaseElementsByTypes finds all BaseElements that have one of the a specific Types Interfaces are just pointers and types so no need for *

func (*Definition) FindElements

func (d *Definition) FindElements() (elements []BaseElement)

FindElements finds all base elements in the definition

func (*Definition) FindSequenceFlows

func (d *Definition) FindSequenceFlows(ids []string) (sequenceFlows []*SequenceFlow)

FindSequenceFlows finds all the sequence glows in the process and sub processes of the process that match the ids given If no ids given then all sequence flows returned

func (*Definition) GetRules

func (d *Definition) GetRules() (rules []*Rule)

GetRules gets all rules in the definition

func (*Definition) Group

func (d *Definition) Group(be BaseElement) *Group

func (*Definition) GroupId

func (d *Definition) GroupId(be BaseElement) string

func (*Definition) GroupName

func (d *Definition) GroupName(be BaseElement) string

func (*Definition) Parent

func (d *Definition) Parent(be BaseElement) BaseElement

func (*Definition) ParentName

func (d *Definition) ParentName(be BaseElement) string

type Diagram

type Diagram struct {
	XMLName       xml.Name `xml:"BPMNDiagram"`
	Id            string   `xml:"id,attr"`
	Name          string   `xml:"name,attr"`
	Documentation string   `xml:"documentation,attr"`
	Resolution    string   `xml:"resolution,attr"`
	BpmnPlane     []*Plane `xml:"BPMNPlane"`
}

type Edge

type Edge struct {
	XMLName      xml.Name    `xml:"BPMNEdge"`
	Id           string      `xml:"id,attr"`
	BpmnElement  string      `xml:"bpmnElement,attr"`
	BpmnWaypoint []*Waypoint `xml:"waypoint"`
}

type ElementType

type ElementType string
const (
	B2Collaboration          ElementType = "COLLABORATION"
	B2Participant            ElementType = "PARTICIPANT"
	B2MessageFlow            ElementType = "MESSAGE_FLOW"
	B2Group                  ElementType = "GROUP"
	B2Category               ElementType = "CATEGORY"
	B2CategoryValue          ElementType = "CATEGORY_VALUE"
	B2LaneSet                ElementType = "LANE_SET"
	B2Lane                   ElementType = "LANE"
	B2ChildLaneSet           ElementType = "CHILD_LANE_SET"
	B2StartEvent             ElementType = "START_EVENT"
	B2EndEvent               ElementType = "END_EVENT"
	B2Process                ElementType = "PROCESS"
	B2SubProcess             ElementType = "SUB_PROCESS"
	B2Task                   ElementType = "TASK"
	B2ManualTask             ElementType = "MANUAL_TASK"
	B2ScriptTask             ElementType = "SCRIPT_TASK"
	B2UserTask               ElementType = "USER_TASK"
	B2ReceiveTask            ElementType = "RECEIVE_TASK"
	B2SendTask               ElementType = "SEND_TASK"
	B2BusinessRuleTask       ElementType = "BUSINESS_RULE_TASK"
	B2ServiceTask            ElementType = "SERVICE_TASK"
	B2ParallelGateway        ElementType = "PARALLEL_GATEWAY"
	B2ExclusiveGateway       ElementType = "EXCLUSIVE_GATEWAY"
	B2DataObjectReference    ElementType = "DATA_OBJECT_REFERENCE"
	B2DataObject             ElementType = "DATA_OBJECT"
	B2DataStoreReference     ElementType = "DATA_STORE_REFERENCE"
	B2IntermediateCatchEvent ElementType = "INTERMEDIATE_CATCH_EVENT"
	B2IntermediateThrowEvent ElementType = "INTERMEDIATE_THROW_EVENT"
	B2EventBasedGateway      ElementType = "EVENT_BASED_GATEWAY"
	B2CallActivity           ElementType = "CALL_ACTIVITY"
	B2SequenceFlow           ElementType = "SEQUENCE_FLOW"
)

func ContainerElementTypes added in v1.0.8

func ContainerElementTypes() []ElementType

func LinkElementTypes added in v1.0.8

func LinkElementTypes(mode ElementType) []ElementType

func NodeElementTypes added in v1.0.8

func NodeElementTypes() []ElementType

func (ElementType) ToCamelCase added in v1.0.2

func (et ElementType) ToCamelCase(lowerCaseFirst bool) string

type EndEvent

type EndEvent struct {
	XMLName              xml.Name           `xml:"endEvent"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*EndEvent) GetDocumentation

func (ee *EndEvent) GetDocumentation() string

func (*EndEvent) GetId

func (ee *EndEvent) GetId() string

*** EndEvent methods ***

func (*EndEvent) GetIncomingAssociations

func (ee *EndEvent) GetIncomingAssociations() []string

func (*EndEvent) GetName

func (ee *EndEvent) GetName() string

func (*EndEvent) GetOutgoingAssociations

func (ee *EndEvent) GetOutgoingAssociations() []string

func (*EndEvent) GetRules

func (ee *EndEvent) GetRules() []*Rule

func (*EndEvent) GetType

func (ee *EndEvent) GetType() ElementType

func (*EndEvent) GetXMLName

func (ee *EndEvent) GetXMLName() xml.Name

func (*EndEvent) ToString

func (ee *EndEvent) ToString() string

type EventBasedGateway

type EventBasedGateway struct {
	XMLName              xml.Name           `xml:"eventBasedGateway"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*EventBasedGateway) GetDocumentation

func (ebg *EventBasedGateway) GetDocumentation() string

func (*EventBasedGateway) GetId

func (ebg *EventBasedGateway) GetId() string

func (*EventBasedGateway) GetIncomingAssociations

func (ebg *EventBasedGateway) GetIncomingAssociations() []string

func (*EventBasedGateway) GetName

func (ebg *EventBasedGateway) GetName() string

func (*EventBasedGateway) GetOutgoingAssociations

func (ebg *EventBasedGateway) GetOutgoingAssociations() []string

func (*EventBasedGateway) GetRules

func (ebg *EventBasedGateway) GetRules() []*Rule

func (*EventBasedGateway) GetType

func (ebg *EventBasedGateway) GetType() ElementType

func (*EventBasedGateway) GetXMLName

func (ebg *EventBasedGateway) GetXMLName() xml.Name

func (*EventBasedGateway) ToString

func (ebg *EventBasedGateway) ToString() string

type ExclusiveGateway

type ExclusiveGateway struct {
	XMLName              xml.Name           `xml:"exclusiveGateway"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*ExclusiveGateway) GetDocumentation

func (eg *ExclusiveGateway) GetDocumentation() string

func (*ExclusiveGateway) GetId

func (eg *ExclusiveGateway) GetId() string

func (*ExclusiveGateway) GetIncomingAssociations

func (eg *ExclusiveGateway) GetIncomingAssociations() []string

func (*ExclusiveGateway) GetName

func (eg *ExclusiveGateway) GetName() string

func (*ExclusiveGateway) GetOutgoingAssociations

func (eg *ExclusiveGateway) GetOutgoingAssociations() []string

func (*ExclusiveGateway) GetRules

func (eg *ExclusiveGateway) GetRules() []*Rule

func (*ExclusiveGateway) GetType

func (eg *ExclusiveGateway) GetType() ElementType

func (*ExclusiveGateway) GetXMLName

func (eg *ExclusiveGateway) GetXMLName() xml.Name

func (*ExclusiveGateway) ToString

func (eg *ExclusiveGateway) ToString() string

type Expression

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

type ExtensionElements

type ExtensionElements struct {
	XMLName xml.Name `xml:"extensionElements"`
	Rules   *Rules   `xml:"rules"`
}

type Group

type Group struct {
	XMLName           xml.Name           `xml:"group"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	CategoryValueRef  string             `xml:"categoryValueRef,attr"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*Group) GetDocumentation

func (g *Group) GetDocumentation() string

func (*Group) GetId

func (g *Group) GetId() string

*** Group methods ***

func (*Group) GetIncomingAssociations

func (g *Group) GetIncomingAssociations() []string

func (*Group) GetName

func (g *Group) GetName() string

func (*Group) GetOutgoingAssociations

func (g *Group) GetOutgoingAssociations() []string

func (*Group) GetRules

func (g *Group) GetRules() []*Rule

func (*Group) GetType

func (g *Group) GetType() ElementType

func (*Group) GetXMLName

func (g *Group) GetXMLName() xml.Name

func (*Group) ToString

func (g *Group) ToString() string

type IntermediateCatchEvent

type IntermediateCatchEvent struct {
	XMLName                xml.Name               `xml:"intermediateCatchEvent"`
	Id                     string                 `xml:"id,attr"`
	Name                   string                 `xml:"name,attr"`
	IncomingAssociations   []string               `xml:"incoming"`
	OutgoingAssociations   []string               `xml:"outgoing"`
	MessageEventDefinition MessageEventDefinition `xml:"messageEventDefinition"`
	TimerEventDefinition   TimerEventDefinition   `xml:"timerEventDefinition"`
	ParallelMultiple       bool                   `xml:"parallelMultiple"`
	Documentation          string                 `xml:"documentation"`
	ExtensionElements      *ExtensionElements     `xml:"extensionElements"`
}

func (*IntermediateCatchEvent) GetDocumentation

func (ice *IntermediateCatchEvent) GetDocumentation() string

func (*IntermediateCatchEvent) GetId

func (ice *IntermediateCatchEvent) GetId() string

func (*IntermediateCatchEvent) GetIncomingAssociations

func (ice *IntermediateCatchEvent) GetIncomingAssociations() []string

func (*IntermediateCatchEvent) GetName

func (ice *IntermediateCatchEvent) GetName() string

func (*IntermediateCatchEvent) GetOutgoingAssociations

func (ice *IntermediateCatchEvent) GetOutgoingAssociations() []string

func (*IntermediateCatchEvent) GetRules

func (ice *IntermediateCatchEvent) GetRules() []*Rule

func (*IntermediateCatchEvent) GetType

func (ice *IntermediateCatchEvent) GetType() ElementType

func (*IntermediateCatchEvent) GetXMLName

func (ice *IntermediateCatchEvent) GetXMLName() xml.Name

func (*IntermediateCatchEvent) ToString

func (ice *IntermediateCatchEvent) ToString() string

type IntermediateThrowEvent added in v1.0.9

type IntermediateThrowEvent struct {
	XMLName                xml.Name               `xml:"intermediateThrowEvent"`
	Id                     string                 `xml:"id,attr"`
	Name                   string                 `xml:"name,attr"`
	IncomingAssociations   []string               `xml:"incoming"`
	OutgoingAssociations   []string               `xml:"outgoing"`
	MessageEventDefinition MessageEventDefinition `xml:"messageEventDefinition"`
	TimerEventDefinition   TimerEventDefinition   `xml:"timerEventDefinition"`
	ParallelMultiple       bool                   `xml:"parallelMultiple"`
	Documentation          string                 `xml:"documentation"`
	ExtensionElements      *ExtensionElements     `xml:"extensionElements"`
}

func (*IntermediateThrowEvent) GetDocumentation added in v1.0.9

func (ite *IntermediateThrowEvent) GetDocumentation() string

func (*IntermediateThrowEvent) GetId added in v1.0.9

func (ite *IntermediateThrowEvent) GetId() string

func (*IntermediateThrowEvent) GetIncomingAssociations added in v1.0.9

func (ite *IntermediateThrowEvent) GetIncomingAssociations() []string

func (*IntermediateThrowEvent) GetName added in v1.0.9

func (ite *IntermediateThrowEvent) GetName() string

func (*IntermediateThrowEvent) GetOutgoingAssociations added in v1.0.9

func (ite *IntermediateThrowEvent) GetOutgoingAssociations() []string

func (*IntermediateThrowEvent) GetRules added in v1.0.9

func (ite *IntermediateThrowEvent) GetRules() []*Rule

func (*IntermediateThrowEvent) GetType added in v1.0.9

func (ite *IntermediateThrowEvent) GetType() ElementType

func (*IntermediateThrowEvent) GetXMLName added in v1.0.9

func (ite *IntermediateThrowEvent) GetXMLName() xml.Name

func (*IntermediateThrowEvent) ToString added in v1.0.9

func (ite *IntermediateThrowEvent) ToString() string

type Label

type Label struct {
	XMLName    xml.Name `xml:"BPMNLabel"`
	BpmnBounds Bounds   `xml:"Bounds"`
}

type Lane

type Lane struct {
	XMLName           xml.Name           `xml:"lane"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	ProcessRef        string             `xml:"processRef"`
	FlowNodeRefs      []string           `xml:"flowNodeRef"`
	Documentation     string             `xml:"documentation"`
	ChildLaneSet      *ChildLaneSet      `xml:"childLaneSet"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*Lane) GetDocumentation

func (l *Lane) GetDocumentation() string

func (*Lane) GetId

func (l *Lane) GetId() string

*** Lane methods ***

func (*Lane) GetIncomingAssociations

func (l *Lane) GetIncomingAssociations() []string

func (*Lane) GetName

func (l *Lane) GetName() string

func (*Lane) GetOutgoingAssociations

func (l *Lane) GetOutgoingAssociations() []string

func (*Lane) GetRules

func (l *Lane) GetRules() []*Rule

func (*Lane) GetType

func (l *Lane) GetType() ElementType

func (*Lane) GetXMLName

func (l *Lane) GetXMLName() xml.Name

func (*Lane) ToString

func (l *Lane) ToString() string

type LaneSet

type LaneSet struct {
	XMLName           xml.Name           `xml:"laneSet"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	Lanes             []*Lane            `xml:"lane"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*LaneSet) ApplyFunctionToBaseElements

func (ls *LaneSet) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to LaneSet and all children as long as function returns true

func (*LaneSet) GetDocumentation

func (ls *LaneSet) GetDocumentation() string

func (*LaneSet) GetId

func (ls *LaneSet) GetId() string

*** LaneSet methods ***

func (*LaneSet) GetIncomingAssociations

func (ls *LaneSet) GetIncomingAssociations() []string

func (*LaneSet) GetName

func (ls *LaneSet) GetName() string

func (*LaneSet) GetOutgoingAssociations

func (ls *LaneSet) GetOutgoingAssociations() []string

func (*LaneSet) GetRules

func (ls *LaneSet) GetRules() []*Rule

func (*LaneSet) GetType

func (ls *LaneSet) GetType() ElementType

func (*LaneSet) GetXMLName

func (ls *LaneSet) GetXMLName() xml.Name

func (*LaneSet) ToString

func (ls *LaneSet) ToString() string

type ManualTask

type ManualTask struct {
	XMLName              xml.Name           `xml:"manualTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

ManualTask has same attributes as Task

func (*ManualTask) GetDocumentation

func (mt *ManualTask) GetDocumentation() string

func (*ManualTask) GetId

func (mt *ManualTask) GetId() string

*** ManualTask methods ***

func (*ManualTask) GetIncomingAssociations

func (mt *ManualTask) GetIncomingAssociations() []string

func (*ManualTask) GetName

func (mt *ManualTask) GetName() string

func (*ManualTask) GetOutgoingAssociations

func (mt *ManualTask) GetOutgoingAssociations() []string

func (*ManualTask) GetRules

func (mt *ManualTask) GetRules() []*Rule

func (*ManualTask) GetType

func (mt *ManualTask) GetType() ElementType

func (*ManualTask) GetXMLName

func (mt *ManualTask) GetXMLName() xml.Name

func (*ManualTask) ToString

func (mt *ManualTask) ToString() string

type MessageEventDefinition

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

type MessageFlow

type MessageFlow struct {
	XMLName           xml.Name           `xml:"messageFlow"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	SourceRef         string             `xml:"sourceRef"`
	TargetRef         string             `xml:"targetRef"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*MessageFlow) GetDocumentation

func (mf *MessageFlow) GetDocumentation() string

func (*MessageFlow) GetId

func (mf *MessageFlow) GetId() string

*** MessageFlow methods ***

func (*MessageFlow) GetIncomingAssociations

func (mf *MessageFlow) GetIncomingAssociations() []string

func (*MessageFlow) GetName

func (mf *MessageFlow) GetName() string

func (*MessageFlow) GetOutgoingAssociations

func (mf *MessageFlow) GetOutgoingAssociations() []string

func (*MessageFlow) GetRules

func (mf *MessageFlow) GetRules() []*Rule

func (*MessageFlow) GetType

func (mf *MessageFlow) GetType() ElementType

func (*MessageFlow) GetXMLName

func (mf *MessageFlow) GetXMLName() xml.Name

func (*MessageFlow) ToString

func (mf *MessageFlow) ToString() string

type ParallelGateway

type ParallelGateway struct {
	XMLName              xml.Name           `xml:"parallelGateway"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*ParallelGateway) GetDocumentation

func (pg *ParallelGateway) GetDocumentation() string

func (*ParallelGateway) GetId

func (pg *ParallelGateway) GetId() string

func (*ParallelGateway) GetIncomingAssociations

func (pg *ParallelGateway) GetIncomingAssociations() []string

func (*ParallelGateway) GetName

func (pg *ParallelGateway) GetName() string

func (*ParallelGateway) GetOutgoingAssociations

func (pg *ParallelGateway) GetOutgoingAssociations() []string

func (*ParallelGateway) GetRules

func (pg *ParallelGateway) GetRules() []*Rule

func (*ParallelGateway) GetType

func (pg *ParallelGateway) GetType() ElementType

func (*ParallelGateway) GetXMLName

func (pg *ParallelGateway) GetXMLName() xml.Name

func (*ParallelGateway) ToString

func (pg *ParallelGateway) ToString() string

type Participant

type Participant struct {
	XMLName           xml.Name           `xml:"participant"`
	Id                string             `xml:"id,attr"`
	Name              string             `xml:"name,attr"`
	ProcessRef        string             `xml:"processRef,attr"`
	Documentation     string             `xml:"documentation"`
	ExtensionElements *ExtensionElements `xml:"extensionElements"`
}

func (*Participant) GetDocumentation

func (p *Participant) GetDocumentation() string

func (*Participant) GetId

func (p *Participant) GetId() string

*** Participant methods ***

func (*Participant) GetIncomingAssociations

func (p *Participant) GetIncomingAssociations() []string

func (*Participant) GetName

func (p *Participant) GetName() string

func (*Participant) GetOutgoingAssociations

func (p *Participant) GetOutgoingAssociations() []string

func (*Participant) GetRules

func (p *Participant) GetRules() []*Rule

func (*Participant) GetType

func (p *Participant) GetType() ElementType

func (*Participant) GetXMLName

func (p *Participant) GetXMLName() xml.Name

func (*Participant) ToString

func (p *Participant) ToString() string

type Plane

type Plane struct {
	XMLName     xml.Name `xml:"BPMNPlane"`
	BpmnElement string   `xml:"bpmnElement,attr"`
	BpmnShape   []*Shape `xml:"BPMNShape,omitempty"`
	BpmnEdge    []*Edge  `xml:"BPMNEdge,omitempty"`
}

type Process

type Process 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"`
	Groups                       []*Group                  `xml:"group"`
	LaneSet                      []*LaneSet                `xml:"laneSet"`
	StartEvents                  []*StartEvent             `xml:"startEvent"`
	EndEvents                    []*EndEvent               `xml:"endEvent"`
	SubProcesses                 []*SubProcess             `xml:"subProcess"`
	SequenceFlows                []*SequenceFlow           `xml:"sequenceFlow"`
	Tasks                        []*Task                   `xml:"task"`
	ScriptTasks                  []*ScriptTask             `xml:"scriptTask"`
	ManualTasks                  []*ManualTask             `xml:"manualTask"`
	ServiceTasks                 []*ServiceTask            `xml:"serviceTask"`
	UserTasks                    []*UserTask               `xml:"userTask"`
	ReceiveTasks                 []*ReceiveTask            `xml:"receiveTask"`
	SendTasks                    []*SendTask               `xml:"sendTask"`
	BusinessRuleTasks            []*BusinessRuleTask       `xml:"businessRuleTask"`
	CallActivities               []*CallActivity           `xml:"callActivity"`
	ParallelGateways             []*ParallelGateway        `xml:"parallelGateway"`
	ExclusiveGateways            []*ExclusiveGateway       `xml:"exclusiveGateway"`
	DataObjectReferences         []*DataObjectReference    `xml:"dataObjectReference"`
	DataObjects                  []*DataObject             `xml:"dataObject"`
	DataStoreReferences          []*DataStoreReference     `xml:"dataStoreReference"`
	IntermediateThrowEvents      []*IntermediateThrowEvent `xml:"intermediateThrowEvent"`
	IntermediateCatchEvents      []*IntermediateCatchEvent `xml:"intermediateCatchEvent"`
	EventBasedGateways           []*EventBasedGateway      `xml:"eventBasedGateway"`
	ExtensionElements            *ExtensionElements        `xml:"extensionElements"`
	Documentation                string                    `xml:"documentation"`
	// contains filtered or unexported fields
}

func (*Process) ApplyFunctionToBaseElements

func (p *Process) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to Process and all children as long as function returns true

func (*Process) EliminateEventsWhichComeFromTheSameGateway

func (p *Process) EliminateEventsWhichComeFromTheSameGateway(events []*IntermediateCatchEvent) (ICEs []*IntermediateCatchEvent)

func (*Process) FindBaseElementById

func (p *Process) FindBaseElementById(id string) (baseElement BaseElement)

FindBaseElementById finds all base elements in the definition

func (*Process) FindIntermediateCatchEventsForContinuation

func (p *Process) FindIntermediateCatchEventsForContinuation() (ICEs []*IntermediateCatchEvent)

FindIntermediateCatchEventsForContinuation finds all intermediate catch events of a process

func (p *Process) FindLinks(et ElementType) map[string]BaseElement

FindLinks finds all the Links and returns a process map[id]BaseElement

func (*Process) FindNodes

func (p *Process) FindNodes() map[string]BaseElement

FindNodes finds all the nodes and returns with a process map[id]BaseElement

func (*Process) FindSequenceFlows

func (p *Process) FindSequenceFlows(ids []string) (sequenceFlows []*SequenceFlow)

FindSequenceFlows finds all the sequence flows in the process and sub processes of the process that have match one of the ids passed in

func (*Process) FindSubProcessById

func (p *Process) FindSubProcessById(id string) (subProcess *SubProcess)

FindSubProcessById will find the sub process with the Id given

func (*Process) GetDocumentation

func (p *Process) GetDocumentation() string

func (*Process) GetId

func (p *Process) GetId() string

*** process methods ***

func (*Process) GetIncomingAssociations

func (p *Process) GetIncomingAssociations() []string

func (*Process) GetName

func (p *Process) GetName() string

func (*Process) GetOutgoingAssociations

func (p *Process) GetOutgoingAssociations() []string

func (*Process) GetRules

func (p *Process) GetRules() []*Rule

func (*Process) GetType

func (p *Process) GetType() ElementType

func (*Process) GetXMLName

func (p *Process) GetXMLName() xml.Name

func (*Process) MapBEs

func (p *Process) MapBEs(etMap map[ElementType]bool) (m map[string]BaseElement)

MapBEs takes a map of ElementTypes and builds a list of BaseElement that match the map

func (*Process) SortTopologicalMap added in v1.1.5

func (p *Process) SortTopologicalMap(tbeMap map[string]*TopologyBaseElement) (orderedList []BaseElement)

SortTopologicalMap sorts returns an ordered list of BaseElements from the map generated by TopologicalSortMap

func (*Process) ToString

func (p *Process) ToString() string

func (*Process) TopologicalSort added in v1.0.7

func (p *Process) TopologicalSort(includeLinks bool) []BaseElement

TopologicalSort Based upon algorithm published by Kai Kretschmann Design and Implementation of a Framework for the Creation of BPMN 2.0 Process Models based on Textual Descriptions But enhanced to prefer sequence flows over number of connections

includeLinks is optional

func (*Process) TopologicalSortMap added in v1.1.4

func (p *Process) TopologicalSortMap(includeLinks bool) map[string]*TopologyBaseElement

TopologicalSortMap returns the TopologyBaseElement map is by bpmnid

type ReceiveTask added in v1.0.7

type ReceiveTask struct {
	XMLName              xml.Name           `xml:"receiveTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

ReceiveTask has same attributes as Task + scriptFormat & script

func (*ReceiveTask) GetDocumentation added in v1.0.7

func (brt *ReceiveTask) GetDocumentation() string

func (*ReceiveTask) GetId added in v1.0.7

func (brt *ReceiveTask) GetId() string

*** ReceiveTask methods ***

func (*ReceiveTask) GetIncomingAssociations added in v1.0.7

func (brt *ReceiveTask) GetIncomingAssociations() []string

func (*ReceiveTask) GetName added in v1.0.7

func (brt *ReceiveTask) GetName() string

func (*ReceiveTask) GetOutgoingAssociations added in v1.0.7

func (brt *ReceiveTask) GetOutgoingAssociations() []string

func (*ReceiveTask) GetRules added in v1.0.7

func (brt *ReceiveTask) GetRules() []*Rule

func (*ReceiveTask) GetType added in v1.0.7

func (brt *ReceiveTask) GetType() ElementType

func (*ReceiveTask) GetXMLName added in v1.0.7

func (brt *ReceiveTask) GetXMLName() xml.Name

func (*ReceiveTask) ToString added in v1.0.7

func (brt *ReceiveTask) ToString() string

type Rule

type Rule struct {
	XMLName     xml.Name `xml:"rule"`
	Id          string   `xml:"id,attr"`
	Type        string   `xml:"type,attr"`
	Code        string   `xml:"code,attr"`
	Name        string   `xml:"name,attr"`
	Description string   `xml:"description,attr"`
}

func GetRules

func GetRules(extensionElements *ExtensionElements) []*Rule

GetRules avoids any null errors

type Rules

type Rules struct {
	XMLName xml.Name `xml:"rules"`
	Rules   []*Rule  `xml:"rule"`
}

type ScriptTask

type ScriptTask struct {
	XMLName              xml.Name           `xml:"scriptTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	ScriptFormat         string             `xml:"scriptFormat,attr"`
	Script               string             `xml:"script,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

ScriptTask has same attributes as Task + scriptFormat & script

func (*ScriptTask) GetDocumentation

func (sct *ScriptTask) GetDocumentation() string

func (*ScriptTask) GetId

func (sct *ScriptTask) GetId() string

*** ScriptTask methods ***

func (*ScriptTask) GetIncomingAssociations

func (sct *ScriptTask) GetIncomingAssociations() []string

func (*ScriptTask) GetName

func (sct *ScriptTask) GetName() string

func (*ScriptTask) GetOutgoingAssociations

func (sct *ScriptTask) GetOutgoingAssociations() []string

func (*ScriptTask) GetRules

func (sct *ScriptTask) GetRules() []*Rule

func (*ScriptTask) GetType

func (sct *ScriptTask) GetType() ElementType

func (*ScriptTask) GetXMLName

func (sct *ScriptTask) GetXMLName() xml.Name

func (*ScriptTask) ToString

func (sct *ScriptTask) ToString() string

type SendTask added in v1.0.7

type SendTask struct {
	XMLName              xml.Name           `xml:"sendTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

SendTask has same attributes as Task + scriptFormat & script

func (*SendTask) GetDocumentation added in v1.0.7

func (brt *SendTask) GetDocumentation() string

func (*SendTask) GetId added in v1.0.7

func (brt *SendTask) GetId() string

*** SendTask methods ***

func (*SendTask) GetIncomingAssociations added in v1.0.7

func (brt *SendTask) GetIncomingAssociations() []string

func (*SendTask) GetName added in v1.0.7

func (brt *SendTask) GetName() string

func (*SendTask) GetOutgoingAssociations added in v1.0.7

func (brt *SendTask) GetOutgoingAssociations() []string

func (*SendTask) GetRules added in v1.0.7

func (brt *SendTask) GetRules() []*Rule

func (*SendTask) GetType added in v1.0.7

func (brt *SendTask) GetType() ElementType

func (*SendTask) GetXMLName added in v1.0.7

func (brt *SendTask) GetXMLName() xml.Name

func (*SendTask) ToString added in v1.0.7

func (brt *SendTask) ToString() string

type SequenceFlow

type SequenceFlow 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 []*Expression      `xml:"conditionExpression"`
	Documentation       string             `xml:"documentation"`
	ExtensionElements   *ExtensionElements `xml:"extensionElements"`
}

func (*SequenceFlow) GetConditionExpression

func (sf *SequenceFlow) GetConditionExpression() string

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

func (*SequenceFlow) GetDocumentation

func (sf *SequenceFlow) GetDocumentation() string

func (*SequenceFlow) GetId

func (sf *SequenceFlow) GetId() string

*** SequenceFlow methods ***

func (*SequenceFlow) GetIncomingAssociations

func (sf *SequenceFlow) GetIncomingAssociations() []string

func (*SequenceFlow) GetName

func (sf *SequenceFlow) GetName() string

func (*SequenceFlow) GetOutgoingAssociations

func (sf *SequenceFlow) GetOutgoingAssociations() []string

func (*SequenceFlow) GetRules

func (sf *SequenceFlow) GetRules() []*Rule

func (*SequenceFlow) GetType

func (sf *SequenceFlow) GetType() ElementType

func (*SequenceFlow) GetXMLName

func (sf *SequenceFlow) GetXMLName() xml.Name

func (*SequenceFlow) HasConditionExpression

func (sf *SequenceFlow) HasConditionExpression() bool

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

func (*SequenceFlow) ToString

func (sf *SequenceFlow) ToString() string

type ServiceTask

type ServiceTask struct {
	XMLName              xml.Name           `xml:"serviceTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	Implementation       string             `xml:"implementation,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

ServiceTask has same attributes as Task + implementation

func (*ServiceTask) GetDocumentation

func (svt *ServiceTask) GetDocumentation() string

func (*ServiceTask) GetId

func (svt *ServiceTask) GetId() string

*** ServiceTask methods ***

func (*ServiceTask) GetIncomingAssociations

func (svt *ServiceTask) GetIncomingAssociations() []string

func (*ServiceTask) GetName

func (svt *ServiceTask) GetName() string

func (*ServiceTask) GetOutgoingAssociations

func (svt *ServiceTask) GetOutgoingAssociations() []string

func (*ServiceTask) GetRules

func (svt *ServiceTask) GetRules() []*Rule

func (*ServiceTask) GetType

func (svt *ServiceTask) GetType() ElementType

func (*ServiceTask) GetXMLName

func (svt *ServiceTask) GetXMLName() xml.Name

func (*ServiceTask) ToString

func (svt *ServiceTask) ToString() string

type Shape

type Shape struct {
	XMLName          xml.Name `xml:"BPMNShape"`
	Id               string   `xml:"id,attr"`
	BpmnElement      string   `xml:"bpmnElement,attr"`
	IsHorizontal     bool     `xml:"isHorizontal,attr"`
	IsExpanded       bool     `xml:"isExpanded,attr,omitempty"`
	IsMarkerVisible  bool     `xml:"isMarkerVisible,attr,omitempty"`
	IsMessageVisible bool     `xml:"isMessageVisible,attr,omitempty"`
	BpmnBounds       Bounds   `xml:"Bounds"`
	BpmnLabel        []*Label `xml:"BPMNLabel,omitempty"`
}

type StartEvent

type StartEvent 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"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

func (*StartEvent) GetDocumentation

func (se *StartEvent) GetDocumentation() string

func (*StartEvent) GetId

func (se *StartEvent) GetId() string

*** StartEvent methods ***

func (*StartEvent) GetIncomingAssociations

func (se *StartEvent) GetIncomingAssociations() []string

func (*StartEvent) GetName

func (se *StartEvent) GetName() string

func (*StartEvent) GetOutgoingAssociations

func (se *StartEvent) GetOutgoingAssociations() []string

func (*StartEvent) GetRules

func (se *StartEvent) GetRules() []*Rule

func (*StartEvent) GetType

func (se *StartEvent) GetType() ElementType

func (*StartEvent) GetXMLName

func (se *StartEvent) GetXMLName() xml.Name

func (*StartEvent) ToString

func (se *StartEvent) ToString() string

type SubProcess

type SubProcess struct {
	XMLName                 xml.Name                  `xml:"subProcess"`
	Id                      string                    `xml:"id,attr"`
	Name                    string                    `xml:"name,attr"`
	Default                 string                    `xml:"default,attr"`
	StartQuantity           int                       `xml:"startQuantity,attr"`
	CompletionQuantity      int                       `xml:"completionQuantity,attr"`
	IsForCompensation       bool                      `xml:"isForCompensation,attr"`
	TriggeredByEvent        bool                      `xml:"triggeredByEvent,attr"`
	OperationRef            string                    `xml:"operationRef,attr"`
	Implementation          string                    `xml:"implementation,attr"`
	IncomingAssociations    []string                  `xml:"incoming"`
	OutgoingAssociations    []string                  `xml:"outgoing"`
	SubProcesses            []*SubProcess             `xml:"subProcess"`
	Groups                  []*Group                  `xml:"group"`
	StartEvents             []*StartEvent             `xml:"startEvent"`
	EndEvents               []*EndEvent               `xml:"endEvent"`
	SequenceFlows           []*SequenceFlow           `xml:"sequenceFlow"`
	Tasks                   []*Task                   `xml:"task"`
	ScriptTasks             []*ScriptTask             `xml:"scriptTask"`
	ManualTasks             []*ManualTask             `xml:"manualTask"`
	ServiceTasks            []*ServiceTask            `xml:"serviceTask"`
	BusinessRuleTasks       []*BusinessRuleTask       `xml:"businessRuleTask"`
	ReceiveTasks            []*ReceiveTask            `xml:"receiveTasks"`
	SendTasks               []*SendTask               `xml:"sendTask"`
	UserTasks               []*UserTask               `xml:"userTask"`
	CallActivities          []*CallActivity           `xml:"callActivity"`
	ParallelGateways        []*ParallelGateway        `xml:"parallelGateway"`
	ExclusiveGateways       []*ExclusiveGateway       `xml:"exclusiveGateway"`
	DataObjectReferences    []*DataObjectReference    `xml:"dataObjectReference"`
	DataObjects             []*DataObject             `xml:"dataObject"`
	DataStoreReferences     []*DataStoreReference     `xml:"dataStoreReference"`
	IntermediateThrowEvents []*IntermediateThrowEvent `xml:"intermediateThrowEvent"`
	IntermediateCatchEvents []*IntermediateCatchEvent `xml:"intermediateCatchEvent"`
	EventBasedGateways      []*EventBasedGateway      `xml:"eventBasedGateway"`
	Documentation           string                    `xml:"documentation"`
	ExtensionElements       *ExtensionElements        `xml:"extensionElements"`
}

SubProcess has same attributes as Activity + triggered by event

func (*SubProcess) ApplyFunctionToBaseElements

func (sp *SubProcess) ApplyFunctionToBaseElements(f func(element BaseElement) bool)

ApplyFunctionToBaseElements applies a function to the SubProcess and all children if function returns true

func (*SubProcess) GetDocumentation

func (sp *SubProcess) GetDocumentation() string

func (*SubProcess) GetId

func (sp *SubProcess) GetId() string

*** SubProcess methods ***

func (*SubProcess) GetIncomingAssociations

func (sp *SubProcess) GetIncomingAssociations() []string

func (*SubProcess) GetName

func (sp *SubProcess) GetName() string

func (*SubProcess) GetOutgoingAssociations

func (sp *SubProcess) GetOutgoingAssociations() []string

func (*SubProcess) GetRules

func (sp *SubProcess) GetRules() []*Rule

func (*SubProcess) GetType

func (sp *SubProcess) GetType() ElementType

func (*SubProcess) GetXMLName

func (sp *SubProcess) GetXMLName() xml.Name

func (*SubProcess) ToString

func (sp *SubProcess) ToString() string

type TMessage

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

type Task

type Task struct {
	XMLName              xml.Name           `xml:"task"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	Implementation       string             `xml:"implementation,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

Task inherits the attributes and model associations of Activity

func (*Task) GetDocumentation

func (t *Task) GetDocumentation() string

func (*Task) GetId

func (t *Task) GetId() string

*** Task methods ***

func (*Task) GetIncomingAssociations

func (t *Task) GetIncomingAssociations() []string

func (*Task) GetName

func (t *Task) GetName() string

func (*Task) GetOutgoingAssociations

func (t *Task) GetOutgoingAssociations() []string

func (*Task) GetRules

func (t *Task) GetRules() []*Rule

func (*Task) GetType

func (t *Task) GetType() ElementType

func (*Task) GetXMLName

func (t *Task) GetXMLName() xml.Name

func (*Task) ToString

func (t *Task) ToString() string

type TimeDuration

type TimeDuration struct {
	XMLName xml.Name `xml:"timeDuration"`
	XMLText string   `xml:",innerxml"`
}

type TimerEventDefinition

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

type TopologyBaseElement added in v1.1.5

type TopologyBaseElement struct {
	BaseElement BaseElement
	Step        string
	SortStep    string
	// contains filtered or unexported fields
}

type UserTask

type UserTask struct {
	XMLName              xml.Name           `xml:"userTask"`
	Id                   string             `xml:"id,attr"`
	Name                 string             `xml:"name,attr"`
	Default              string             `xml:"default,attr"`
	StartQuantity        int                `xml:"startQuantity,attr"`
	CompletionQuantity   int                `xml:"completionQuantity,attr"`
	IsForCompensation    bool               `xml:"isForCompensation,attr"`
	OperationRef         string             `xml:"operationRef,attr"`
	Implementation       string             `xml:"implementation,attr"`
	IncomingAssociations []string           `xml:"incoming"`
	OutgoingAssociations []string           `xml:"outgoing"`
	Documentation        string             `xml:"documentation"`
	ExtensionElements    *ExtensionElements `xml:"extensionElements"`
}

UserTask has same attributes as Task + implementation

func (*UserTask) GetDocumentation

func (ut *UserTask) GetDocumentation() string

func (*UserTask) GetId

func (ut *UserTask) GetId() string

*** UserTask methods ***

func (*UserTask) GetIncomingAssociations

func (ut *UserTask) GetIncomingAssociations() []string

func (*UserTask) GetName

func (ut *UserTask) GetName() string

func (*UserTask) GetOutgoingAssociations

func (ut *UserTask) GetOutgoingAssociations() []string

func (*UserTask) GetRules

func (ut *UserTask) GetRules() []*Rule

func (*UserTask) GetType

func (ut *UserTask) GetType() ElementType

func (*UserTask) GetXMLName

func (ut *UserTask) GetXMLName() xml.Name

func (*UserTask) ToString

func (ut *UserTask) ToString() string

type Waypoint

type Waypoint struct {
	XMLName xml.Name `xml:"waypoint"`
	X       float32  `xml:"x,attr"`
	Y       float32  `xml:"y,attr"`
}

Jump to

Keyboard shortcuts

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