public static String stringify(ScriptObjectMirror mirror) throws ScriptException { ScriptObjectMirror json = (ScriptObjectMirror) stringifyEngineThreadLocal.get().eval("JSON"); return (String) json.callMember("stringify", mirror); } }
public static void fun4(ScriptObjectMirror person) { System.out.println("Full Name is: " + person.callMember("getFullName")); }
@Override public String toJsonString( final Object value ) { return (String) this.jsonProto.callMember( "stringify", value ); }
@Override public ScriptObjectMirror parseJson( final String value ) { return (ScriptObjectMirror) this.jsonProto.callMember( "parse", value ); } }
@Override public void operationComplete(Future<Object> future) throws Exception { if (future.await(1, TimeUnit.SECONDS)) { Object body = future.getNow(); if (body == null) { return; } if (!(body instanceof ScriptObjectMirror)) { returnError(request, "The script must return an object or array {collection: '', properties: {}}", BAD_REQUEST); } ScriptObjectMirror json = (ScriptObjectMirror) ((ScriptObjectMirror) body).eval("JSON"); Object stringify = json.callMember("stringify", body); request.response(stringify.toString()).end(); } else { byte[] bytes = JsonHelper.encodeAsBytes(errorMessage("Webhook code timeouts.", INTERNAL_SERVER_ERROR)); request.response(bytes, INTERNAL_SERVER_ERROR).end(); } } });
public static void addToArray( final Object array, final Object value ) { ( (ScriptObjectMirror) array ).callMember( "push", value ); } }
public static <T> T invoke( ScriptObjectMirror context, String func, Object... args ) { return (T)context.callMember( func, args ); }
public static <T> T invoke( ScriptObjectMirror context, String func, Object... args ) { return (T)context.callMember( func, args ); }
Object stringify = json.callMember("stringify", body);
ScriptObjectMirror jsDate = (ScriptObjectMirror) engine.eval("new Date();") long timestampLocalTime = (Long) jsDate.callMember("getTime"); // yes, js date returns timestamp in local time so you need to adjust it... ;) int timezoneOffsetMinutes = (Integer) jsDate.callMember("getTimezoneOffset"); // java.util.Date construcctor utilizes UTC timestamp Date jDate = new Date(timestampLocalTime + timezoneOffsetMinutes * 60 * 1000);
/** * Support returning a JS object instead of JSON string. */ @Override protected String toJson(Object result) throws ScriptException { ScriptObjectMirror json = (ScriptObjectMirror) scriptEngine.eval("JSON"); return (String) json.callMember("stringify", result); } }
public static Date toDate( final Object value ) { final Number time = (Number) ( (ScriptObjectMirror) value ).callMember( "getTime" ); return new Date( time.longValue() ); }
Date start = new Date(); ScriptObjectMirror jsDate = (ScriptObjectMirror) engine.eval("new Date();") jsDate.callMember("setTime",start.getTime()); engine.put("start", jsDate); engine.eval("print(start.constructor + ':' + start)");
/** * @since 8.4 */ public static Calendar unwrapDate(ScriptObjectMirror jso) { if (!JAVASCRIPT_DATE_CLASS_TYPE.equals(jso.getClassName())) { throw new IllegalArgumentException("JavaScript input is not a Date!"); } Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(((Double) jso.callMember("getTime")).longValue()); return cal; }
public static <T> T invokeStatic( ScriptEngine engine, String className, String func, Object... args ) { ScriptObjectMirror classObject = getClassObject( engine, className ); return (T)classObject.callMember( func, args ); }
public static <T> T invokeStatic( ScriptEngine engine, String className, String func, Object... args ) { ScriptObjectMirror classObject = getClassObject( engine, className ); return (T)classObject.callMember( func, args ); }
@Override public void stop(Future<Void> stopFuture) throws Exception { if (functionExists(VERTX_STOP_FUNCTION)) { exports.callMember(VERTX_STOP_FUNCTION); stopFuture.complete(); } else if (functionExists(VERTX_STOP_ASYNC_FUNCTION)) { Object wrappedFuture = futureJSClass.newObject(stopFuture); exports.callMember(VERTX_STOP_ASYNC_FUNCTION, wrappedFuture); } else { stopFuture.complete(); } } }
public void stop(ShortcutDTO shortcutDTO, Consumer<Exception> errorCallback) { final InteractiveScriptSession interactiveScriptSession = scriptInterpreter.createInteractiveSession(); interactiveScriptSession.eval("include([\"engines\", \"wine\", \"shortcuts\", \"reader\"]);", ignored -> interactiveScriptSession.eval("new ShortcutReader()", output -> { final ScriptObjectMirror shortcutReader = (ScriptObjectMirror) output; shortcutReader.callMember("of", shortcutDTO); shortcutReader.callMember("stop"); }, errorCallback), errorCallback); }
public void uninstallFromShortcut(ShortcutDTO shortcutDTO, Consumer<Exception> errorCallback) { final InteractiveScriptSession interactiveScriptSession = scriptInterpreter.createInteractiveSession(); interactiveScriptSession.eval("include([\"engines\", \"wine\", \"shortcuts\", \"reader\"]);", ignored -> interactiveScriptSession.eval("new ShortcutReader()", output -> { final ScriptObjectMirror shortcutReader = (ScriptObjectMirror) output; shortcutReader.callMember("of", shortcutDTO); shortcutReader.callMember("uninstall"); }, errorCallback), errorCallback); }
public void run(ShortcutDTO shortcutDTO, List<String> arguments, Consumer<Exception> errorCallback) { final InteractiveScriptSession interactiveScriptSession = scriptInterpreter.createInteractiveSession(); interactiveScriptSession.eval("include([\"engines\", \"wine\", \"shortcuts\", \"reader\"]);", ignored -> interactiveScriptSession.eval("new ShortcutReader()", output -> { final ScriptObjectMirror shortcutReader = (ScriptObjectMirror) output; shortcutReader.callMember("of", shortcutDTO); shortcutReader.callMember("run", arguments); }, errorCallback), errorCallback); }