List of usage examples for jdk.nashorn.internal.runtime ScriptObject addOwnProperty
public final Property addOwnProperty(final String key, final int propertyFlags, final Object value)
From source file:com.mckoi.mwpui.nodejs.nashorn.NashornJSSystem.java
License:Open Source License
@Override public ByteBuffer allocateExternalArrayDataOf(GJSObject source, int alloc_size) { ScriptObjectMirror nashorn_ob = (ScriptObjectMirror) source.internalGetNative(); // Allocate the buffer, ByteBuffer bb = ByteBuffer.allocate(alloc_size); // We use the unwrapped nashorn object as a key, ScriptObject script_ob = (ScriptObject) instance_global.unwrap(nashorn_ob); // The ByteBuffer property should be read only, int ro_flags = Property.NOT_WRITABLE | Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE; script_ob.addOwnProperty(BYTEBUFFER_OBJECT_PROPERTY_NAME, ro_flags, bb); nashorn_ob.setIndexedPropertiesToExternalArrayData(bb); return bb;//from w w w . j av a2 s.c o m }
From source file:com.mckoi.mwpui.nodejs.nashorn.NashornJSSystem.java
License:Open Source License
void setROHiddenMember(JSObject ob, String name, Object value) { // We use the unwrapped nashorn object, ScriptObject script_ob = (ScriptObject) instance_global.unwrap(ob); // Read-only hidden property flags, int ro_flags = Property.NOT_WRITABLE | Property.NOT_ENUMERABLE | Property.NOT_CONFIGURABLE; script_ob.addOwnProperty(name, ro_flags, value); }
From source file:org.kihara.util.JavascriptEngine.java
License:Open Source License
/** * Runs launches "fx:bootstrap.js" with the given JavaScript files provided * as arguments./*from w w w .jav a2 s . co m*/ * * @param context the nashorn context * @param global the global scope * @param files the list of script files to provide * * @return error code * @throws IOException when any script file read results in I/O error */ private static int runFXScripts(final Context context, final ScriptObject global, final List<String> files) throws IOException { final ScriptObject oldGlobal = Context.getGlobal(); final boolean globalChanged = (oldGlobal != global); try { if (globalChanged) { Context.setGlobal(global); } global.addOwnProperty("$GLOBAL", Property.NOT_ENUMERABLE, global); global.addOwnProperty("$SCRIPTS", Property.NOT_ENUMERABLE, files); context.load(global, "fx:bootstrap.js"); } catch (final NashornException e) { context.getErrorManager().error(e.toString()); if (context.getEnv()._dump_on_error) { e.printStackTrace(context.getErr()); } return RUNTIME_ERROR; } finally { context.getOut().flush(); context.getErr().flush(); if (globalChanged) { Context.setGlobal(oldGlobal); } } return SUCCESS; }