public class EventManager<T>
extends java.lang.Object
postEvent(Consumer) die
Benachrichtigung auslöst. Asynchrone EventListener werden im DafMainEventThread asynchron benachrichtigt, sodass der auslösende Thread
nicht blockiert werden kann.
| Constructor and Description |
|---|
EventManager()
Erstellt einen neuen EventManager ohne eigenen Dispatch-Thread.
|
EventManager(DafMainEventThread notificationThread)
Erstellt einen neuen EventManager mit Dispatch-Thread.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addAsyncNotificationListener(T listener)
Fügt einen Listener hinzu, der die Event-Benachrichtigung asynchron erhält.
|
void |
addInternalNotificationListener(T listener)
Fügt einen Listener hinzu, der die Event-Benachrichtigung synchron erhält.
|
boolean |
isEmpty()
Gibt
true zurück, wenn es keine EventListener gibt. |
void |
postEvent(java.util.function.Consumer<T> eventGenerator)
Veröffentlicht ein Ereignis.
|
boolean |
removeAsyncNotificationListener(T listener)
Entfernt einen asynchronen Listener.
|
boolean |
removeInternalNotificationListener(T listener)
Entfernt einen synchronen Listener.
|
public EventManager()
public EventManager(DafMainEventThread notificationThread)
notificationThread - Event-Threadpublic void addAsyncNotificationListener(T listener)
listener - Listenerpublic boolean removeAsyncNotificationListener(T listener)
listener - zu entfernender Listenertrue wenn entfernt, false falls nicht vorhanden.public void addInternalNotificationListener(T listener)
listener - Listenerpublic boolean removeInternalNotificationListener(T listener)
listener - zu entfernender Listenertrue wenn entfernt, false falls nicht vorhanden.public void postEvent(java.util.function.Consumer<T> eventGenerator)
Diese Methode veröffentlicht zuerst das Ereignis auf den internen Listenern im selben Thread und dann auf den externen Listenern im notificationThread.
eventGenerator - Ereignis-Generatorpublic boolean isEmpty()
true zurück, wenn es keine EventListener gibt.true, wenn es keine EventListener gibt, sonst false