Package io.microsphere.event
Interface EventDispatcher
-
- All Superinterfaces:
Listenable<EventListener<?>>
- All Known Implementing Classes:
AbstractEventDispatcher,DirectEventDispatcher,ParallelEventDispatcher
public interface EventDispatcher extends Listenable<EventListener<?>>
An interface that defines the contract for dispatching events to registered listeners.The EventDispatcher is responsible for managing and notifying event listeners when an event occurs. It provides methods for adding/removing listeners and dispatching events in a specific execution context.
Example Usage
Example 1: Using Default Dispatcher (Sequential Execution)
EventDispatcher dispatcher = EventDispatcher.newDefault(); dispatcher.addEventListener(myListener); dispatcher.dispatch(new MyEvent());Example 2: Using Parallel Dispatcher with Custom Executor
Executor executor = Executors.newFixedThreadPool(4); EventDispatcher dispatcher = EventDispatcher.parallel(executor); dispatcher.addEventListener(myListener); dispatcher.dispatch(new MyEvent());Example 3: Adding Multiple Listeners
dispatcher.addEventListeners(listener1, listener2, listener3);- Since:
- 1.0.0
- Author:
- Mercy
- See Also:
Event,EventListener,DirectEventDispatcher
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.concurrent.ExecutorDIRECT_EXECUTORDirectExecutoruses sequential execution model
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voiddispatch(Event event)Dispatch a event to the registeredevent listenersdefault java.util.concurrent.ExecutorgetExecutor()TheExecutorto dispatch aeventstatic EventDispatchernewDefault()The default implementation ofEventDispatcherstatic EventDispatcherparallel(java.util.concurrent.Executor executor)The parallel implementation ofEventDispatcherwith the specifiedExecutor-
Methods inherited from interface io.microsphere.event.Listenable
addEventListener, addEventListeners, addEventListeners, getAllEventListeners, removeAllEventListeners, removeEventListener, removeEventListeners
-
-
-
-
Method Detail
-
newDefault
static EventDispatcher newDefault()
The default implementation ofEventDispatcher- Returns:
- the default implementation of
EventDispatcher
-
parallel
static EventDispatcher parallel(java.util.concurrent.Executor executor)
The parallel implementation ofEventDispatcherwith the specifiedExecutor- Parameters:
executor-Executor- Returns:
- the default implementation of
EventDispatcher
-
dispatch
void dispatch(Event event)
Dispatch a event to the registeredevent listeners- Parameters:
event- aevent
-
getExecutor
default java.util.concurrent.Executor getExecutor()
TheExecutorto dispatch aevent- Returns:
- default implementation directly invoke
Runnable.run()method, rather than multiple-threadedExecutor. If the return value isnull, the behavior is same as default. - See Also:
DIRECT_EXECUTOR
-
-