+
+ public static MachineDefinition getMachine(String id)
+ {
+ return installedMachines.get(id);
+ }
+
+ private static void notifyListeners()
+ {
+ Map<String, MachineDefinition> unmodMachines = getInstalledMachines();
+ listeners.forEach(l -> l.onReload(unmodMachines));
+ }
+
+ public static void addMachineRegistryListener(MachineRegistryListener listener)
+ {
+ listeners.add(listener);
+ }
+
+ public static void removeMachineRegistryListener(MachineRegistryListener listener)
+ {
+ listeners.remove(listener);
+ }
+
+ @FunctionalInterface
+ public interface MachineRegistryListener
+ {
+ void onReload(Map<String, MachineDefinition> installedMachines);
+ }