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