+ return defaultSnippetSupplier;
+ }
+
+ // static helpers
+
+ static
+ {
+ try (InputStream s = IndirectGUIComponentCreator.class.getResourceAsStream("./standardSnippetIDMapping.json"))
+ {
+ if (s == null)
+ throw new IOException("Resource not found");
+ SnippetIDClassNames tmp = JsonHandler.readJson(s, SnippetIDClassNames.class);
+ tmp.standardOutlineRendererSuppliers.forEach(outlineRendererSupplier::addStandardSnippetID);
+ tmp.standardSymbolRendererSuppliers.forEach(symbolRendererSupplier::addStandardSnippetID);
+ tmp.standardHighLevelStateHandlerSuppliers.forEach(highLevelStateHandlerSupplier::addStandardSnippetID);
+ }
+ catch (Exception e)
+ {
+ System.err.println("Failed to initialize standard snippet ID mapping: ");
+ e.printStackTrace();
+ }
+ }
+
+ private static class SnippetIDClassNames
+ {
+ public Map<String, String> standardOutlineRendererSuppliers;
+ public Map<String, String> standardSymbolRendererSuppliers;
+ public Map<String, String> standardHighLevelStateHandlerSuppliers;