Class ScriptObjectMirror

All Implemented Interfaces:
Map<String,​Object>, Bindings, JSObject
@Deprecated(since="11",
            forRemoval=true)
public final class ScriptObjectMirror
extends AbstractJSObject
implements Bindings
Deprecated, for removal: This API element is subject to removal in a future version.
Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.

Mirror object that wraps a given Nashorn Script object.

Since:
1.8u40

Nested Classes

Nested classes/interfaces declared in interface java.util.Map

Map.Entry<K,​V>

Methods

Modifier and Type Method Description
Object callMember​(String functionName, Object... args)

Deprecated, for removal: This API element is subject to removal in a future version.

Call member function

boolean delete​(Object key)

Deprecated, for removal: This API element is subject to removal in a future version.

Delete a property from this object.

ScriptObjectMirror freeze()

Deprecated, for removal: This API element is subject to removal in a future version.

ECMA 15.2.39 - freeze implementation.

String[] getOwnKeys​(boolean all)

Deprecated, for removal: This API element is subject to removal in a future version.

return an array of own property keys associated with the object.

Object getOwnPropertyDescriptor​(String key)

Deprecated, for removal: This API element is subject to removal in a future version.

ECMA 8.12.1 [[GetOwnProperty]] (P)

Object getProto()

Deprecated, for removal: This API element is subject to removal in a future version.

Return the __proto__ of this object.

static boolean identical​(Object obj1, Object obj2)

Deprecated, for removal: This API element is subject to removal in a future version.

Are the given objects mirrors to same underlying object?

boolean isExtensible()

Deprecated, for removal: This API element is subject to removal in a future version.

Check if this script object is extensible

boolean isFrozen()

Deprecated, for removal: This API element is subject to removal in a future version.

Check whether this script object is frozen

boolean isSealed()

Deprecated, for removal: This API element is subject to removal in a future version.

Check whether this script object is sealed

static boolean isUndefined​(Object obj)

Deprecated, for removal: This API element is subject to removal in a future version.

Utility to check if given object is ECMAScript undefined value

ScriptObjectMirror preventExtensions()

Deprecated, for removal: This API element is subject to removal in a future version.

Flag this script object as non extensible

ScriptObjectMirror seal()

Deprecated, for removal: This API element is subject to removal in a future version.

ECMAScript 15.2.3.8 - seal implementation

void setIndexedPropertiesToExternalArrayData​(ByteBuffer buf)

Deprecated, for removal: This API element is subject to removal in a future version.

Nashorn extension: setIndexedPropertiesToExternalArrayData.

void setProto​(Object proto)

Deprecated, for removal: This API element is subject to removal in a future version.

Set the __proto__ of this object.

<T> T to​(Class<T> type)

Deprecated, for removal: This API element is subject to removal in a future version.

Utility to convert this script object to the given type.

static Object unwrap​(Object obj, Object homeGlobal)

Deprecated, for removal: This API element is subject to removal in a future version.

Unwrap a script object mirror if needed.

static Object[] unwrapArray​(Object[] args, Object homeGlobal)

Deprecated, for removal: This API element is subject to removal in a future version.

Unwrap an array of script object mirrors if needed.

static Object wrap​(Object obj, Object homeGlobal)

Deprecated, for removal: This API element is subject to removal in a future version.

Make a script object mirror on given object if needed.

static Object[] wrapArray​(Object[] args, Object homeGlobal)

Deprecated, for removal: This API element is subject to removal in a future version.

Wrap an array of object to script object mirrors if needed.

static Object wrapAsJSONCompatible​(Object obj, Object homeGlobal)

Deprecated, for removal: This API element is subject to removal in a future version.

Make a script object mirror on given object if needed.

Methods declared in class jdk.nashorn.api.scripting.AbstractJSObject

call, eval, getDefaultValue, getMember, getSlot, hasMember, hasSlot, isArray, isFunction, isInstance, isStrictFunction, keySet, newObject, removeMember, setMember, setSlot, toNumber, values

Methods declared in class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods declared in interface javax.script.Bindings

containsKey, get, put, putAll, remove

Methods declared in interface jdk.nashorn.api.scripting.JSObject

getClassName, getDefaultValue, isInstanceOf

Methods declared in interface java.util.Map

clear, compute, computeIfAbsent, computeIfPresent, containsValue, entrySet, equals, forEach, getOrDefault, hashCode, isEmpty, keySet, merge, putIfAbsent, remove, replace, replace, replaceAll, size, values

Methods

callMember

public Object callMember(String functionName,
                         Object... args)
Deprecated, for removal: This API element is subject to removal in a future version.

Call member function

Parameters:
functionName - function name
args - arguments
Returns:
return value of function

setIndexedPropertiesToExternalArrayData

public void setIndexedPropertiesToExternalArrayData(ByteBuffer buf)
Deprecated, for removal: This API element is subject to removal in a future version.

Nashorn extension: setIndexedPropertiesToExternalArrayData. set indexed properties be exposed from a given nio ByteBuffer.

Parameters:
buf - external buffer - should be a nio ByteBuffer

delete

public boolean delete(Object key)
Deprecated, for removal: This API element is subject to removal in a future version.

Delete a property from this object.

Parameters:
key - the property to be deleted
Returns:
if the delete was successful or not

getProto

public Object getProto()
Deprecated, for removal: This API element is subject to removal in a future version.

Return the __proto__ of this object.

Returns:
__proto__ object.

setProto

public void setProto(Object proto)
Deprecated, for removal: This API element is subject to removal in a future version.

Set the __proto__ of this object.

Parameters:
proto - new proto for this object

getOwnPropertyDescriptor

public Object getOwnPropertyDescriptor(String key)
Deprecated, for removal: This API element is subject to removal in a future version.

ECMA 8.12.1 [[GetOwnProperty]] (P)

Parameters:
key - property key
Returns:
Returns the Property Descriptor of the named own property of this object, or undefined if absent.

getOwnKeys

public String[] getOwnKeys(boolean all)
Deprecated, for removal: This API element is subject to removal in a future version.

return an array of own property keys associated with the object.

Parameters:
all - True if to include non-enumerable keys.
Returns:
Array of keys.

preventExtensions

public ScriptObjectMirror preventExtensions()
Deprecated, for removal: This API element is subject to removal in a future version.

Flag this script object as non extensible

Returns:
the object after being made non extensible

isExtensible

public boolean isExtensible()
Deprecated, for removal: This API element is subject to removal in a future version.

Check if this script object is extensible

Returns:
true if extensible

seal

public ScriptObjectMirror seal()
Deprecated, for removal: This API element is subject to removal in a future version.

ECMAScript 15.2.3.8 - seal implementation

Returns:
the sealed script object

isSealed

public boolean isSealed()
Deprecated, for removal: This API element is subject to removal in a future version.

Check whether this script object is sealed

Returns:
true if sealed

freeze

public ScriptObjectMirror freeze()
Deprecated, for removal: This API element is subject to removal in a future version.

ECMA 15.2.39 - freeze implementation. Freeze this script object

Returns:
the frozen script object

isFrozen

public boolean isFrozen()
Deprecated, for removal: This API element is subject to removal in a future version.

Check whether this script object is frozen

Returns:
true if frozen

isUndefined

public static boolean isUndefined(Object obj)
Deprecated, for removal: This API element is subject to removal in a future version.

Utility to check if given object is ECMAScript undefined value

Parameters:
obj - object to check
Returns:
true if 'obj' is ECMAScript undefined value

to

public <T> T to(Class<T> type)
Deprecated, for removal: This API element is subject to removal in a future version.

Utility to convert this script object to the given type.

Type Parameters:
T - destination type to convert to
Parameters:
type - destination type to convert to
Returns:
converted object

wrap

public static Object wrap(Object obj,
                          Object homeGlobal)
Deprecated, for removal: This API element is subject to removal in a future version.

Make a script object mirror on given object if needed.

Parameters:
obj - object to be wrapped/converted
homeGlobal - global to which this object belongs.
Returns:
wrapped/converted object

wrapAsJSONCompatible

public static Object wrapAsJSONCompatible(Object obj,
                                          Object homeGlobal)
Deprecated, for removal: This API element is subject to removal in a future version.

Make a script object mirror on given object if needed. The created wrapper will implement the Java List interface if obj is a JavaScript Array object; this is compatible with Java JSON libraries expectations. Arrays retrieved through its properties (transitively) will also implement the list interface.

Parameters:
obj - object to be wrapped/converted
homeGlobal - global to which this object belongs.
Returns:
wrapped/converted object

unwrap

public static Object unwrap(Object obj,
                            Object homeGlobal)
Deprecated, for removal: This API element is subject to removal in a future version.

Unwrap a script object mirror if needed.

Parameters:
obj - object to be unwrapped
homeGlobal - global to which this object belongs
Returns:
unwrapped object

wrapArray

public static Object[] wrapArray(Object[] args,
                                 Object homeGlobal)
Deprecated, for removal: This API element is subject to removal in a future version.

Wrap an array of object to script object mirrors if needed.

Parameters:
args - array to be unwrapped
homeGlobal - global to which this object belongs
Returns:
wrapped array

unwrapArray

public static Object[] unwrapArray(Object[] args,
                                   Object homeGlobal)
Deprecated, for removal: This API element is subject to removal in a future version.

Unwrap an array of script object mirrors if needed.

Parameters:
args - array to be unwrapped
homeGlobal - global to which this object belongs
Returns:
unwrapped array

identical

public static boolean identical(Object obj1,
                                Object obj2)
Deprecated, for removal: This API element is subject to removal in a future version.

Are the given objects mirrors to same underlying object?

Parameters:
obj1 - first object
obj2 - second object
Returns:
true if obj1 and obj2 are identical script objects or mirrors of it.

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/jdk.scripting.nashorn/jdk/nashorn/api/scripting/ScriptObjectMirror.html