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