Package org.eclipse.viatra.transformation.evm.api

## Class Scheduler

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

- Direct Known Subclasses:
    `TimedScheduler`, `UpdateCompleteBasedScheduler`

      public abstract class Scheduler
      extends java.lang.Object

  The scheduler is used to define when the executor of a schema should start its execution strategy.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `static interface` | `Scheduler.ISchedulerFactory` | Factory interface for preparing a scheduler for a given executor.

  - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `dispose()` | Disposes of the scheduler by disposing its executor.
    `ScheduledExecution` | `getExecution()` |
    `protected void` | `schedule()` | Notifies executor of "tick".

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

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

- - ### Constructor Detail

    - #### Scheduler

          protected Scheduler​(ScheduledExecution execution)

      Creates a scheduler for the given executor.
      Parameters:
        `executor` -

  - ### Method Detail

    - #### schedule

          protected void schedule()

      Notifies executor of "tick". Subclasses should call this method to generate "ticks".

    - #### getExecution

          public ScheduledExecution getExecution()

    - #### dispose

          public void dispose()

      Disposes of the scheduler by disposing its executor.