Class ScriptObjectMirror
- java.lang.Object
-
- jdk.nashorn.api.scripting.AbstractJSObject
-
- jdk.nashorn.api.scripting.ScriptObjectMirror
@Deprecated(since="11", forRemoval=true) public final class ScriptObjectMirror extends AbstractJSObject implements Bindings
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)
Call member function
- Parameters:
-
functionName
- function name -
args
- arguments - Returns:
- return value of function
setIndexedPropertiesToExternalArrayData
public void setIndexedPropertiesToExternalArrayData(ByteBuffer buf)
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)
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()
Return the __proto__ of this object.
- Returns:
- __proto__ object.
setProto
public void setProto(Object proto)
Set the __proto__ of this object.
- Parameters:
-
proto
- new proto for this object
getOwnPropertyDescriptor
public Object getOwnPropertyDescriptor(String key)
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)
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()
Flag this script object as non extensible
- Returns:
- the object after being made non extensible
isExtensible
public boolean isExtensible()
Check if this script object is extensible
- Returns:
- true if extensible
seal
public ScriptObjectMirror seal()
ECMAScript 15.2.3.8 - seal implementation
- Returns:
- the sealed script object
isSealed
public boolean isSealed()
Check whether this script object is sealed
- Returns:
- true if sealed
freeze
public ScriptObjectMirror freeze()
ECMA 15.2.39 - freeze implementation. Freeze this script object
- Returns:
- the frozen script object
isFrozen
public boolean isFrozen()
Check whether this script object is frozen
- Returns:
- true if frozen
isUndefined
public static boolean isUndefined(Object obj)
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)
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)
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)
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)
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)
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)
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)
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