List of usage examples for jdk.nashorn.internal.runtime ScriptEnvironment getFiles
public List<String> getFiles()
From source file:org.kihara.util.JavascriptEngine.java
License:Open Source License
/** * Run method logic.//from w w w . j a v a 2s.c o m * * @param in input stream for Shell * @param out output stream for Shell * @param err error stream for Shell * * @return exit code * * @throws IOException if there's a problem setting up the streams */ protected final int run(final InputStream in, final OutputStream out, final OutputStream err) throws IOException { final Context context = makeContext(in, out, err); if (context == null) { return COMMANDLINE_ERROR; } final ScriptObject global = context.createGlobal(); final ScriptEnvironment env = context.getEnv(); final List<String> files = env.getFiles(); // Prepare bindings here. SimpleScriptContext scriptContext = new SimpleScriptContext(); ScriptObjectMirror mirror = (ScriptObjectMirror) ScriptObjectMirror.wrap(global, global); scriptContext.setBindings(mirror, ScriptContext.ENGINE_SCOPE); bindings.accept(scriptContext.getBindings(ScriptContext.ENGINE_SCOPE)); // TODO: JDK 1.8u65 method only. Will invoke old call if fails. try { Global g = ((Global) global); ScriptEngine s = new ScriptEngineManager().getEngineByName("nashorn"); try { Method m = Global.class.getMethod("initBuiltinObjects", ScriptEngine.class, ScriptContext.class); m.invoke(g, s, scriptContext); } catch (NoSuchMethodException e) { try { Method m = Global.class.getMethod("initBuiltinObjects", ScriptEngine.class); m.invoke(g, s); g.setScriptContext(scriptContext); } catch (NoSuchMethodException ee) { System.err.println("COULD NOT INIT!"); throw new IOException("COULD NOT INIT!"); } } } catch (Exception ignored) { } if (files.isEmpty()) { return readEvalPrint(context, global); } if (env._compile_only) { return compileScripts(context, global, files); } if (env._fx) { return runFXScripts(context, global, files); } return runScripts(context, global, files); }
From source file:z.zee.Z.java
License:Open Source License
/** * Run method logic./*ww w. j a v a 2s . c o m*/ * * @param in input stream for Z * @param out output stream for Z * @param err error stream for Z * @param args arguments to Z * * @return exit code * * @throws IOException if there's a problem setting up the streams */ protected final int run(final InputStream in, final OutputStream out, final OutputStream err, final String[] args) throws IOException { final Context context = makeContext(in, out, err, args); if (context == null) { return COMMANDLINE_ERROR; } final ScriptObject global = context.createGlobal(); final ScriptEnvironment env = context.getEnv(); final List<String> files = env.getFiles(); if (env.getArguments().isEmpty() && !scripting) { context.getErr().println(bundle.getString("shell.usage")); return COMPILATION_ERROR; } if (files.isEmpty()) { return readEvalPrint(context, global); } if (env._compile_only) { return compileScripts(context, global, files); } return runScripts(context, global, files); }