-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCallbacks.java
42 lines (32 loc) · 936 Bytes
/
Callbacks.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import com.sun.glass.ui.MenuItem;
import jdk.nashorn.internal.codegen.CompilerConstants;
import java.util.HashMap;
import java.util.concurrent.Callable;
import java.util.function.Consumer;
/**
* Created by sameerraghuram on 4/25/17.
*/
public class Callbacks {
// Singleton private instance
private static Callbacks instance = null;
// Data
private HashMap<String, Consumer<String>> callbacks = null;
// Private constructor
private Callbacks(){
callbacks = new HashMap<>();
}
// Singl
static Callbacks getInstance(){
if(instance == null){
instance = new Callbacks();
}
return instance;
}
// Collection interface
public void put(String key, Consumer<String> function){
callbacks.put(key, function);
}
public void exec(String key, String message) throws Exception {
callbacks.get(key).accept(message);
}
}