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.
In the context of BPMN this behavior is required for interrupting constructs like
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 and Description |
|---|
PvmAtomicOperationCancelScope() |
| Modifier and Type | Method and Description |
|---|---|
void |
execute(PvmExecutionImpl execution) |
protected abstract ActivityImpl |
getCancellingActivity(PvmExecutionImpl execution) |
boolean |
isAsync(PvmExecutionImpl execution) |
protected abstract void |
scopeCancelled(PvmExecutionImpl execution) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetCanonicalNamepublic void execute(PvmExecutionImpl execution)
execute in interface CoreAtomicOperation<PvmExecutionImpl>protected abstract void scopeCancelled(PvmExecutionImpl execution)
protected abstract ActivityImpl getCancellingActivity(PvmExecutionImpl execution)
public boolean isAsync(PvmExecutionImpl execution)
isAsync in interface CoreAtomicOperation<PvmExecutionImpl>Copyright © 2018. All rights reserved.