Interface ModificationObserverBehavior

All Superinterfaces:
ActivityBehavior, CoreActivityBehavior<ActivityExecution>
All Known Implementing Classes:
MultiInstanceActivityBehavior, ParallelMultiInstanceActivityBehavior, SequentialMultiInstanceActivityBehavior

public interface ModificationObserverBehavior extends ActivityBehavior
When a (scope) activity behavior implements this behavior, its scope execution is notified in case of an external modification about the following:
  • the scope execution is newly created
  • a new concurrent execution is created in that scope
  • a concurrent execution is removed in that scope
Author:
Thorben Lindhauer
  • Method Details

    • initializeScope

      List<ActivityExecution> initializeScope(ActivityExecution scopeExecution, int nrOfInnerInstances)
      Implement to customize initialization of the scope. Called with the scope execution already created. Implementations may set variables, etc. Implementations should provide return as many executions as there are requested by the argument. Valid number of instances are >= 0.
    • createInnerInstance

      ActivityExecution createInnerInstance(ActivityExecution scopeExecution)
      Returns an execution that can be used to execute an activity within that scope. May reorganize other executions in that scope (e.g. implement to override the default pruning behavior).
    • destroyInnerInstance

      void destroyInnerInstance(ActivityExecution concurrentExecution)
      implement to destroy an execution in this scope and handle the scope's reorganization (e.g. implement to override the default pruning behavior). The argument execution is not yet removed.