Interface JSObject

All Known Implementing Classes:
AbstractJSObject, ScriptObjectMirror
@Deprecated(since="11",
            forRemoval=true)
public interface JSObject
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.

This interface can be implemented by an arbitrary Java class. Nashorn will treat objects of such classes just like nashorn script objects. Usual nashorn operations like obj[i], obj.foo, obj.func(), delete obj.foo will be delegated to appropriate method call of this interface.

Since:
1.8u40

Methods

Modifier and Type Method Description
Object call​(Object thiz, Object... args)

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

Call this object as a JavaScript function.

Object eval​(String s)

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

Evaluate a JavaScript expression.

String getClassName()

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

ECMA [[Class]] property

default Object getDefaultValue​(Class<?> hint)

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

Implements this object's [[DefaultValue]] method as per ECMAScript 5.1 section 8.6.2.

Object getMember​(String name)

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

Retrieves a named member of this JavaScript object.

Object getSlot​(int index)

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

Retrieves an indexed member of this JavaScript object.

boolean hasMember​(String name)

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

Does this object have a named member?

boolean hasSlot​(int slot)

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

Does this object have a indexed property?

boolean isArray()

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

Is this an array object?

boolean isFunction()

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

Is this a function object?

boolean isInstance​(Object instance)

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

Checking whether the given object is an instance of 'this' object.

boolean isInstanceOf​(Object clazz)

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

Checking whether this object is an instance of the given 'clazz' object.

boolean isStrictFunction()

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

Is this a 'use strict' function object?

Set<String> keySet()

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

Returns the set of all property names of this object.

Object newObject​(Object... args)

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

Call this 'constructor' JavaScript function to create a new object.

void removeMember​(String name)

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

Remove a named member from this JavaScript object

void setMember​(String name, Object value)

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

Set a named member in this JavaScript object

void setSlot​(int index, Object value)

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

Set an indexed member in this JavaScript object

default double toNumber()

Deprecated.

use getDefaultValue(Class) with Number hint instead.

Collection<Object> values()

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

Returns the set of all property values of this object.

Methods

call

Object call(Object thiz,
            Object... args)
Deprecated, for removal: This API element is subject to removal in a future version.

Call this object as a JavaScript function. This is equivalent to 'func.apply(thiz, args)' in JavaScript.

Parameters:
thiz - 'this' object to be passed to the function. This may be null.
args - arguments to method
Returns:
result of call

newObject

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

Call this 'constructor' JavaScript function to create a new object. This is equivalent to 'new func(arg1, arg2...)' in JavaScript.

Parameters:
args - arguments to method
Returns:
result of constructor call

eval

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

Evaluate a JavaScript expression.

Parameters:
s - JavaScript expression to evaluate
Returns:
evaluation result

getMember

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

Retrieves a named member of this JavaScript object.

Parameters:
name - of member
Returns:
member
Throws:
NullPointerException - if name is null

getSlot

Object getSlot(int index)
Deprecated, for removal: This API element is subject to removal in a future version.

Retrieves an indexed member of this JavaScript object.

Parameters:
index - index slot to retrieve
Returns:
member

hasMember

boolean hasMember(String name)
Deprecated, for removal: This API element is subject to removal in a future version.

Does this object have a named member?

Parameters:
name - name of member
Returns:
true if this object has a member of the given name

hasSlot

boolean hasSlot(int slot)
Deprecated, for removal: This API element is subject to removal in a future version.

Does this object have a indexed property?

Parameters:
slot - index to check
Returns:
true if this object has a slot

removeMember

void removeMember(String name)
Deprecated, for removal: This API element is subject to removal in a future version.

Remove a named member from this JavaScript object

Parameters:
name - name of the member
Throws:
NullPointerException - if name is null

setMember

void setMember(String name,
               Object value)
Deprecated, for removal: This API element is subject to removal in a future version.

Set a named member in this JavaScript object

Parameters:
name - name of the member
value - value of the member
Throws:
NullPointerException - if name is null

setSlot

void setSlot(int index,
             Object value)
Deprecated, for removal: This API element is subject to removal in a future version.

Set an indexed member in this JavaScript object

Parameters:
index - index of the member slot
value - value of the member

keySet

Set<String> keySet()
Deprecated, for removal: This API element is subject to removal in a future version.

Returns the set of all property names of this object.

Returns:
set of property names

values

Collection<Object> values()
Deprecated, for removal: This API element is subject to removal in a future version.

Returns the set of all property values of this object.

Returns:
set of property values.

isInstance

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

Checking whether the given object is an instance of 'this' object.

Parameters:
instance - instance to check
Returns:
true if the given 'instance' is an instance of this 'function' object

isInstanceOf

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

Checking whether this object is an instance of the given 'clazz' object.

Parameters:
clazz - clazz to check
Returns:
true if this object is an instance of the given 'clazz'

getClassName

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

ECMA [[Class]] property

Returns:
ECMA [[Class]] property value of this object

isFunction

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

Is this a function object?

Returns:
if this mirror wraps a ECMAScript function instance

isStrictFunction

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

Is this a 'use strict' function object?

Returns:
true if this mirror represents a ECMAScript 'use strict' function

isArray

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

Is this an array object?

Returns:
if this mirror wraps a ECMAScript array object

toNumber

@Deprecated
default double toNumber()
Deprecated.
use getDefaultValue(Class) with Number hint instead.

Returns this object's numeric value.

Returns:
this object's numeric value.

getDefaultValue

default Object getDefaultValue(Class<?> hint)
                        throws UnsupportedOperationException
Deprecated, for removal: This API element is subject to removal in a future version.

Implements this object's [[DefaultValue]] method as per ECMAScript 5.1 section 8.6.2.

Parameters:
hint - the type hint. Should be either null, Number.class or String.class.
Returns:
this object's default value.
Throws:
UnsupportedOperationException - if the conversion can't be performed. The engine will convert this exception into a JavaScript TypeError.

© 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/JSObject.html