X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.ui%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fui%2Fserializing%2FCodeSnippetSupplier.java;h=d6bdbb45260bed16ff2b3711993b3e0fa5c6fda1;hb=f594aef8abc8f444911333f6c32ef0fca18e18ba;hp=453e2ac38996371b51b6d028424ef2564ed56abe;hpb=dbda073d92ae9dd8e701d904c4c71dd0edd1fce7;p=Mograsim.git diff --git a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java index 453e2ac3..d6bdbb45 100644 --- a/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java +++ b/net.mograsim.logic.ui/src/net/mograsim/logic/ui/serializing/CodeSnippetSupplier.java @@ -5,30 +5,31 @@ import java.io.InputStream; import java.util.HashMap; import java.util.Map; -import net.mograsim.logic.ui.serializing.snippets.RendererProvider; -import net.mograsim.logic.ui.serializing.snippets.outlinerenderers.DefaultOutlineRendererProvider; -import net.mograsim.logic.ui.serializing.snippets.symbolrenderers.DefaultSymbolRendererProvider; +import net.mograsim.logic.ui.serializing.snippets.Renderer; +import net.mograsim.logic.ui.serializing.snippets.SnippetSupplier; +import net.mograsim.logic.ui.serializing.snippets.outlinerenderers.DefaultOutlineRenderer; +import net.mograsim.logic.ui.serializing.snippets.symbolrenderers.DefaultSymbolRenderer; import net.mograsim.logic.ui.util.JsonHandler; public class CodeSnippetSupplier { // public static members - public static final CodeSnippetSupplier symbolRendererProviderSupplier; - public static final CodeSnippetSupplier outlineRendererProviderSupplier; + public static final CodeSnippetSupplier symbolRendererProviderSupplier; + public static final CodeSnippetSupplier outlineRendererProviderSupplier; static { - symbolRendererProviderSupplier = new CodeSnippetSupplier<>(new DefaultSymbolRendererProvider()); - outlineRendererProviderSupplier = new CodeSnippetSupplier<>(new DefaultOutlineRendererProvider()); + symbolRendererProviderSupplier = new CodeSnippetSupplier<>(SnippetSupplier.create(Void.class, DefaultSymbolRenderer::new)); + outlineRendererProviderSupplier = new CodeSnippetSupplier<>(SnippetSupplier.create(Void.class, DefaultOutlineRenderer::new)); } // per-instance members private final Map standardSnippetIDClassNames = new HashMap<>(); - private final Map snippetProvidersForClassNames = new HashMap<>(); - private final S defaultSnippetProvider; + private final Map> snippetProvidersForClassNames = new HashMap<>(); + private final SnippetSupplier defaultSnippetProvider; - private CodeSnippetSupplier(S defaultSnippetProvider) + private CodeSnippetSupplier(SnippetSupplier defaultSnippetProvider) { this.defaultSnippetProvider = defaultSnippetProvider; } @@ -38,13 +39,13 @@ public class CodeSnippetSupplier standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetClassName); } - public void setSnippetProvider(String id, S snippetProvider) + public void setSnippetProvider(String id, SnippetSupplier snippetProvider) { snippetProvidersForClassNames.put(id, snippetProvider); } // TODO report errors - public S getSnippetProvider(String id) + public SnippetSupplier getSnippetProvider(String id) { if (id != null) { @@ -56,7 +57,7 @@ public class CodeSnippetSupplier if (snippetProviderClassName != null) { tryLoadSnippetClass(snippetProviderClassName); - S snippetProvider = snippetProvidersForClassNames.get(snippetProviderClassName); + SnippetSupplier snippetProvider = snippetProvidersForClassNames.get(snippetProviderClassName); if (snippetProvider != null) return snippetProvider; }