1 package com.irtimaled.bbor.common;
3 import java.util.HashMap;
5 import java.util.function.Consumer;
7 public class EventBus {
8 private static final Map<Class<?>, Consumer<?>> handlers = new HashMap<>();
10 public static <evt> void publish(evt event) {
11 if (event == null) return;
13 Class clazz = event.getClass();
14 Consumer<?> handler = handlers.get(clazz);
15 if (handler == null) return;
17 ((Consumer<evt>) handler).accept(event);
20 public static <evt> void subscribe(Class<evt> clazz, Consumer<evt> consumer) {
21 handlers.put(clazz, consumer);