Class AbstractBPMNtoNESTConverter<T extends NESTAbstractWorkflowObject>

java.lang.Object
de.uni_trier.wi2.procake.utils.conversion.bpmn.AbstractBPMNtoNESTConverterBase<T>
de.uni_trier.wi2.procake.utils.conversion.bpmn.AbstractBPMNtoNESTConverter<T>
All Implemented Interfaces:
OneWayConverter<org.camunda.bpm.model.bpmn.BpmnModelInstance,T>
Direct Known Subclasses:
DefaultBPMNtoNESTConverter

public abstract class AbstractBPMNtoNESTConverter<T extends NESTAbstractWorkflowObject> extends AbstractBPMNtoNESTConverterBase<T>
Abstract implementation of a converter for converting a block-oriented BPMN2 object into a NESTWorkflow object. Requires a BPMN2 process to have a single controlflow sequence. This means there has to be a single start event and a single end event.

The following BPMN 2.0 elements are supported:

  • - StartEvent, EndEvent (no intermediate events)
  • - Task, ServiceTask, ScriptTask, ManualTask
  • - SubProcess
  • - ExclusiveGateway, EventBasedGateway, ParallelGateway
  • - SequenceFlow
Author:
Florian Brand, Lukas Malburg, Christian Zeyen
  • Constructor Details

    • AbstractBPMNtoNESTConverter

      public AbstractBPMNtoNESTConverter(Model model)
  • Method Details

    • getXorStartNodeClassName

      protected abstract String getXorStartNodeClassName(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getXorStartNodeSemantic

      protected abstract DataObject getXorStartNodeSemantic(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getXorEndNodeClassName

      protected abstract String getXorEndNodeClassName(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getXorEndNodeSemantic

      protected abstract DataObject getXorEndNodeSemantic(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getXorStartNodeClassName

      protected abstract String getXorStartNodeClassName(org.camunda.bpm.model.bpmn.instance.EventBasedGateway currentNode)
    • getXorStartNodeSemantic

      protected abstract DataObject getXorStartNodeSemantic(org.camunda.bpm.model.bpmn.instance.EventBasedGateway currentNode)
    • getXorEndNodeClassName

      protected abstract String getXorEndNodeClassName(org.camunda.bpm.model.bpmn.instance.EventBasedGateway currentNode)
    • getXorEndNodeSemantic

      protected abstract DataObject getXorEndNodeSemantic(org.camunda.bpm.model.bpmn.instance.EventBasedGateway currentNode)
    • getAndStartNodeClassName

      protected abstract String getAndStartNodeClassName(org.camunda.bpm.model.bpmn.instance.ParallelGateway currentNode)
    • getAndStartNodeSemantic

      protected abstract DataObject getAndStartNodeSemantic(org.camunda.bpm.model.bpmn.instance.ParallelGateway currentNode)
    • getAndEndNodeClassName

      protected abstract String getAndEndNodeClassName(org.camunda.bpm.model.bpmn.instance.ParallelGateway currentNode)
    • getAndEndNodeSemantic

      protected abstract DataObject getAndEndNodeSemantic(org.camunda.bpm.model.bpmn.instance.ParallelGateway currentNode)
    • getLoopStartNodeClassName

      protected abstract String getLoopStartNodeClassName(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getLoopStartNodeSemantic

      protected abstract DataObject getLoopStartNodeSemantic(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getLoopEndNodeClassName

      protected abstract String getLoopEndNodeClassName(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • getLoopEndNodeSemantic

      protected abstract DataObject getLoopEndNodeSemantic(org.camunda.bpm.model.bpmn.instance.ExclusiveGateway currentNode)
    • convert

      protected NESTAbstractWorkflowObject convert(org.camunda.bpm.model.bpmn.instance.BaseElement process, String workflowNodeClassName, DataObject workflowNodeSemantic, boolean subprocess)
      Specified by:
      convert in class AbstractBPMNtoNESTConverterBase<T extends NESTAbstractWorkflowObject>