Class ModuleScheduler

java.lang.Object
enterprises.iwakura.modularbot.concurrent.ModuleScheduler

public final class ModuleScheduler extends Object
Scheduler for Module's tasks
  • Field Details

    • THREAD_NAME_FORMAT

      public static final String THREAD_NAME_FORMAT
  • Constructor Details

    • ModuleScheduler

      public ModuleScheduler(@NonNull @NonNull Module module)
      Creates new ModuleScheduler
      Parameters:
      module - Non-null Module
  • Method Details

    • runAsync

      public void runAsync(Runnable runnable)
      Creates asynchronous task
      Parameters:
      runnable - Non-null Runnable
    • schedule

      public void schedule(Runnable runnable, long delay, long period)
      Schedules periodical task
      Parameters:
      runnable - Non-null Runnable
      delay - Delay before the first execution
      period - Period between executions
    • schedule

      public void schedule(Runnable runnable, long delay)
      Schedules periodical task
      Parameters:
      runnable - Non-null Runnable
      delay - Delay before the first execution
    • scheduleFixed

      public void scheduleFixed(Runnable runnable, long delay, long period)
      Schedules fixed periodical task
      Parameters:
      runnable - Non-null Runnable
      delay - Delay before the first execution
      period - Fixed period between executions
    • cancelTasks

      public void cancelTasks()
      Cancels all ModuleTasks
    • removeTask

      public void removeTask(ModuleTask moduleTask)
      Removes ModuleTask
      Parameters:
      moduleTask - Non-null ModuleTask