@Override
protected ScriptEngine createScriptEngine() {
String scripEngineName = SCRIPT_ENGINE_NAME;
ScriptEngine result = new ScriptEngineManager().getEngineByName(scripEngineName);
Validate.isInstanceOf(Compilable.class, result, "ScriptingEngine %s doesn't implement Compilable", scripEngineName);
Validate.isInstanceOf(Invocable.class, result, "ScriptingEngine %s doesn't implement Invocable", scripEngineName);
KotlinConstants.PROCESSOR_CLASSES
.forEach((interfaceClass, scriptClass) -> addImport(result, scriptClass, interfaceClass.getSimpleName()));
addImport(result, KPlugin.class, Plugin.class.getSimpleName());
// TODO The line below performs very slow in Kotlin
eval(result, getStandardImportClasses().stream().map(cls -> "import " + cls.getName()).collect(Collectors.joining("\n")));
setVariable(result, KnowledgeBaseConstants.VAR_ENGINE_OPERATIONS, getEngineOperations());
return result;
}
ScriptKotlinKnowledgeBaseInterpreter.java 文件源码
java
阅读 19
收藏 0
点赞 0
评论 0
项目:sponge
作者:
评论列表
文章目录