preparing event bus

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-12-16 15:26:39 +01:00
parent 8575a9a3a4
commit a924f25f51
5 changed files with 43 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
package de.srsoftware.umbrella.messagebus;
import java.util.HashSet;
import java.util.Set;
public class MessageBus {
private static MessageBus SINGLETON = new MessageBus();
private Set<EventListener> listeners = new HashSet<>();
private MessageBus(){}
public void dispatch(Event event){
listeners.parallelStream().forEach(l -> l.onEvent(event));
}
public void drop(EventListener listener){
listeners.remove(listener);
}
public static MessageBus messageBus(){
return SINGLETON;
}
public void register(EventListener listener){
listeners.add(listener);
}
}