Class AbstractActivityRun<WD extends WorkDefinition,AH extends ActivityHandler<WD,AH>,WS extends AbstractActivityWorkStateType>

java.lang.Object
com.evolveum.midpoint.repo.common.activity.run.AbstractActivityRun<WD,AH,WS>
Type Parameters:
WD - Definition of the work that this activity has to do.
AH - Type of the activity handler.
WS - Type of the activity work (business) state.
All Implemented Interfaces:
ExecutionSupport, DebugDumpable
Direct Known Subclasses:
DelegatingActivityRun, DistributingActivityRun, LocalActivityRun

public abstract class AbstractActivityRun<WD extends WorkDefinition,AH extends ActivityHandler<WD,AH>,WS extends AbstractActivityWorkStateType> extends Object implements ExecutionSupport, DebugDumpable
Implements/represents a run (execution) of an activity in a task. Responsibilities _at this [highest] level of abstraction_: . Maintains links to other activity framework objects: - taskRun (ActivityBasedTaskRun) - activity (Activity) - activityState (ActivityState) (and its ActivityStateDefinition), including the state holding thresholds-supporting counters . Provides methods for navigation to more distant objects of the framework and other auxiliary objects (beans). . Provides skeleton of the execution - see run(OperationResult), managing (among others): a. activity state initialization and closing, b. execution of "before run" code, c. conversion of exceptions into ActivityRunResult (such conversion is done at various other levels, btw), d. start/end logging, e. updating task statistics, f. sending notifications. + Some of these duties are related to ones of LocalActivityRun.runInternal(OperationResult)