61 lines
913 B
Java
61 lines
913 B
Java
package afryca.ase.engine.Jython;
|
|
|
|
import javax.script.ScriptException;
|
|
|
|
import org.python.jsr223.PyScriptEngine;
|
|
|
|
import afryca.ase.engine.IEngine;
|
|
|
|
/**
|
|
* Jython engine for ASE
|
|
*
|
|
* @author Sinbad²
|
|
* @version 3.0
|
|
*/
|
|
public class Jython implements IEngine {
|
|
|
|
public static final String ID = "Jython"; //$NON-NLS-1$
|
|
|
|
private PyScriptEngine engine;
|
|
private String name;
|
|
|
|
private Jython() {
|
|
super();
|
|
name = ID;
|
|
engine = null;
|
|
}
|
|
|
|
/**
|
|
* Build Jython engine
|
|
*
|
|
* @param engine
|
|
* jython engine
|
|
*/
|
|
public Jython(PyScriptEngine engine) {
|
|
this();
|
|
assert engine != null;
|
|
this.engine = engine;
|
|
}
|
|
|
|
@Override
|
|
public String getName() {
|
|
return name;
|
|
}
|
|
|
|
@Override
|
|
public Object getEngine() {
|
|
return engine;
|
|
}
|
|
|
|
@Override
|
|
public Object eval(String script) throws ScriptException {
|
|
return engine.eval(script);
|
|
}
|
|
|
|
@Override
|
|
public void end() {
|
|
engine = null;
|
|
}
|
|
|
|
}
|