JavaScript Utils
import static java.lang.annotation.ElementType.FIELD; import static java.lang.annotation.ElementType.METHOD; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; import java.lang.annotation.Target; import java.lang.reflect.Method; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; import javax.script.ScriptException; public class JavaScriptUtils { @Target({ METHOD, FIELD }) @Retention(RUNTIME) @interface JavaScript{ String value(); } public static void eval(Method method) throws ScriptException { JavaScript script = method.getAnnotation(JavaScript.class); eval(script); } public static void eval(JavaScript script) throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); engine.eval(script.value()); } }