package com.winterbe.java8.samples.nashorn; import jdk.nashorn.api.scripting.ScriptObjectMirror; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import java.io.FileReader; import java.util.Arrays; /** * Calling java methods from javascript with nashorn. * * @author Benjamin Winterberg */ public class Nashorn2 { public static String fun(String name) { System.out.format("Hi there from Java, %s", name); return "greetings from java"; } public static void fun2(Object object) { System.out.println(object.getClass()); } public static void fun3(ScriptObjectMirror mirror) { System.out.println(mirror.getClassName() + ": " + Arrays.toString(mirror.getOwnKeys(true))); } public static void fun4(ScriptObjectMirror person) { System.out.println("Full Name is: " + person.callMember("getFullName")); } public static void main(String[] args) throws Exception { ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn"); engine.eval(new FileReader("res/nashorn2.js")); } }