def __init__(self, id, operationRef, implementation='##WebService', **kwargs): ''' operationRef:Operation This attribute specifies the operation through which the Receive Task receives the Message. implementation:str (default='##WebService') This attribute specifies the technology that will be used to send and receive the Messages. Valid values are "##unspecified" for leaving the implementation technology open, "##WebService" for the Web service technology or a URI identifying any other technology or coordination protocol. messageRef:Message A Message for the messageRef attribute MAY be entered. This indicates that the Message will be received by the Task. The Message in this context is equivalent to an in-only message pattern (Web service). The Message is applied to all incoming Message Flows, but can arrive for only one of the incoming Message Flows for a single instance of the Task. instantiate:bool (default=False) Receive Tasks can be defined as the instantiation mechanism for the Process with the instantiate attribute. This attribute MAY be set to true if the Task is the first Activity (i.e., there are no incoming Sequence Flows). Multiple Tasks MAY have this attribute set to true. ''' super(ReceiveTask, self).__init__(id, **kwargs) self.operationRef = operationRef self.implementation = implementation self.messageRef = kwargs.pop('messageRef', None) self.instantiate = kwargs.pop('instantiate', False) #ReceiveTask conditions to ba add if self.__class__.__name__=='ReceiveTask': residual_args(slf.__init__, **kwargs)
def __init__(self, id, name, inMessageRef, **kwargs): ''' name:str The descriptive name of the element. inMessageRef:Message This attribute specifies the input Message of the Operation. An Operation has exactly one input Message. outMessageRef:Message This attribute specifies the output Message of the Operation. An Operation has at most one input Message. errorRef:Error list This attribute specifies errors that the Operation may return. An Operation MAY refer to zero or more Error elements. implementationRef:Element This attribute allows to reference a concrete artifact in the underlying implementation technology representing that operation, such as a WSDL operation. ''' super(Operation,self).__init__(id, **kwargs) self.name = name self.inMessageRef = inMessageRef self.outMessageRef = kwargs.pop('outMessageRef', None) self.errorRef = kwargs.pop('errorRef', []) self.implementationRef = kwargs.pop('implementationRef', None) if self.__class__.__name__=='Operation': residual_args(self.__init__, **kwargs)
def __init__(self, id, sourceRef, targetRef, **kwargs): ''' sourceRef:FlowNode The FlowNode that the Sequence Flow is connecting from. For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the source. However, Activities that are Event Sub-Processes are not allowed to be a source. For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the source. targetRef:FlowNode The FlowNode that the Sequence Flow is connecting to. For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the target. However, Activities that are Event Sub-Processes are not allowed to be a target. For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the target. conditionExpression:Expression An optional boolean Expression that acts as a gating condition. A token will only be placed on this Sequence Flow if this conditionExpression evaluates to True. isImmediate:bool An optional boolean value specifying whether Activities or Choreography Activities not in the model containing the Sequence Flow can occur between the elements connected by the Sequence Flow. If the value is true, they MAY NOT occur. If the value is false, they MAY occur. Also see the isClosed attribute on Process, Choreography, and Collaboration. When the attribute has no value, the default semantics depends on the kind of model containing Sequence Flows: For non-executable Processes (public Processes and non-executable private Processes) and Choreographies no value has the same semantics as if the value were False. For an executable Processes no value has the same semantics as if the value were True. For executable Processes, the attribute MUST NOT be false. ''' super(SequenceFlow, self).__init__(id, **kwargs) self.sourceRef = sourceRef self.targetRef = targetRef self.conditionExpression = kwargs.pop('conditionExpression', None) self.isImmediate = kwargs.pop('isImmediate', None) if self.__class__.__init__=='conditionExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, inMessageRef, **kwargs): ''' name:str The descriptive name of the element. inMessageRef:Message This attribute specifies the input Message of the Operation. An Operation has exactly one input Message. outMessageRef:Message This attribute specifies the output Message of the Operation. An Operation has at most one input Message. errorRef:Error list This attribute specifies errors that the Operation may return. An Operation MAY refer to zero or more Error elements. implementationRef:Element This attribute allows to reference a concrete artifact in the underlying implementation technology representing that operation, such as a WSDL operation. ''' super(Operation, self).__init__(id, **kwargs) self.name = name self.inMessageRef = inMessageRef self.outMessageRef = kwargs.pop('outMessageRef', None) self.errorRef = kwargs.pop('errorRef', []) self.implementationRef = kwargs.pop('implementationRef', None) if self.__class__.__name__ == 'Operation': residual_args(self.__init__, **kwargs)
def __init__(self, id, itemKind='Information', isCollection=False, **kwargs): ''' itemKind:ItemKind enum (default='Information') {'Information'|'Physical'} This defines the nature of the Item. Possible values are physical or information. isCollection:bool (default=False) Setting this flag to true indicates that the actual data type is a collection. structureRef: Element The concrete data structure to be used. import:Import Identifies the location of the data structure and its format. If the importType attribute is left unspecified, the typeLanguage specified in the Definitions that contains this ItemDefinition is assumed. ''' super(ItemDefinition,self).__init__(id, **kwargs) if itemKind in ItemKind: self.itemKind = itemKind else: raise Exception #tbd self.isCollection = isCollection self.structureRef = kwargs.pop('structureRef',None) #self.import is not valid in python, use of import_ instead self.import_ = kwargs.pop('import',None) if self.__class__.__name__=='ItemDefinition': residual_args(self.__init__, **kwargs)
def __init__(self, id , name, escalationCode, **kwargs): ''' name:str The descriptive name of the Escalation. escalationCode:str For an End Event: If the Result is an Escalation, then the escalationCode MUST be supplied (if the processType attribute of the Process is set to executable). This "throws" the Escalation. For an Intermediate Event within normal flow: If the trigger is an Escalation, then the escalationCode MUST be entered (if the processType attribute of the Process is set to executable). This "throws" the Escalation. For an Intermediate Event attached to the boundary of an Activity: If the trigger is an Escalation, then the escalationCode MAY be entered. This Event "catches" the Escalation. If there is no escalationCode, then any Escalation SHALL trigger the Event. If there is an escalationCode, then only an Escalation that matches the escalationCode SHALL trigger the Event. structureRef:ItemDefinition An ItemDefinition is used to define the "payload" of the Escalation. ''' self.name = name self.escalationCode = escalationCode self.structureRef = kwargs.pop('structureRef', None) if self.__class__.__name__=='Escalation': residual_args(self.__init__, **kwargs)
def __init__(self, id, sourceRef, targetRef, **kwargs): ''' sourceRef:FlowNode The FlowNode that the Sequence Flow is connecting from. For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the source. However, Activities that are Event Sub-Processes are not allowed to be a source. For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the source. targetRef:FlowNode The FlowNode that the Sequence Flow is connecting to. For a Process: Of the types of FlowNode, only Activities, Gateways, and Events can be the target. However, Activities that are Event Sub-Processes are not allowed to be a target. For a Choreography: Of the types of FlowNode, only Choreography Activities, Gateways, and Events can be the target. conditionExpression:Expression An optional boolean Expression that acts as a gating condition. A token will only be placed on this Sequence Flow if this conditionExpression evaluates to True. isImmediate:bool An optional boolean value specifying whether Activities or Choreography Activities not in the model containing the Sequence Flow can occur between the elements connected by the Sequence Flow. If the value is true, they MAY NOT occur. If the value is false, they MAY occur. Also see the isClosed attribute on Process, Choreography, and Collaboration. When the attribute has no value, the default semantics depends on the kind of model containing Sequence Flows: For non-executable Processes (public Processes and non-executable private Processes) and Choreographies no value has the same semantics as if the value were False. For an executable Processes no value has the same semantics as if the value were True. For executable Processes, the attribute MUST NOT be false. ''' super(SequenceFlow, self).__init__(id, **kwargs) self.sourceRef = sourceRef self.targetRef = targetRef self.conditionExpression = kwargs.pop('conditionExpression', None) self.isImmediate = kwargs.pop('isImmediate', None) if self.__class__.__init__ == 'conditionExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id, itemKind='Information', isCollection=False, **kwargs): ''' itemKind:ItemKind enum (default='Information') {'Information'|'Physical'} This defines the nature of the Item. Possible values are physical or information. isCollection:bool (default=False) Setting this flag to true indicates that the actual data type is a collection. structureRef: Element The concrete data structure to be used. import:Import Identifies the location of the data structure and its format. If the importType attribute is left unspecified, the typeLanguage specified in the Definitions that contains this ItemDefinition is assumed. ''' super(ItemDefinition, self).__init__(id, **kwargs) if itemKind in ItemKind: self.itemKind = itemKind else: raise Exception #tbd self.isCollection = isCollection self.structureRef = kwargs.pop('structureRef', None) #self.import is not valid in python, use of import_ instead self.import_ = kwargs.pop('import', None) if self.__class__.__name__ == 'ItemDefinition': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, escalationCode, **kwargs): ''' name:str The descriptive name of the Escalation. escalationCode:str For an End Event: If the Result is an Escalation, then the escalationCode MUST be supplied (if the processType attribute of the Process is set to executable). This "throws" the Escalation. For an Intermediate Event within normal flow: If the trigger is an Escalation, then the escalationCode MUST be entered (if the processType attribute of the Process is set to executable). This "throws" the Escalation. For an Intermediate Event attached to the boundary of an Activity: If the trigger is an Escalation, then the escalationCode MAY be entered. This Event "catches" the Escalation. If there is no escalationCode, then any Escalation SHALL trigger the Event. If there is an escalationCode, then only an Escalation that matches the escalationCode SHALL trigger the Event. structureRef:ItemDefinition An ItemDefinition is used to define the "payload" of the Escalation. ''' self.name = name self.escalationCode = escalationCode self.structureRef = kwargs.pop('structureRef', None) if self.__class__.__name__ == 'Escalation': residual_args(self.__init__, **kwargs)
def __init__(self, id, sourceRef, targetRef, associationDirection='None', **kwargs): ''' sourceRef:BaseElement The BaseElement that the Association is connecting from. targetRef:BaseElement The BaseElement that the Association is connecting to. associationDirection:AssociationDirection enum (default='None') {'None'|'One'|'Both'} associationDirection is an attribute that defines whether or not the Association shows any directionality with an arrowhead. A value of One means that the arrowhead SHALL be at the Target Object. A value of Both means that there SHALL be an arrowhead at both ends of the Association line. ''' super(Association, self).__init__(id, **kwargs) self.sourceRef = sourceRef self.targetRef = targetRef if associationDirection in AssociationDirection: self.associationDirection = associationDirection else: raise Exception #to be precised if self.__class__.__name__ == 'Association': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' name:str ''' super(CallableElement, self).__init__(id, **kwargs) self.name = kwargs.pop('name', None) if self.__class__.__name__ == 'CallableElement': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' triggeredByEvent:bool (default=False) ''' super(SubProcess, self).__init__(id, **kwargs) #comment ça se comporte en cas d'heritage multiple self.triggeredByEvent = kwargs.pop('triggeredByEvent', False) if self.__class__.__name__=='SubProcess': residual_args(self.__init__, **kwarg)
def __init__(self, id, **kwargs): ''' name:str ''' super(CallableElement, self).__init__(id, **kwargs) self.name = kwargs.pop('name', None) if self.__class__.__name__=='CallableElement': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' calledElementRef:??? ''' super(CallActivity, self).__init__(id, **kwargs) self.calledElementRef = kwargs.pop('calledElementRef', None) #? if self.__class__.__name__=='CallActivity': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, targetNamespace, **kwargs): ''' name:str The name of the Definition. targetNamespace:str This attribute identifies the namespace associated with the Definition and follows the convention established by XML Schema. expressionLanguage:str (default='http://www.w3.org/1999/XPath') This attribute identifies the formal Expression language used in Expressions within the elements of this Definition. This value MAY be overridden on each individual formal Expression. The language MUST be specified in a URI format. typeLanguage:str (default='http://www.w3.org/2001/XMLSchema') This attribute identifies the type system used by the elements of this Definition. This value can be overridden on each individual ItemDefinition. The language MUST be specified in a URI format. rootElements:RootElement list This attribute lists the root elements that are at the root of this Definitions. These elements can be referenced within this Definitions and are visible to other Definitions. diagrams:BPMNDiagram list This attribute lists the BPMNDiagrams that are contained within this Definitions. imports:Import list This attribute is used to import externally defined elements and make them available for use by elements within this Definitions. extentions:Extension list This attribute identifies extensions beyond the attributes and model associations in the base BPMN specification. relationships:Relationship list This attribute enables the extension and integration of BPMN models into larger system/development Processes. exporter:str This attribute identifies the tool that is exporting the bpmn model file. exporterVersion:str This attribute identifies the version of the tool that is exporting the bpmn model file. ''' super(Definitions, self).__init__(id, **kwargs) self.name = name self.targetNamespace = targetNamespace self.expressionLanguage = kwargs.pop(expressionLanguage,'http://www.w3/org/1999/XPath') self.typeLanguage = kwargs.pop('typeLanguage','http://www.w3.org/2001/XMLSchema') self.rootElements = kwargs.pop('rootElements',[]) self.diagrams = kwargs.pop('diagrams',[]) self.imports = kwargs.pop('imports',[]) self.extentions = kwargs.pop('extentions',[]) self.relationships = kwargs.pop('relationships',[]) self.exporter = kwargs.pop('exporter',None) self.exporterVersion = kwargs.pop('exporterVersion',None) if self.__class__.__name__ == 'Definitions': residual_args(self.__init__, **kwargs)
def __init__(self, id, expression, **kwargs): ''' expression:Expression The element ResourceAssignmentExpression MUST contain an Expression which is used at runtime to assign resource(s) to a ResourceRole element. ''' super(ResourceAssignmentExpression, self).__init__(id, **kwargs) self.expression = expression if self.__class__.__name__=='ResourceAssignmentExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' categoryValueRef:CategoryValue The categoryValueRef attribute specifies the CategoryValue that the Group represents. The name of the Category and the value of the CategoryValue separated by delineator "." provides the label for the Group. The graphical elements within the boundaries of the Group will be assigned the CategoryValue. ''' super(Group, self).__init__(id, **kwargs) self.categoryValueRef = kwargs.pop('categoryValueRef', None) if self.__class__.__name__ == 'Group': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' categoryValueRef:CategoryValue The categoryValueRef attribute specifies the CategoryValue that the Group represents. The name of the Category and the value of the CategoryValue separated by delineator "." provides the label for the Group. The graphical elements within the boundaries of the Group will be assigned the CategoryValue. ''' super(Group,self).__init__(id, **kwargs) self.categoryValueRef = kwargs.pop('categoryValueRef', None) if self.__class__.__name__=='Group': residual_args(self.__init__, **kwargs)
def __init__(self, id, implementation='##unspecified', **kwargs): ''' implementation:str (default='##unspecified') This attribute specifies the technology that will be used to implement the Business Rule Task. Valid values are "##unspecified" for leaving the implementation technology open, "##WebService" for the Web service technology or a URI identifying any other technology or coordination protocol. ''' super(BusinessRuleTask, self).__init__(id, **kwargs) self.implementation = implementation if self.__class__.__name__=='BusinessRuleTask': residual_args(self.__init__, **kwargs)
def __init__(self, id, parameterRef, expression, **kwargs): ''' parameterRef:ResourceParameter Reference to the parameter defined by the Resource. expression:Expression The Expression that evaluates the value used to bind the ResourceParameter. ''' super(ResourceParameterBindings, self).__init__(id, **kwargs) self.parameterRef = parameterRef self.expression = expression if self.__class__.__name__=='ResourceParameterBindings': residual_args(self.__init__, **kwargs)
def __init__(self, name, **kwargs): ''' name:str The name of the extension. This is used as a namespace to uniquely identify the extension content. extensionAttributeDefinitions:ExtensionAttributeDefinition list The specific attributes that make up the extension. ''' super(ExtensionDefinition,self).__init__() self.name = name self.extensionAttributeDefinitions = kwargs.pop('extentionAttributeDefinitions',[]) if self.__class__.__name__ == 'ExtensionDefinition': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' text:str This attribute is used to capture the text descriptions of a BPMN element. textFormat:str (default='text/plain') This attribute identifies the format of the text. It MUST follow the mime-type format. ''' super(Documentation,self).__init__(id, **kwargs) self.text = kwargs.pop('text','') self.textFormat = kwargs.pop('textFormat','text/plain') if self.__class__.__name__ == 'Documentation': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, **kwargs): ''' name:str Name is a text description of the Message. itemRef:ItemDefinition An ItemDefinition is used to define the "payload" of the Message. ''' super(Message, self).__init__(id, **kwargs) self.name = name self.itemRef = kwargs.pop('itemRef',None) if self.__class__.__name__=='Message': residual_args(self.__init__, **kwargs)
def __init__(self, id, dataPath, correlationPropertyRef, **kwargs): ''' dataPath:FormalExpression The FormalExpression that defines the extraction rule atop the Process context. correlationPropertyRef:CorrelationProperty The specific CorrelationProperty, this CorrelationPropertyBinding refers to. ''' super(CorrelationPropertyBinding,self).__init__(id, **kwargs) self.dataPath = dataPath self.correlationPropertyRef = correlationPropertyRef if self.__class__.__name__=='CorrelationPropertyBinding': residual_args(self.__init__, **kwargs)
def __init__(self, id, dataPath, correlationPropertyRef, **kwargs): ''' dataPath:FormalExpression The FormalExpression that defines the extraction rule atop the Process context. correlationPropertyRef:CorrelationProperty The specific CorrelationProperty, this CorrelationPropertyBinding refers to. ''' super(CorrelationPropertyBinding, self).__init__(id, **kwargs) self.dataPath = dataPath self.correlationPropertyRef = correlationPropertyRef if self.__class__.__name__ == 'CorrelationPropertyBinding': residual_args(self.__init__, **kwargs)
def __init__(self,id, name, **kwargs): ''' name:str Name is a text description of the PartnerRole. participantRef:Participant list Specifies how the PartnerRole participates in Collaborations and Choreographies. ''' super(PartnerRole,self).__init__(id, **kwargs) self.name = name self.participantRef = kwargs.pop('participantRef',[]) if self.__class__.__name__=='PartnerRole': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, **kwargs): ''' name:str The descriptive name of the element. categoryValue: CategoryValue list The categoryValue attribute specifies one or more values of the Category. ''' super(Category, self).__init__(id, **kwargs) self.name = name self.categoryValue = kwargs.pop('categoryValue',[]) if self.__class__.__name__=='Category': residual_args(self.__init__, **kwags)
def __init__(self, id, name, **kwargs): ''' name:str This attribute specifies the name of the Resource. resourceParameters:ResourceParameter list This model association specifies the definition of the parameters needed at runtime to resolve the Resource. ''' super(Resource, self).__init__(id, **kwargs) self.name = name self.resourceParameters = kwargs.pop('resourceParameters',[]) if self.__class__.__name__=='Resource': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' name:str Specifies the name of the CorrelationKey. correlationPropertyRef:CorrelationProperty list The CorrelationProperties, representing the partial keys of this CorrelationKey. ''' super(CorrelationKey, self).__init__(id, **kwargs) self.name = kwargs.pop('name', None) self.correlationPropertyRef = kwargs.pop('correlationPropertyRef', []) if self.__class__.__name__ == 'CorrelationKey': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, **kwargs): ''' name:str This attribute specifies the name of the Resource. resourceParameters:ResourceParameter list This model association specifies the definition of the parameters needed at runtime to resolve the Resource. ''' super(Resource, self).__init__(id, **kwargs) self.name = name self.resourceParameters = kwargs.pop('resourceParameters', []) if self.__class__.__name__ == 'Resource': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' text:str This attribute is used to capture the text descriptions of a BPMN element. textFormat:str (default='text/plain') This attribute identifies the format of the text. It MUST follow the mime-type format. ''' super(Documentation, self).__init__(id, **kwargs) self.text = kwargs.pop('text', '') self.textFormat = kwargs.pop('textFormat', 'text/plain') if self.__class__.__name__ == 'Documentation': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, **kwargs): ''' name:str The descriptive name of the element. categoryValue: CategoryValue list The categoryValue attribute specifies one or more values of the Category. ''' super(Category, self).__init__(id, **kwargs) self.name = name self.categoryValue = kwargs.pop('categoryValue', []) if self.__class__.__name__ == 'Category': residual_args(self.__init__, **kwags)
def __init__(self, id, name, **kwargs): ''' name:str Name is a text description of the PartnerRole. participantRef:Participant list Specifies how the PartnerRole participates in Collaborations and Choreographies. ''' super(PartnerRole, self).__init__(id, **kwargs) self.name = name self.participantRef = kwargs.pop('participantRef', []) if self.__class__.__name__ == 'PartnerRole': residual_args(self.__init__, **kwargs)
def __init__(self, id, correlationKeyRef, **kwargs): ''' correlationKeyRef:CorrelationKey The CorrelationKey this CorrelationSubscription refers to. correlationPropertyBinding:CorrelationPropertyBinding list The bindings to specific CorrelationProperties and FormalExpressions (extraction rules atop the Process context). ''' super(CorrelationSubscription,self).__init__(id, **kwargs) self.correlationKeyRef = correlationKeyRef self.correlationPropertyBinding = kwargs.pop('correlationPropertyBinding',[]) if self.__class__.__name__=='CorrelationSubscription': residual_args(self.__init__, **kwargs)
def __init__(self, id, messagePath, messageRef, **kwargs): ''' messagePath:FormalExpression The FormalExpression that defines how to extract a CorrelationProperty from the Message payload. messageRef:Message The specific Message the FormalExpression extracts the CorrelationProperty from. ''' super(CorrelationPropertyRetrievalExpression,self).__init__(id, **kwargs) self.messagePath = messagePath self.messageRef = messageRef if self.__class__.__name__=='CorrelationPropertyRetrievalExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' name:str Specifies the name of the CorrelationKey. correlationPropertyRef:CorrelationProperty list The CorrelationProperties, representing the partial keys of this CorrelationKey. ''' super(CorrelationKey,self).__init__(id, **kwargs) self.name = kwargs.pop('name',None) self.correlationPropertyRef = kwargs.pop('correlationPropertyRef',[]) if self.__class__.__name__=='CorrelationKey': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, **kwargs): ''' name:str Name is a text description of the Message. itemRef:ItemDefinition An ItemDefinition is used to define the "payload" of the Message. ''' super(Message, self).__init__(id, **kwargs) self.name = name self.itemRef = kwargs.pop('itemRef', None) if self.__class__.__name__ == 'Message': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' incoming:SequenceFlow list This attribute identifies the incoming Sequence Flow of the FlowNode. outgoing:SequenceFlow list This attribute identifies the outgoing Sequence Flow of the FlowNode. This is an ordered collection. ''' super(FlowNode, self).__init__(id, **kwargs) self.incoming = kwargs.pop('incoming', []) self.outgoing = kwargs.pop('outgoing', []) if self.__class__.__name__ == 'FlowNode': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' incoming:SequenceFlow list This attribute identifies the incoming Sequence Flow of the FlowNode. outgoing:SequenceFlow list This attribute identifies the outgoing Sequence Flow of the FlowNode. This is an ordered collection. ''' super(FlowNode, self).__init__(id, **kwargs) self.incoming = kwargs.pop('incoming',[]) self.outgoing = kwargs.pop('outgoing',[]) if self.__class__.__name__=='FlowNode': residual_args(self.__init__, **kwargs)
def __init__(self, mustUnderstand=False, **kwargs): ''' musUnderstand:bool (default=False) This flag defines if the semantics defined by the extension definition and its attribute definition MUST be understood by the BPMN adopter in order to process the BPMN model correctly. definition:ExtensionDefinition Defines the content of the extension. ''' super(Extension,self).__init__() self.mustUnderstand = mustUnderstand self.definition = kwargs.pop('definition',None) if self.__class__.__name__ == 'Extension': residual_args(self.__init__,**kwargs)
def __init__(self, name, **kwargs): ''' name:str The name of the extension. This is used as a namespace to uniquely identify the extension content. extensionAttributeDefinitions:ExtensionAttributeDefinition list The specific attributes that make up the extension. ''' super(ExtensionDefinition, self).__init__() self.name = name self.extensionAttributeDefinitions = kwargs.pop( 'extentionAttributeDefinitions', []) if self.__class__.__name__ == 'ExtensionDefinition': residual_args(self.__init__, **kwargs)
def __init__(self, mustUnderstand=False, **kwargs): ''' musUnderstand:bool (default=False) This flag defines if the semantics defined by the extension definition and its attribute definition MUST be understood by the BPMN adopter in order to process the BPMN model correctly. definition:ExtensionDefinition Defines the content of the extension. ''' super(Extension, self).__init__() self.mustUnderstand = mustUnderstand self.definition = kwargs.pop('definition', None) if self.__class__.__name__ == 'Extension': residual_args(self.__init__, **kwargs)
def __init__(self, id, messagePath, messageRef, **kwargs): ''' messagePath:FormalExpression The FormalExpression that defines how to extract a CorrelationProperty from the Message payload. messageRef:Message The specific Message the FormalExpression extracts the CorrelationProperty from. ''' super(CorrelationPropertyRetrievalExpression, self).__init__(id, **kwargs) self.messagePath = messagePath self.messageRef = messageRef if self.__class__.__name__ == 'CorrelationPropertyRetrievalExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id, correlationKeyRef, **kwargs): ''' correlationKeyRef:CorrelationKey The CorrelationKey this CorrelationSubscription refers to. correlationPropertyBinding:CorrelationPropertyBinding list The bindings to specific CorrelationProperties and FormalExpressions (extraction rules atop the Process context). ''' super(CorrelationSubscription, self).__init__(id, **kwargs) self.correlationKeyRef = correlationKeyRef self.correlationPropertyBinding = kwargs.pop( 'correlationPropertyBinding', []) if self.__class__.__name__ == 'CorrelationSubscription': residual_args(self.__init__, **kwargs)
def __init__(self, id, innerMessageFlowRef, outerMessageFlowRef, **kwargs): ''' innerMessageFlowRef:MessageFlow This attribute defines the Message Flow of the referenced element (e.g., a Choreography to be used in a Collaboration) that will be mapped to the parent element (e.g., the Collaboration). outerMessageFlowRef:MessageFlow This attribute defines the Message Flow of the parent element (e.g., a Collaboration references a Choreography) that will be mapped to the referenced element (e.g., the Choreography). ''' super(MessageFlowAssociation, self).__init__(id, **kwargs) self.innerMessageFlowRef = innerMessageFlowRef self.outerMessageFlowRef = outerMessageFlowRef if self.__class__.__name__ == 'MessageFlowAssociation': residual_args(self.__init__, **kwargs)
def __init__(self, id, innerMessageFlowRef, outerMessageFlowRef, **kwargs): ''' innerMessageFlowRef:MessageFlow This attribute defines the Message Flow of the referenced element (e.g., a Choreography to be used in a Collaboration) that will be mapped to the parent element (e.g., the Collaboration). outerMessageFlowRef:MessageFlow This attribute defines the Message Flow of the parent element (e.g., a Collaboration references a Choreography) that will be mapped to the referenced element (e.g., the Choreography). ''' super(MessageFlowAssociation, self).__init__(id, **kwargs) self.innerMessageFlowRef = innerMessageFlowRef self.outerMessageFlowRef = outerMessageFlowRef if self.__class__.__name__=='MessageFlowAssociation': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' triggeredByEvent:bool (default=False) A flag that identifies whether this Sub-Process is an Event Sub-Process. If false, then this Sub-Process is a normal Sub-Process. If true, then this Sub-Process is an Event Sub-Process and is subject to additional constraints. artifacts:Artifact list This attribute provides the list of Artifacts that are contained within the Sub-Process. ''' super(SubProcess, self).__init__(id, **kwargs) self.triggeredByEvent = kwargs.pop('triggeredByEvent',False) self.artifacts = kwargs.pop('artifacts',[]) if self.__class__.__name__=='SubProcess': residual_args(self.__init__, **kwargs)
def __init__(self, id, gatewayDirection='Unspecified', **kwargs): ''' gatewayDirection:GatewayDirection enum (default='Unspecified') {'Unspecified'|'Converging'|'Diverging'|'Mixed'} An attribute that adds constraints on how the Gateway MAY be used : Unspecified: There are no constraints. The Gateway MAY have any number of incoming and outgoing Sequence Flows. Converging: This Gateway MAY have multiple incoming Sequence Flows but MUST have no more than one outgoing Sequence Flow. Diverging: This Gateway MAY have multiple outgoing Sequence Flows but MUST have no more than one incoming Sequence Flow. Mixed: This Gateway contains multiple outgoing and multiple incoming Sequence Flows. ''' super(Gateway,self).__init__(id, **kwargs) if gatewayDirection in GatewayDirection: self.gatewayDirection = gatewayDirection else: raise Exception #to be detailed if self.__calss__.__name__=='Gateway': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' innerConversationNodeRef:ConversationNode This attribute defines the ConversationNodes of the referenced element (e.g., a Choreography to be used in a Collaboration) that will be mapped to the parent element (e.g., the Collaboration). outerConversationNodeRef:ConversationNode list This attribute defines the ConversationNodes of the parent element (e.g., a Collaboration references a Choreography) that will be mapped to the referenced element (e.g., the Choreography). ''' super(ConversationAssociation, self).__init__(id, **kwargs) self.innerConversationNodeRef = kwargs.pop('innerConversationNodeRef', None) self.outerConversationNodeRef = kwargs.pop('outerConversationNodeRef', []) if self.__class__.__name__=='ConversationAssociation': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' scriptFormat:str Defines the format of the script. This attribute value MUST be specified with a mime-type format. And it MUST be specified if a script is provided. script:str The modeler MAY include a script that can be run when the Task is performed (typicaly python in this particular implementation). If a script is not included, then the Task will act as the equivalent of an Abstract Task. ''' super(ScriptTask, self).__init__(id, **kwargs) self.scriptFormat = kwargs.pop('scriptFormat', None) self.script = kwargs.pop('script', None) if self.__class__.__name__ == 'ScriptTask': residual_args(self.__init__, **kwargs)
def __init__(self, id, gatewayDirection='Unspecified', **kwargs): ''' gatewayDirection:GatewayDirection enum (default='Unspecified') {'Unspecified'|'Converging'|'Diverging'|'Mixed'} An attribute that adds constraints on how the Gateway MAY be used : Unspecified: There are no constraints. The Gateway MAY have any number of incoming and outgoing Sequence Flows. Converging: This Gateway MAY have multiple incoming Sequence Flows but MUST have no more than one outgoing Sequence Flow. Diverging: This Gateway MAY have multiple outgoing Sequence Flows but MUST have no more than one incoming Sequence Flow. Mixed: This Gateway contains multiple outgoing and multiple incoming Sequence Flows. ''' super(Gateway, self).__init__(id, **kwargs) if gatewayDirection in GatewayDirection: self.gatewayDirection = gatewayDirection else: raise Exception #to be detailed if self.__calss__.__name__ == 'Gateway': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' name:str Name is a text description of the Participant. The name of the Participant can be displayed directly or it can be substituted by the associated PartnerRole or PartnerEntity. Potentially, both the PartnerEntity name and PartnerRole name can be displayed for the Participant. processRef:Process The processRef attribute identifies the Process that the Participant uses in the Collaboration. The Process will be displayed within the Participant's Pool. partnerRoleRef:PartnerRole list The partnerRoleRef attribute identifies a PartnerRole that the Participant plays in the Collaboration. Both a PartnerRole and a PartnerEntity MAY be defined for the Participant. This attribute is derived from the participantRefs of PartnerRole. The partnerRoleRef attribute identifies a PartnerRole that the Participant plays in the Collaboration. Both a PartnerRole and a PartnerEntity MAY be defined for the Participant. This attribute is derived from the participantRefs of PartnerRole. partnerEntityRef:PartnerEntity list The partnerEntityRef attribute identifies a PartnerEntity that the Participant plays in the Collaboration. Both a PartnerRole and a PartnerEntity MAY be defined for the Participant. This attribute is derived from the participantRefs of PartnerEntity. interfaceRef:Interface list This association defines Interfaces that a Participant supports. participantMultiplicityRef:ParticipantMultiplicity The participantMultiplicityRef model association is used to define Participants that represent more than one instance of the Participant for a given interaction. endPointRefs:EndPoint list This attribute is used to specify the address (or endpoint reference) of concrete services realizing the Participant. ''' super(Participant,self).__init__(id, **kwargs) self.name = kwargs.pop('name', None) self.processRef = kwargs.pop('processRef', None) self.partnerRoleRef = kwargs.pop('partnerRoleRef', []) self.partnerEntityRef = kwargs.pop('partnerEntityRef', []) self.interfaceRef = kwargs.pop('interfaceRef', []) self.participantMultiplicityRef = kwargs.pop('participantMultiplicityRef', None) self.endPointRefs = kwargs.pop('endPointRefs', []) if self.__class__.__name__=='Participant': residual_args(self.__init__, **kwargs)
def __init__(self, name, type, isReference=False, **kwargs): ''' name:str The name of the extension attribute. type:str The type that is associated with the attribute. isReference:bool Indicates if the attribute value will be referenced or contained. ''' super(ExtensionAttributeDefinition,self).__init__() self.name = name self.type = type self.isReference = isReference if self.__class__.__name__=='ExtensionAttributeDefinition': residual_args(self.__init__, **kwargs)
def __init__(self, id, participantRefs, **kwargs): ''' calledCollaborationRef:Collaboratioin The element to be called, which MAY be either a Collaboration or a GlobalConversation. The called element MUST NOT be a Choreography or a GlobalChoreographyTask (which are subtypes of Collaboration) participantAssociations:ParticipantAssociation list This attribute provides a list of mappings from the Participants of a referenced GlobalConversation or Conversation to the Participants of the parent Conversation. //Note - The ConversationNode attribute messageFlowRef doesn't apply to Call Conversations. ''' super(CallConversation, self).__init__(id, participantRefs, messageFlowRef=[], **kwargs) self.calledCollaborationRef = kwargs.pop('calledCollaborationRef', None) self.participantAssociations = kwargs.pop('participantAssociations', []) if self.__class__.__name__=='CallConversation': residual_args(self.__init__, **kwargs)
def __init__(self, id, **kwargs): ''' flowElements:FlowElement list This association specifies the particular flow elements contained in a FlowElementContainer. Flow elements are Events, Gateways, SequenceFlows, Activities, Data Objects, Data Associations, and ChoreographyActivities. Note that: Choreography Activities MUST NOT be included as a flowElement for a Process. Activities, Data Associations, and Data Objects MUST NOT be included as a flowElement for a Choreography. laneSets:LaneSet list This attribute defines the list of LaneSets used in the FlowElementsContainer LaneSets are not used for Choreographies or Sub-Choreographies. ''' super(FlowElementsContainer,self).__init__(id, **kwargs) self.flowElements = kwargs.pop('flowElements',[]) self.laneSets = kwargs.pop('laneSets',[]) if self.__class__.__name__=='FlowElementsContainer': residual_args(self.__init__, **kwargs)
def __init__(self, id, name, type, isRequired, **kwargs): ''' name:str Specifies the name of the query parameter. type:ItemDefinition Specifies the type of the query parameter. isRequired:bool Specifies, if a parameter is optional or mandatory. ''' super(ResourceParameter, self).__init__(id, **kwargs) self.name = name self.type = type self.isRequired = isRequired if self.__class__.__name__=='ResourceParameter': residual_args(self.__init__, **kwargs)
def __init__(self,extensionAttributeDefinition, **kwargs): ''' extensionAttributeDefinition:ExtensionAttributeDefinition Defines the extension attribute for which this value is being provided. value:Element The contained attribute value, used when the associated ExtensionAttributeDefinition.isReference is false. The type of this Element object MUST conform to the type specified in the associated ExtensionAttributeDefinition. valueRef:Element The referenced attribute value, used when the associated ExtensionAttributeDefinition.isReference is true. The type of this Element MUST conform to the type specified in the associated ExtensionAttributeDefinition. ''' super(ExtensionAttributeValue,self).__init__() self.extensionAttributeDefinition = extensionAttributeDefinition self.value = kwargs.pop('value',None) self.valueRef = kwargs.pop('valueRef',None) if self.__class__.__name__=='ExtensionAttributeValue': residual_args(self.__init__,**kwargs)
def __init__(self, id, body, evaluatesToTypeRef, **kwargs): ''' body:Element The body of the Expression. evaluatesToTypeRef:ItemDefinition The type of object that this Expression returns when evaluated. For example, conditional Expressions evaluate to a boolean. language:str Overrides the Expression language specified in the Definitions. The language MUST be specified in a URI format. ''' super(FormalExpression,self).__init__(self, id, **kwargs) self.body = body self.evaluatesToTypeRef = evaluatesToTypeRef self.language = kwargs.pop('language', None) if self.__class__.__name__=='FormalExpression': residual_args(self.__init__, **kwargs)
def __init__(self, id , implementation='##unspecified', **kwargs): ''' implementation:str (default='##unspecified') This attribute specifies the technology that will be used to implement the User Task. Valid values are "##unspecified" for leaving the implementation technology open, "##WebService" for the Web service technology or a URI identifying any other technology or coordination protocol. renderings:Rendering list This attributes acts as a hook which allows BPMN adopters to specify task rendering attributes by using the BPMN Extension mechanism. ''' super(UserTask, self).__init__(id, **kwargs) self.implementation = implementation self.renderings = kwargs.pop('renderings', []) #instances attributes self.actualOwner = None self.taskPriority = None if self.__class__.__name__ == 'UserTask': residual_args(self.__init__, **kwargs)