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

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

public abstract class PvmAtomicOperationCancelScope
extends Object
implements PvmAtomicOperation

Base class for implementing an atomic operation which performs cancel scope behavior.

Cancel scope behavior is different from "destroy scope" behavior. Destroy scope will delete the scope execution for the current scope. cancel scope will not delete the scope execution itself but will rather

So as opposed to destroy scope we will not delete the current scope execution but cancel anything that is happening in the current scope and then, still in the current scope, execute the canceling activity.

Usage in BPMN:

In the context of BPMN this behavior is required for interrupting constructs like

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
PvmAtomicOperationCancelScope()
           
 
Method Summary
 void execute(PvmExecutionImpl execution)
           
protected abstract  ActivityImpl getCancellingActivity(PvmExecutionImpl execution)
           
 boolean isAsync(PvmExecutionImpl execution)
           
protected abstract  void scopeCancelled(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

PvmAtomicOperationCancelScope

public PvmAtomicOperationCancelScope()
Method Detail

execute

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

scopeCancelled

protected abstract void scopeCancelled(PvmExecutionImpl execution)

getCancellingActivity

protected abstract ActivityImpl getCancellingActivity(PvmExecutionImpl execution)

isAsync

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


Copyright © 2014 camunda services GmbH. All rights reserved.