Package io.microsphere.event
Interface EventDispatcher
-
- All Superinterfaces:
Listenable<EventListener<?>>
- All Known Implementing Classes:
AbstractEventDispatcher
,DirectEventDispatcher
,ParallelEventDispatcher
public interface EventDispatcher extends Listenable<EventListener<?>>
Event
Dispatcher- Since:
- 1.0.0
- See Also:
Event
,EventListener
,DirectEventDispatcher
-
-
Field Summary
Fields Modifier and Type Field Description static java.util.concurrent.Executor
DIRECT_EXECUTOR
DirectExecutor
uses sequential execution model
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
dispatch(Event event)
Dispatch a event to the registeredevent listeners
default java.util.concurrent.Executor
getExecutor()
TheExecutor
to dispatch aevent
static EventDispatcher
newDefault()
The default implementation ofEventDispatcher
static EventDispatcher
parallel(java.util.concurrent.Executor executor)
The parallel implementation ofEventDispatcher
with 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 ofEventDispatcher
with 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()
TheExecutor
to 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
-
-