Class EventManager

java.lang.Object
java.lang.Thread
me.wouterkistemaker.eventmanager.EventManager
All Implemented Interfaces:
Runnable

public final class EventManager extends Thread
An event manager. Event managers handle the lifecycle of events and listeners. This implementation is completely synchronous, meaning it has only one thread. (the instance itself is a thread) Thus, concurrency issues are not a concern.
See Also:
  • Constructor Details

    • EventManager

      public EventManager()
  • Method Details

    • run

      public void run()
      Starts this event manager, entering an infinite loop processing events until interrupted.
      Specified by:
      run in interface Runnable
      Overrides:
      run in class Thread
    • forceStop

      @Deprecated(since="1.1", forRemoval=true) public void forceStop()
      Deprecated, for removal: This API element is subject to removal in a future version.
      Deprecated method. This delegates to Thread.interrupt().
    • register

      public void register(@Nonnull EventListener eventListener)
      Registers an event listener to this event manager.
      Parameters:
      eventListener - The listener to register to this event manager
    • unregister

      public void unregister(@Nonnull EventListener eventListener)
      Unregisters an event listener from this event manager.
      Parameters:
      eventListener - The listener to unregister from this event manager
      Since:
      1.1
    • callEvent

      public <T extends Handleable> void callEvent(@Nonnull T event)
      Calls an event to this event manager, adding it to the event queue. The event will be processed on a FILO (first-in-last-out) basis.
      Type Parameters:
      T - The type of event to call to this manager
      Parameters:
      event - The event to call to this manager
    • priorityCallEvent

      public <T extends Handleable> void priorityCallEvent(@Nonnull T event)
      Priority calls an event to this event manager, adding it to the head of the event queue. The event will be processed on a FIFO (first-in-first-out) basis.
      Type Parameters:
      T - The type of event to call to this manager
      Parameters:
      event - The event to call to this manager