import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class InvocableTest {
public static void main(String args[]) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
try {
engine.eval("function myFunction(name){var output = '';"
+ " for (i = 0; i <= name.length; i++) {output = name.charAt(i)+'-'+ output"
+ " } return output;}");
Invocable invokeEngine = (Invocable) engine;
Object o = invokeEngine.invokeFunction("myFunction", "abcde");
System.out.println(o);
} catch (NoSuchMethodException e) {
System.err.println(e);
} catch (ScriptException e) {
System.err.println(e);
}
}
}