org.camunda.bpm.engine.impl.pvm.runtime
Class AtomicOperationCreateConcurrentExecution

java.lang.Object
  extended by org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationCreateConcurrentExecution
All Implemented Interfaces:
AtomicOperation
Direct Known Subclasses:
AtomicOperationActivityStartConcurrent

public abstract class AtomicOperationCreateConcurrentExecution
extends Object
implements AtomicOperation

Base atomic operation used for implementing atomic operations which create a new concurrent execution for executing an activity. This atomic operation makes sure the execution is created under the correct parent.

Author:
Daniel Meyer, Roman Smirnov

Field Summary
 
Fields inherited from interface org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperation
ACTIVITY_END, ACTIVITY_EXECUTE, ACTIVITY_START, ACTIVITY_START_CANCEL_SCOPE, ACTIVITY_START_CONCURRENT, DELETE_CASCADE, DELETE_CASCADE_FIRE_ACTIVITY_END, FIRE_ACTIVITY_END, PROCESS_END, PROCESS_START, PROCESS_START_INITIAL, TRANSITION_CANCEL_SCOPE, TRANSITION_CREATE_SCOPE, TRANSITION_DESTROY_SCOPE, TRANSITION_NOTIFY_LISTENER_END, TRANSITION_NOTIFY_LISTENER_START, TRANSITION_NOTIFY_LISTENER_TAKE
 
Constructor Summary
AtomicOperationCreateConcurrentExecution()
           
 
Method Summary
protected abstract  void concurrentExecutionCreated(InterpretableExecution propagatingExecution)
           
protected  InterpretableExecution createConcurrentExecution(InterpretableExecution execution, PvmActivity concurrentActivity)
           
 void execute(InterpretableExecution execution)
           
protected  PvmScope getCurrentScope(InterpretableExecution execution)
           
 boolean isAsync(InterpretableExecution execution)
           
protected  boolean isConcurrentRoot(InterpretableExecution execution)
           
protected  boolean isLeaf(InterpretableExecution execution)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperation
getCanonicalName
 

Constructor Detail

AtomicOperationCreateConcurrentExecution

public AtomicOperationCreateConcurrentExecution()
Method Detail

execute

public void execute(InterpretableExecution execution)
Specified by:
execute in interface AtomicOperation

concurrentExecutionCreated

protected abstract void concurrentExecutionCreated(InterpretableExecution propagatingExecution)

createConcurrentExecution

protected InterpretableExecution createConcurrentExecution(InterpretableExecution execution,
                                                           PvmActivity concurrentActivity)

isConcurrentRoot

protected boolean isConcurrentRoot(InterpretableExecution execution)
Returns:
true if the execution is the root of a concurrency tree

isLeaf

protected boolean isLeaf(InterpretableExecution execution)
Returns:
true if this execution does not have children

getCurrentScope

protected PvmScope getCurrentScope(InterpretableExecution execution)
Returns:
the scope for this execution

isAsync

public boolean isAsync(InterpretableExecution execution)
Specified by:
isAsync in interface AtomicOperation


Copyright © 2014 camunda services GmbH. All Rights Reserved.