Class AbstractEventEmitter
-
- All Implemented Interfaces:
-
ai.platon.pulsar.common.event.EventEmitter
public abstract class AbstractEventEmitter<EventType extends Object> implements EventEmitter<EventType>
-
-
Constructor Summary
Constructors Constructor Description AbstractEventEmitter()
-
Method Summary
Modifier and Type Method Description final Map<EventType, List<Function<Object>>>getListeners()Function1<Throwable, Unit>getEventExceptionHandler()UnitsetEventExceptionHandler(Function1<Throwable, Unit> eventExceptionHandler)AbstractEventEmitter<EventType>on(EventType event, Function0<Object> handler)Bind an event listener to fire when an event occurs. <T extends Any> AbstractEventEmitter<EventType>on(EventType event, Function1<T, Object> handler)Bind an event listener to fire when an event occurs. <T extends Any, T2 extends Any> AbstractEventEmitter<EventType>on(EventType event, Function2<T, T2, Object> handler)Bind an event listener to fire when an event occurs. <T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>on(EventType event, Function3<T, T2, T3, Object> handler)Bind an event listener to fire when an event occurs. AbstractEventEmitter<EventType>on1(EventType event, SuspendFunction0<Object> handler)<T extends Any> AbstractEventEmitter<EventType>on1(EventType event, SuspendFunction1<T, Object> handler)<T extends Any, T2 extends Any> AbstractEventEmitter<EventType>on1(EventType event, SuspendFunction2<T, T2, Object> handler)<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>on1(EventType event, SuspendFunction3<T, T2, T3, Object> handler)List<Object>emit(EventType event)Emit an event and call any associated listeners. <T extends Any> List<Object>emit(EventType event, T param)Emit an event and call any associated listeners. <T extends Any, T2 extends Any> List<Object>emit(EventType event, T param, T2 param2)Emit an event and call any associated listeners. <T extends Any, T2 extends Any, T3 extends Any> List<Object>emit(EventType event, T param, T2 param2, T3 param3)Emit an event and call any associated listeners. List<Object>emit1(EventType event)TODO: easy to misuse, especially when we emit a non-suspend event in a suspend functionIn the following example, emit1 is misused, should be emit suspend fun navigateTo(entry: NavigateEntry) { browser.emit1(BrowserEvents.willNavigate, entry) navigateHistory. <T extends Any> List<Object>emit1(EventType event, T param)<T extends Any, T2 extends Any> List<Object>emit1(EventType event, T param, T2 param2)<T extends Any, T2 extends Any, T3 extends Any> List<Object>emit1(EventType event, T param, T2 param2, T3 param3)AbstractEventEmitter<EventType>off(EventType event)Removes all listeners. <T extends Any> AbstractEventEmitter<EventType>off(EventType event, Function0<Object> handler)Remove an event listener from firing. <T extends Any> AbstractEventEmitter<EventType>off(EventType event, Function1<T, Object> handler)Remove an event listener from firing. <T extends Any, T2 extends Any> AbstractEventEmitter<EventType>off(EventType event, Function2<T, T2, Object> handler)Remove an event listener from firing. <T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>off(EventType event, Function3<T, T2, T3, Object> handler)Remove an event listener from firing. AbstractEventEmitter<EventType>off1(EventType event)<T extends Any> AbstractEventEmitter<EventType>off1(EventType event, SuspendFunction0<Object> handler)<T extends Any> AbstractEventEmitter<EventType>off1(EventType event, SuspendFunction1<T, Object> handler)<T extends Any, T2 extends Any> AbstractEventEmitter<EventType>off1(EventType event, SuspendFunction2<T, T2, Object> handler)<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>off1(EventType event, SuspendFunction3<T, T2, T3, Object> handler)<T extends Any> AbstractEventEmitter<EventType>once(EventType event, Function1<T, Object> handler, T param)Like onbut the listener will only be fired once and then it will be removed.<T extends Any, T2 extends Any> AbstractEventEmitter<EventType>once(EventType event, Function2<T, T2, Object> handler, T param, T2 param2)Like onbut the listener will only be fired once and then it will be removed.<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>once(EventType event, Function3<T, T2, T3, Object> handler, T param, T2 param2, T3 param3)Like onbut the listener will only be fired once, and then it will be removed.<T extends Any> AbstractEventEmitter<EventType>once1(EventType event, SuspendFunction1<T, Object> handler, T param)<T extends Any, T2 extends Any> AbstractEventEmitter<EventType>once1(EventType event, SuspendFunction2<T, T2, Object> handler, T param, T2 param2)<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType>once1(EventType event, SuspendFunction3<T, T2, T3, Object> handler, T param, T2 param2, T3 param3)BooleanhasListeners(EventType event)Check if the given event listener is registered List<Function<Object>>listeners()Get a list of the registered event listeners List<Function<Object>>listeners(EventType event)Get a list of the registered event listeners with the given type Integercount(EventType event)Gets the number of listeners for a given event. -
Methods inherited from class ai.platon.pulsar.common.event.EventEmitter
hasNormalListeners, hasSuspendListeners, normalListeners, normalListeners, suspendListeners, suspendListeners -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
getEventExceptionHandler
Function1<Throwable, Unit> getEventExceptionHandler()
-
setEventExceptionHandler
Unit setEventExceptionHandler(Function1<Throwable, Unit> eventExceptionHandler)
-
on
AbstractEventEmitter<EventType> on(EventType event, Function0<Object> handler)
Bind an event listener to fire when an event occurs.
- Parameters:
event-the event type you'd like to listen to. Can be a string or symbol.
handler-the function to be called when the event occurs.
-
on
<T extends Any> AbstractEventEmitter<EventType> on(EventType event, Function1<T, Object> handler)
Bind an event listener to fire when an event occurs.
- Parameters:
event-the event type you'd like to listen to. Can be a string or symbol.
handler-the function to be called when the event occurs.
-
on
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> on(EventType event, Function2<T, T2, Object> handler)
Bind an event listener to fire when an event occurs.
- Parameters:
event-the event type you'd like to listen to. Can be a string or symbol.
handler-the function to be called when the event occurs.
-
on
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> on(EventType event, Function3<T, T2, T3, Object> handler)
Bind an event listener to fire when an event occurs.
- Parameters:
event-the event type you'd like to listen to. Can be a string or symbol.
handler-the function to be called when the event occurs.
-
on1
AbstractEventEmitter<EventType> on1(EventType event, SuspendFunction0<Object> handler)
-
on1
<T extends Any> AbstractEventEmitter<EventType> on1(EventType event, SuspendFunction1<T, Object> handler)
-
on1
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> on1(EventType event, SuspendFunction2<T, T2, Object> handler)
-
on1
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> on1(EventType event, SuspendFunction3<T, T2, T3, Object> handler)
-
emit
List<Object> emit(EventType event)
Emit an event and call any associated listeners.
- Parameters:
event-the event you'd like to emit
-
emit
<T extends Any> List<Object> emit(EventType event, T param)
Emit an event and call any associated listeners.
- Parameters:
event-the event you'd like to emit
param-any data you'd like to emit with the event
-
emit
<T extends Any, T2 extends Any> List<Object> emit(EventType event, T param, T2 param2)
Emit an event and call any associated listeners.
- Parameters:
event-the event you'd like to emit
param-any data you'd like to emit with the event
-
emit
<T extends Any, T2 extends Any, T3 extends Any> List<Object> emit(EventType event, T param, T2 param2, T3 param3)
Emit an event and call any associated listeners.
- Parameters:
event-the event you'd like to emit
param-any data you'd like to emit with the event
-
emit1
List<Object> emit1(EventType event)
TODO: easy to misuse, especially when we emit a non-suspend event in a suspend function
In the following example, emit1 is misused, should be emit suspend fun navigateTo(entry: NavigateEntry) { browser.emit1(BrowserEvents.willNavigate, entry) navigateHistory.add(entry) }
-
emit1
<T extends Any, T2 extends Any, T3 extends Any> List<Object> emit1(EventType event, T param, T2 param2, T3 param3)
-
off
AbstractEventEmitter<EventType> off(EventType event)
Removes all listeners. If given an event argument, it will remove only listeners for that event.
- Parameters:
event-the event to remove listeners for.
-
off
<T extends Any> AbstractEventEmitter<EventType> off(EventType event, Function0<Object> handler)
Remove an event listener from firing.
- Parameters:
event-the event type you'd like to stop listening to.
handler-the function that should be removed.
-
off
<T extends Any> AbstractEventEmitter<EventType> off(EventType event, Function1<T, Object> handler)
Remove an event listener from firing.
- Parameters:
event-the event type you'd like to stop listening to.
handler-the function that should be removed.
-
off
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> off(EventType event, Function2<T, T2, Object> handler)
Remove an event listener from firing.
- Parameters:
event-the event type you'd like to stop listening to.
handler-the function that should be removed.
-
off
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> off(EventType event, Function3<T, T2, T3, Object> handler)
Remove an event listener from firing.
- Parameters:
event-the event type you'd like to stop listening to.
handler-the function that should be removed.
-
off1
AbstractEventEmitter<EventType> off1(EventType event)
-
off1
<T extends Any> AbstractEventEmitter<EventType> off1(EventType event, SuspendFunction0<Object> handler)
-
off1
<T extends Any> AbstractEventEmitter<EventType> off1(EventType event, SuspendFunction1<T, Object> handler)
-
off1
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> off1(EventType event, SuspendFunction2<T, T2, Object> handler)
-
off1
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> off1(EventType event, SuspendFunction3<T, T2, T3, Object> handler)
-
once
<T extends Any> AbstractEventEmitter<EventType> once(EventType event, Function1<T, Object> handler, T param)
Like
onbut the listener will only be fired once and then it will be removed.- Parameters:
event-the event you'd like to listen to
handler-the handler function to run when the event occurs
-
once
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> once(EventType event, Function2<T, T2, Object> handler, T param, T2 param2)
Like
onbut the listener will only be fired once and then it will be removed.- Parameters:
event-the event you'd like to listen to
handler-the handler function to run when the event occurs
-
once
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> once(EventType event, Function3<T, T2, T3, Object> handler, T param, T2 param2, T3 param3)
Like
onbut the listener will only be fired once, and then it will be removed.- Parameters:
event-the event you'd like to listen to
handler-the handler function to run when the event occurs
-
once1
<T extends Any> AbstractEventEmitter<EventType> once1(EventType event, SuspendFunction1<T, Object> handler, T param)
-
once1
<T extends Any, T2 extends Any> AbstractEventEmitter<EventType> once1(EventType event, SuspendFunction2<T, T2, Object> handler, T param, T2 param2)
-
once1
<T extends Any, T2 extends Any, T3 extends Any> AbstractEventEmitter<EventType> once1(EventType event, SuspendFunction3<T, T2, T3, Object> handler, T param, T2 param2, T3 param3)
-
hasListeners
Boolean hasListeners(EventType event)
Check if the given event listener is registered
-
listeners
List<Function<Object>> listeners(EventType event)
Get a list of the registered event listeners with the given type
-
-
-
-