Class EventBus.Builder

java.lang.Object
studio.mevera.imperat.events.EventBus.Builder
Enclosing interface:
EventBus

public static final class EventBus.Builder extends Object
Builder for creating configured EventBus instances.

 EventBus eventBus = EventBus.builder()
     .exceptionHandler((event, ex, id) -> logger.error("Handler failed", ex))
     .executorService(myCustomExecutor)
     .build();
 
  • Method Details

    • exceptionHandler

      public EventBus.Builder exceptionHandler(@Nullable @Nullable EventExceptionHandler handler)
      Sets the global exception handler.

      Invoked with full context whenever any registered handler throws an exception. Optional — if not set, exceptions are silently ignored.

      Parameters:
      handler - the exception handler, or null to leave unset
      Returns:
      this builder
    • executorService

      public EventBus.Builder executorService(@Nullable @Nullable ExecutorService executorService)
      Sets a custom ExecutorService for async handler execution.

      If not set, a default daemon cached thread pool is created and owned by the bus. If you supply one here, you are responsible for shutting it down independently.

      Parameters:
      executorService - the executor service, or null to use the default
      Returns:
      this builder
    • build

      public EventBus build()
      Builds and returns a configured EventBus.
      Returns:
      a new EventBus instance