X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fsnippets%2FCodeSnippetSupplier.java;h=26d5a0d959a6b3e51e362ebdb00d0f318716a8a8;hb=0cb5e7f226fe8b49b14d9b3ad5712250354401c0;hp=0016cc725ba6c7fa56b52a79c1d48ab8962c1bf7;hpb=4c02fe978b3ef5dfe795a8e5c3a8977abd17e9cf;p=Mograsim.git diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java index 0016cc72..26d5a0d9 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/snippets/CodeSnippetSupplier.java @@ -16,9 +16,11 @@ public class CodeSnippetSupplier this.defaultSnippetSupplier = defaultSnippetSupplier; } - public void addStandardSnippetID(String standardSnippetID, String associatedSnippetClassName) + public void addStandardSnippetID(String standardSnippetID, String associatedSnippetID) { - standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetClassName); + if (!associatedSnippetID.startsWith("class:")) + throw new IllegalArgumentException("Unrecognized snippet ID format: " + associatedSnippetID); + standardSnippetIDClassNames.put(standardSnippetID, associatedSnippetID); } public Map getStandardSnippetIDs() @@ -36,13 +38,10 @@ public class CodeSnippetSupplier { if (id != null) { - String snippetClassName; - if (id.startsWith("class:")) - snippetClassName = id.substring(6); - else - snippetClassName = standardSnippetIDClassNames.get(id); - if (snippetClassName != null) + String resolvedID = resolveID(id); + if (resolvedID != null) { + String snippetClassName = resolvedID.substring(6); tryLoadSnippetClass(snippetClassName); SnippetDefinintion snippetSupplier = snippetSuppliersForClassNames.get(snippetClassName); if (snippetSupplier != null) @@ -55,6 +54,13 @@ public class CodeSnippetSupplier return defaultSnippetSupplier; } + public String resolveID(String id) + { + if (id.startsWith("class:")) + return id; + return standardSnippetIDClassNames.get(id); + } + // static helpers private static void tryLoadSnippetClass(String snippetClassName)