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, wait
getCanonicalName
public 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.