Skip to content

Commit

Permalink
* Simplify JSR-223 implementation.
Browse files Browse the repository at this point in the history
* Add in Compilable interface (and use in all cases).
* Add in Invocable interface for creating Java interfaces
  from JS implementations.
  • Loading branch information
bobmcwhirter committed Oct 3, 2014
1 parent f8cc6c1 commit 36f4db4
Show file tree
Hide file tree
Showing 9 changed files with 248 additions and 319 deletions.
39 changes: 39 additions & 0 deletions src/main/java/org/dynjs/jsr223/DynJSCompiledScript.java
@@ -0,0 +1,39 @@
package org.dynjs.jsr223;

import org.dynjs.Config;
import org.dynjs.runtime.DynJS;
import org.dynjs.runtime.JSProgram;
import org.dynjs.runtime.Types;
import org.dynjs.runtime.builtins.DynJSBuiltin;

import javax.script.CompiledScript;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptException;

/**
* @author Bob McWhirter
*/
public class DynJSCompiledScript extends CompiledScript {

private final DynJSScriptEngine engine;
private final JSProgram program;

DynJSCompiledScript(DynJSScriptEngine engine, JSProgram program) {
this.engine = engine;
this.program = program;
}

@Override
public Object eval(ScriptContext context) throws ScriptException {
ScriptEngineGlobalObject global = RuntimeHelper.getGlobalObject( context );
DynJS runtime = RuntimeHelper.getRuntime( global, context );
return runtime.newRunner().withSource( this.program ).execute();
}

@Override
public ScriptEngine getEngine() {
return this.engine;
}

}
169 changes: 0 additions & 169 deletions src/main/java/org/dynjs/jsr223/DynJSScriptContext.java

This file was deleted.

0 comments on commit 36f4db4

Please sign in to comment.