org.camunda.bpm.engine.impl.pvm.runtime.operation
Class PvmAtomicOperationCreateConcurrentExecution

java.lang.Object
  extended by org.camunda.bpm.engine.impl.pvm.runtime.operation.PvmAtomicOperationCreateConcurrentExecution
All Implemented Interfaces:
CoreAtomicOperation<PvmExecutionImpl>, AtomicOperation, PvmAtomicOperation
Direct Known Subclasses:
PvmAtomicOperationActivityStartConcurrent

public abstract class PvmAtomicOperationCreateConcurrentExecution
extends Object
implements PvmAtomicOperation

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.operation.PvmAtomicOperation
ACTIVITY_END, ACTIVITY_EXECUTE, ACTIVITY_NOTIFY_LISTENER_END, 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
PvmAtomicOperationCreateConcurrentExecution()
           
 
Method Summary
protected abstract  void concurrentExecutionCreated(PvmExecutionImpl propagatingExecution)
           
protected  PvmExecutionImpl createConcurrentExecution(PvmExecutionImpl execution, ActivityImpl concurrentActivity)
           
 void execute(PvmExecutionImpl execution)
           
protected  ScopeImpl getCurrentScope(PvmExecutionImpl execution)
           
 boolean isAsync(PvmExecutionImpl execution)
           
protected  boolean isConcurrentRoot(PvmExecutionImpl execution)
           
protected  boolean isLeaf(PvmExecutionImpl 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.core.operation.CoreAtomicOperation
getCanonicalName
 

Constructor Detail

PvmAtomicOperationCreateConcurrentExecution

public PvmAtomicOperationCreateConcurrentExecution()
Method Detail

execute

public void execute(PvmExecutionImpl execution)
Specified by:
execute in interface CoreAtomicOperation<PvmExecutionImpl>

concurrentExecutionCreated

protected abstract void concurrentExecutionCreated(PvmExecutionImpl propagatingExecution)

createConcurrentExecution

protected PvmExecutionImpl createConcurrentExecution(PvmExecutionImpl execution,
                                                     ActivityImpl concurrentActivity)

isConcurrentRoot

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

isLeaf

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

getCurrentScope

protected ScopeImpl getCurrentScope(PvmExecutionImpl execution)
Returns:
the scope for this execution

isAsync

public boolean isAsync(PvmExecutionImpl execution)
Specified by:
isAsync in interface CoreAtomicOperation<PvmExecutionImpl>


Copyright © 2014 camunda services GmbH. All rights reserved.