summaryrefslogtreecommitdiffstats
path: root/src/toolsconfig/ToolsRegistry.java
blob: a227c85fe0672c97fd1796143bac815d317a19b5 (plain) (blame)
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
package toolsconfig;

import java.util.HashMap;
import java.util.function.BiConsumer;
import javax.swing.JOptionPane;

public class ToolsRegistry {
    private static final HashMap<String, ToolsConfig> tools =
        new HashMap<String, ToolsConfig>();

    static public void registerTool(String name, ToolsConfig tool) {
        tools.put(name, tool);
    }

    static public ToolsConfig getTool(String name) {
        return tools.get(name);
    }

    public static void executeTool(String name, String src) {
        ToolsConfig tool = tools.get(name);
        if (tool != null && tool.checkInit()) {
            tool.execute(src);
        } else if (tool == null) {
            JOptionPane.showMessageDialog(null, "Error: 工具代码未设置", "提示",
                2);
        } else {
            JOptionPane.showMessageDialog(null, "Error: 参数错误", "提示", 2);
        }
    }

    public static void forEach(BiConsumer<String, ToolsConfig> action) {
        tools.forEach(action);
    }
}