sinterface IResourceLoader { S loadSnippet(S snippetID); S getTranspiled(S snippetID); // with libs int getSnippetType(S snippetID); S getSnippetTitle(S snippetID); File loadLibrary(S snippetID); //ifndef NoJavaXJar default File pathToJavaXJar() { ret pathToJavaxJar_noResourceLoader(); } //endifndef // may return null, then caller compiles themselves default File getSnippetJar(S snippetID, S transpiledSrc) { null; } }