jdk.nashorn.internal.runtime.JSONListAdapter Java Examples
The following examples show how to use
jdk.nashorn.internal.runtime.JSONListAdapter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ScriptObjectMirror.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #2
Source File: ScriptObjectMirror.java From jdk8u_nashorn with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #3
Source File: ScriptObjectMirror.java From hottub with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #4
Source File: ScriptObjectMirror.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #5
Source File: ScriptObjectMirror.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #6
Source File: ScriptObjectMirror.java From openjdk-jdk8u with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #7
Source File: ScriptObjectMirror.java From jdk8u60 with GNU General Public License v2.0 | 6 votes |
/** * Make a script object mirror on given object if needed. Also converts ConsString instances to Strings. * * @param obj object to be wrapped/converted * @param homeGlobal global to which this object belongs. Not used for ConsStrings. * @param jsonCompatible if true, the created wrapper will implement the Java {@code List} interface if * {@code obj} is a JavaScript {@code Array} object. Arrays retrieved through its properties (transitively) * will also implement the list interface. * @return wrapped/converted object */ private static Object wrap(final Object obj, final Object homeGlobal, final boolean jsonCompatible) { if(obj instanceof ScriptObject) { if (!(homeGlobal instanceof Global)) { return obj; } final ScriptObject sobj = (ScriptObject)obj; final Global global = (Global)homeGlobal; final ScriptObjectMirror mirror = new ScriptObjectMirror(sobj, global, jsonCompatible); if (jsonCompatible && sobj.isArray()) { return new JSONListAdapter(mirror, global); } return mirror; } else if(obj instanceof ConsString) { return obj.toString(); } else if (jsonCompatible && obj instanceof ScriptObjectMirror) { // Since choosing JSON compatible representation is an explicit decision on user's part, if we're asked to // wrap a mirror that was not JSON compatible, explicitly create its compatible counterpart following the // principle of least surprise. return ((ScriptObjectMirror)obj).asJSONCompatible(); } return obj; }
Example #8
Source File: ScriptObjectMirror.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #9
Source File: ScriptObjectMirror.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #10
Source File: ScriptObjectMirror.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #11
Source File: ScriptObjectMirror.java From openjdk-jdk9 with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #12
Source File: ScriptObjectMirror.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #13
Source File: ScriptObjectMirror.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #14
Source File: ScriptObjectMirror.java From jdk8u_nashorn with GNU General Public License v2.0 | 5 votes |
/** * Unwrap a script object mirror if needed. * * @param obj object to be unwrapped * @param homeGlobal global to which this object belongs * @return unwrapped object */ public static Object unwrap(final Object obj, final Object homeGlobal) { if (obj instanceof ScriptObjectMirror) { final ScriptObjectMirror mirror = (ScriptObjectMirror)obj; return (mirror.global == homeGlobal)? mirror.sobj : obj; } else if (obj instanceof JSONListAdapter) { return ((JSONListAdapter)obj).unwrap(homeGlobal); } return obj; }
Example #15
Source File: AbstractJSObject.java From openjdk-jdk8u with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }
Example #16
Source File: AbstractJSObject.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }
Example #17
Source File: AbstractJSObject.java From jdk8u60 with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }
Example #18
Source File: AbstractJSObject.java From hottub with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }
Example #19
Source File: AbstractJSObject.java From jdk8u_nashorn with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }
Example #20
Source File: AbstractJSObject.java From TencentKona-8 with GNU General Public License v2.0 | 3 votes |
/** * When passed an {@link AbstractJSObject}, invokes its {@link #getDefaultValue(Class)} method. When passed any * other {@link JSObject}, it will obtain its {@code [[DefaultValue]]} method as per ECMAScript 5.1 section * 8.6.2. * * @param jsobj the {@link JSObject} whose {@code [[DefaultValue]]} is obtained. * @param hint the type hint. Should be either {@code null}, {@code Number.class} or {@code String.class}. * @return this object's default value. * @throws UnsupportedOperationException if the conversion can't be performed. The engine will convert this * exception into a JavaScript {@code TypeError}. */ public static Object getDefaultValue(final JSObject jsobj, final Class<?> hint) { if (jsobj instanceof AbstractJSObject) { return ((AbstractJSObject)jsobj).getDefaultValue(hint); } else if (jsobj instanceof JSONListAdapter) { return ((JSONListAdapter)jsobj).getDefaultValue(hint); } return DefaultValueImpl.getDefaultValue(jsobj, hint); }