Contents
Class EventBusRegistry<KeyType, EventType extends IBaseEvent<KeyType>, ConsumerMapType extends EventBusRegistry.EventConsumerMap<EventType, ?, ?>>
java.lang.Object
com.hypixel.hytale.event.EventBusRegistry<KeyType, EventType, ConsumerMapType>
- Type Parameters:
KeyType- The key type filter for this event call.EventType- The event type.ConsumerMapType- The consumer map type.
- Direct Known Subclasses:
AsyncEventBusRegistry, SyncEventBusRegistry
public abstract class EventBusRegistry<KeyType, EventType extends IBaseEvent<KeyType>, ConsumerMapType extends EventBusRegistry.EventConsumerMap<EventType, ?, ?>>
extends Object
The base event bus registry for managing event consumers and dispatching events.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn abstract event consumer for the event bus registry.static classEventBusRegistry.EventConsumerMap<EventType extends IBaseEvent, ConsumerType extends EventBusRegistry.EventConsumer, ReturnType>A class that represents a map of event consumers organized by priority. -
Constructor Summary
ConstructorsConstructorDescriptionEventBusRegistry(HytaleLogger logger, Class<EventType> eventClass, ConsumerMapType global, ConsumerMapType unhandled) Default Constructor for aEventBusRegistryinstance. -
Method Summary
Modifier and TypeMethodDescriptionabstract IEventDispatcher<EventType, ?> dispatchFor(KeyType key) Called to get an event dispatcher for the specified key.booleanisAlive()booleanabstract EventRegistration<KeyType, EventType> Called to register an event consumer.abstract EventRegistration<KeyType, EventType> registerGlobal(short priority, Consumer<EventType> consumer) Called to register a global event consumer.abstract EventRegistration<KeyType, EventType> registerUnhandled(short priority, Consumer<EventType> consumer) Called to register an unhandled event consumer.voidsetTimeEvents(boolean timeEvents) Called to set whether to time events dispatched through this registry.voidshutdown()Called to shut down this event bus registry.
-
Constructor Details
-
EventBusRegistry
public EventBusRegistry(@Nonnull HytaleLogger logger, @Nonnull Class<EventType> eventClass, @Nonnull ConsumerMapType global, @Nonnull ConsumerMapType unhandled) Default Constructor for aEventBusRegistryinstance.- Parameters:
logger- TheHytaleLoggerinstance.eventClass- The event class.global- The global consumer map.unhandled- The unhandled consumer map.
-
-
Method Details
-
getEventClass
-
isTimeEvents
public boolean isTimeEvents()- Returns:
trueif events are timed,falseotherwise.
-
setTimeEvents
public void setTimeEvents(boolean timeEvents) Called to set whether to time events dispatched through this registry.- Parameters:
timeEvents- Whether to time events.
-
shutdown
public void shutdown()Called to shut down this event bus registry. -
isAlive
public boolean isAlive()- Returns:
trueif this event bus registry is alive,falseotherwise.
-
register
public abstract EventRegistration<KeyType, EventType> register(short priority, @Nullable KeyType key, @Nonnull Consumer<EventType> consumer) Called to register an event consumer.- Parameters:
priority- The priority of the consumer.key- The key to filter events by.consumer- The event consumer.- Returns:
- the event registration.
-
registerGlobal
public abstract EventRegistration<KeyType, EventType> registerGlobal(short priority, @Nonnull Consumer<EventType> consumer) Called to register a global event consumer.- Parameters:
priority- The priority of the consumer.consumer- The event consumer.- Returns:
- the event registration.
-
registerUnhandled
public abstract EventRegistration<KeyType, EventType> registerUnhandled(short priority, @Nonnull Consumer<EventType> consumer) Called to register an unhandled event consumer.- Parameters:
priority- The priority of the consumer.consumer- The event consumer.- Returns:
- the event registration.
-
dispatchFor
Called to get an event dispatcher for the specified key.- Parameters:
key- The key to filter events by.- Returns:
- the event dispatcher.
-