Record Class ReactorBukkitScheduler
java.lang.Object
java.lang.Record
io.github.simplexdevelopment.scheduler.ReactorBukkitScheduler
- All Implemented Interfaces:
reactor.core.Disposable
,reactor.core.scheduler.Scheduler
,reactor.core.scheduler.Scheduler.Worker
public record ReactorBukkitScheduler(org.bukkit.plugin.java.JavaPlugin plugin, org.bukkit.scheduler.BukkitScheduler scheduler)
extends Record
implements reactor.core.scheduler.Scheduler, reactor.core.scheduler.Scheduler.Worker
-
Nested Class Summary
Nested classes/interfaces inherited from interface reactor.core.Disposable
reactor.core.Disposable.Composite, reactor.core.Disposable.Swap
Nested classes/interfaces inherited from interface reactor.core.scheduler.Scheduler
reactor.core.scheduler.Scheduler.Worker
-
Field Summary
-
Constructor Summary
ConstructorDescriptionReactorBukkitScheduler
(org.bukkit.plugin.java.JavaPlugin plugin, org.bukkit.scheduler.BukkitScheduler scheduler) Creates an instance of aReactorBukkitScheduler
record class. -
Method Summary
Modifier and TypeMethodDescription@NotNull reactor.core.scheduler.Scheduler.Worker
A newScheduler.Worker
.void
dispose()
This method does nothing and is unused.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.org.bukkit.plugin.java.JavaPlugin
plugin()
Returns the value of theplugin
record component.@NotNull reactor.core.Disposable
Delegates to theBukkitScheduler
.@NotNull reactor.core.Disposable
Delegates to theBukkitScheduler
with a delay.@NotNull reactor.core.Disposable
schedulePeriodically
(@NotNull Runnable task, long initialDelay, long period, @Nullable TimeUnit unit) Delegates to theBukkitScheduler
with a delay and a period.org.bukkit.scheduler.BukkitScheduler
Returns the value of thescheduler
record component.final String
toString()
Returns a string representation of this record class.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface reactor.core.Disposable
isDisposed
Methods inherited from interface reactor.core.scheduler.Scheduler
now, start
-
Field Details
-
plugin
private final org.bukkit.plugin.java.JavaPlugin pluginThe field for theplugin
record component. -
scheduler
private final org.bukkit.scheduler.BukkitScheduler schedulerThe field for thescheduler
record component.
-
-
Constructor Details
-
ReactorBukkitScheduler
public ReactorBukkitScheduler(org.bukkit.plugin.java.JavaPlugin plugin, org.bukkit.scheduler.BukkitScheduler scheduler) Creates an instance of aReactorBukkitScheduler
record class.- Parameters:
plugin
- the value for theplugin
record componentscheduler
- the value for thescheduler
record component
-
-
Method Details
-
schedule
Delegates to theBukkitScheduler
.- Specified by:
schedule
in interfacereactor.core.scheduler.Scheduler
- Specified by:
schedule
in interfacereactor.core.scheduler.Scheduler.Worker
- Parameters:
task
- The task to delegate.- Returns:
- A disposable that can be used to cancel the task.
-
schedule
@NotNull public @NotNull reactor.core.Disposable schedule(@NotNull @NotNull Runnable task, long delay, @Nullable @Nullable TimeUnit unit) Delegates to theBukkitScheduler
with a delay.- Specified by:
schedule
in interfacereactor.core.scheduler.Scheduler
- Specified by:
schedule
in interfacereactor.core.scheduler.Scheduler.Worker
- Parameters:
task
- The task to delegatedelay
- The amount of time to wait before running the taskunit
- Unused parameter in this implementation. Regardless of what value you use, this parameter will never be called.- Returns:
- A disposable that can be used to cancel the task.
-
schedulePeriodically
@NotNull public @NotNull reactor.core.Disposable schedulePeriodically(@NotNull @NotNull Runnable task, long initialDelay, long period, @Nullable @Nullable TimeUnit unit) Delegates to theBukkitScheduler
with a delay and a period. The initial delay may be 0L, but the period must be greater than 0L.- Specified by:
schedulePeriodically
in interfacereactor.core.scheduler.Scheduler
- Specified by:
schedulePeriodically
in interfacereactor.core.scheduler.Scheduler.Worker
- Parameters:
task
- The task to delegate.initialDelay
- The amount of time to wait before running the task.period
- The amount of time to wait between each execution of the task.unit
- Unused parameter in this implementation. Regardless of what value you use, this parameter will never be called.- Returns:
- A disposable that can be used to cancel the task.
-
createWorker
@NotNull public @NotNull reactor.core.scheduler.Scheduler.Worker createWorker()A newScheduler.Worker
.- Specified by:
createWorker
in interfacereactor.core.scheduler.Scheduler
- Returns:
- This class instance, as it implements
Scheduler.Worker
.
-
dispose
public void dispose()This method does nothing and is unused.- Specified by:
dispose
in interfacereactor.core.Disposable
- Specified by:
dispose
in interfacereactor.core.scheduler.Scheduler
-
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object)
. -
plugin
public org.bukkit.plugin.java.JavaPlugin plugin()Returns the value of theplugin
record component.- Returns:
- the value of the
plugin
record component
-
scheduler
public org.bukkit.scheduler.BukkitScheduler scheduler()Returns the value of thescheduler
record component.- Returns:
- the value of the
scheduler
record component
-