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