org.eclipse.viatra.transformation.evm.specific.scheduler

## Class UpdateCompleteBasedScheduler

- java.lang.Object
- - org.eclipse.viatra.transformation.evm.api.Scheduler
  - - org.eclipse.viatra.transformation.evm.specific.scheduler.UpdateCompleteBasedScheduler

- All Implemented Interfaces:
    IUpdateCompleteListener

      public class UpdateCompleteBasedScheduler
      extends Scheduler
      implements IUpdateCompleteListener

  This scheduler uses update complete events to schedule its executor. It provides two default implementations, one using the NavigationHelper after update callback, the other uses Transaction commit events.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `UpdateCompleteBasedScheduler.UpdateCompleteBasedSchedulerFactory` This scheduler factory implementation uses an update complete provider that sends notifications to the prepared schedulers.

    - ### Nested classes/interfaces inherited from class org.eclipse.viatra.transformation.evm.api.Scheduler

      `Scheduler.ISchedulerFactory`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `UpdateCompleteBasedScheduler(ScheduledExecution execution)` Creates a scheduler for the given executor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `dispose()` Disposes of the scheduler by disposing its executor.
    `void` | `updateComplete()` This method is called when an update complete event occurs.

    - ### Methods inherited from class org.eclipse.viatra.transformation.evm.api.Scheduler

      `getExecution, schedule`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### UpdateCompleteBasedScheduler

          protected UpdateCompleteBasedScheduler(ScheduledExecution execution)

      Creates a scheduler for the given executor.

  - ### Method Detail

    - #### updateComplete

          public void updateComplete()

      Description copied from interface: `IUpdateCompleteListener`
      This method is called when an update complete event occurs.
      Specified by:
        `updateComplete` in interface `IUpdateCompleteListener`

    - #### dispose

          public void dispose()

      Description copied from class: `Scheduler`
      Disposes of the scheduler by disposing its executor.
      Overrides:
        `dispose` in class `Scheduler`