parent
0ed62aba11
commit
ce9b1d66e1
@ -0,0 +1,22 @@
|
||||
import java.util.HashMap;
|
||||
|
||||
public class Event {
|
||||
static HashMap<String, Subscribers> channels = new HashMap<>();
|
||||
|
||||
public static void publish(String channel, String message) {
|
||||
if (!channels.containsKey(channel)) {
|
||||
return;
|
||||
}
|
||||
Subscribers subscribers = channels.get(channel);
|
||||
for (Subscriber subscriber : subscribers) {
|
||||
subscriber.receive(message);
|
||||
}
|
||||
}
|
||||
|
||||
public static void subscribe(String channel, Subscriber subscriber) {
|
||||
if (!channels.containsKey(channel)) {
|
||||
channels.put(channel, new Subscribers());
|
||||
}
|
||||
channels.get(channel).add(subscriber);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
public interface Subscriber {
|
||||
void receive(String message);
|
||||
|
||||
String toString();
|
||||
}
|
||||
@ -0,0 +1,4 @@
|
||||
import java.util.HashSet;
|
||||
|
||||
public class Subscribers extends HashSet<Subscriber> {
|
||||
}
|
||||
Loading…
Reference in new issue