Class EventBus

java.lang.Object
net.orbyfied.j8.event.EventBus
Direct Known Subclasses:
ComplexEventBus

public class EventBus extends Object
The main event system class.
  • Constructor Details

    • EventBus

      public EventBus()
  • Method Details

    • register

      public RegisteredListener register(EventListener listener)
      Registers a listener instance by creating a RegisteredListener and adding it to the registrations in this event bus.
      Parameters:
      listener - The listener instance.
      Returns:
      The new RegisteredListener instance.
    • isRegistered

      public boolean isRegistered(EventListener listener)
      Checks if the listeners class was registered already.
      Parameters:
      listener - The listener object.
      Returns:
      True/false.
    • isRegistered

      public boolean isRegistered(Class<? extends EventListener> listener)
      Checks if the supplied class was registered already.
      Parameters:
      listener - The listener object.
      Returns:
      True/false.
    • getRegistered

      public RegisteredListener getRegistered(Class<? extends EventListener> klass)
      Gets the latest registered listener with the specified class.
      Parameters:
      klass - The class.
      Returns:
      The last registered listener.
    • getAllRegistered

      public List<RegisteredListener> getAllRegistered(Class<? extends EventListener> klass)
      Gets all registered listeners for the specified class.
      Parameters:
      klass - The class.
      Returns:
      An unmodifiable list of listeners.
    • getAllRegistered

      public List<RegisteredListener> getAllRegistered()
      Gets all registered listeners.
      Returns:
      An unmodifiable list of listeners.
    • unregister

      public EventBus unregister(RegisteredListener listener)
      Unregisters a registered listener.
      Parameters:
      listener - The registered listener.
      Returns:
      This.
    • unregisterLast

      public EventBus unregisterLast(EventListener listener)
      Unregisters the last listener of the listeners type.
      Parameters:
      listener - The listener.
      Returns:
      This.
    • unregisterLast

      public EventBus unregisterLast(Class<? extends EventListener> klass)
      Unregisters the last listener of the specified type.
      Parameters:
      klass - The listener class.
      Returns:
      This.
    • unregisterAll

      public EventBus unregisterAll(Class<? extends EventListener> klass)
      Unregisters all registered listeners of the specified type.
      Parameters:
      klass - The type.
      Returns:
      This.
    • bake

      public EventBus bake(Class<?> event)
      Bakes the event; prepares it. Pre-caches the pipeline for an event. This can significantly improve performance on the first call.
      Parameters:
      event - The event type.
      Returns:
      This.
    • post

      public <E extends BusEvent> EventBus post(E event)
      Posts an event to the event bus. Uses the events class as the pipeline provider.
      Parameters:
      event - The event.
      Returns:
      This.
    • postUnsafe

      public <E> void postUnsafe(Class fclass, E event)
      Posts an event to the event bus through the pipeline supplied by the supplied class. NOTE: Doesn't call any events, and does not catch any errors.
      Parameters:
      fclass - The pipeline provider class.
      event - The event.
    • post

      public <E> EventBus post(Class<E> fclass, E event)
      Posts an event to the event bus through the pipeline supplied by the supplied class. Calls all functional event services before posting.
      Parameters:
      fclass - The pipeline provider class.
      event - The event.
      Returns:
      This.
    • pushSafe

      protected <E> void pushSafe(E event, PipelineAccess<E> acc)
      Safely pushes an event down the given pipeline access.
      Type Parameters:
      E - The event type.
      Parameters:
      event - The event instance.
      acc - The pipeline access.
    • getPipelineFor

      public PipelineAccess<?> getPipelineFor(Class<?> event)
      Retrieves the pipeline of an event for this event bus from either the cache, the BusEvent.getPipeline(EventBus) method or the defaultPipelineFactory.
      Parameters:
      event - The event class.
      Returns:
      The pipeline or null if the event type is invalid or an error occurred.
    • getPipelineOrNull

      public PipelineAccess<?> getPipelineOrNull(Class<?> event)
    • withDefaultPipelineFactory

      public EventBus withDefaultPipelineFactory(BusPipelineFactory factory)