Java Reference
In-Depth Information
Listing 3-5. A Result Class That Wraps an Integer
// Result.java
package com.jdojo.script;
public class Result {
private int val = -1;
public void setValue(int x) {
val = x;
}
public int getValue() {
return val;
}
}
Listing 3-6. Collecting the Return Value of a Script in a Result Object
// ResultBearingScript.java
package com.jdojo.script;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class ResultBearingScript {
public static void main(String[] args) throws ScriptException {
// Get the Nashorn engine
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
// Pass a Result object to the script. The script will store the
// result of the script in the result object
Result result = new Result();
engine.put("result", result);
// Store the script in a String
String script = "3 + 4; result.setValue(101);";
// Execute the script, which uses the passed in
// Result object to return a value
engine.eval(script);
Search WWH ::




Custom Search