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

java.lang.Object
  extended by org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationCancelScope
All Implemented Interfaces:
AtomicOperation
Direct Known Subclasses:
AtomicOperationActivityStartCancelScope, AtomicOperationTransitionCancelScope

public abstract class AtomicOperationCancelScope
extends Object
implements AtomicOperation

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.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
AtomicOperationCancelScope()
           
 
Method Summary
 void execute(InterpretableExecution execution)
           
protected abstract  PvmActivity getCancellingActivity(InterpretableExecution execution)
           
 boolean isAsync(InterpretableExecution execution)
           
protected abstract  void scopeCancelled(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

AtomicOperationCancelScope

public AtomicOperationCancelScope()
Method Detail

execute

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

scopeCancelled

protected abstract void scopeCancelled(InterpretableExecution execution)

getCancellingActivity

protected abstract PvmActivity getCancellingActivity(InterpretableExecution execution)

isAsync

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


Copyright © 2014 camunda services GmbH. All Rights Reserved.