Class Schedulers


  • public class Schedulers
    extends Object
    Used to create Scheduler. The scheduler factory.
    • Method Detail

      • newFocessScheduler

        public static Scheduler newFocessScheduler​(@NotNull
                                                   Plugin plugin)
        New a FocessScheduler, the scheduler will run all tasks in time order. For example, if the finish-time of the last task is after the start-time of the next task, the next task will only be executed after the last task is finished. As a result, the task running in this scheduler cannot be cancelled if it is already running.
        Parameters:
        plugin - the plugin
        Returns:
        a FocessScheduler
        See Also:
        newFocessScheduler(Plugin)
      • newFocessScheduler

        public static Scheduler newFocessScheduler​(@NotNull
                                                   Plugin plugin,
                                                   @NotNull
                                                   String name)
        New a FocessScheduler, the scheduler will run all tasks in time order. For example, if the finish-time of the last task is after the start-time of the next task, the next task will only be executed after the last task is finished. As a result, the task running in this scheduler cannot be cancelled if it is already running.
        Parameters:
        plugin - the plugin
        name - the scheduler name
        Returns:
        a FocessScheduler
        See Also:
        newFocessScheduler(Plugin)
      • newThreadPoolScheduler

        public static Scheduler newThreadPoolScheduler​(@NotNull
                                                       Plugin plugin,
                                                       int poolSize)
        New a ThreadPoolScheduler, the scheduler can run tasks in parallel. The next task will be executed when there is an available thread. As a result, the task running in this scheduler can be cancelled if it is already running.
        Parameters:
        plugin - the plugin
        poolSize - the thread pool size
        Returns:
        a ThreadPoolScheduler
        See Also:
        newThreadPoolScheduler(Plugin, int, boolean, String)
      • newThreadPoolScheduler

        public static Scheduler newThreadPoolScheduler​(@NotNull
                                                       Plugin plugin,
                                                       int poolSize,
                                                       boolean immediate,
                                                       @NotNull
                                                       String name)
        New a ThreadPoolScheduler, the scheduler can run tasks in parallel. The next task will be executed immediately if the immediate is true, otherwise the next task will be executed when there is an available thread. As a result, the task running in this scheduler can be cancelled if it is already running.
        Parameters:
        plugin - the plugin
        poolSize - the thread pool size
        immediate - true if the scheduler should run immediately, false otherwise
        name - the scheduler name
        Returns:
        a ThreadPoolScheduler
        See Also:
        newThreadPoolScheduler(Plugin, int)
      • close

        public static void close​(Plugin plugin)
        Close all the schedulers belonging to the plugin
        Parameters:
        plugin - the plugin
      • closeAll

        public static boolean closeAll()
        Close all the schedulers
        Returns:
        true if there are some schedulers not belonging to MainPlugin not been closed, false otherwise