Class AbstractJSObject

All Implemented Interfaces:
JSObject
Direct Known Subclasses:
ScriptObjectMirror
@Deprecated(since="11",
            forRemoval=true)
public abstract class AbstractJSObject
extends Object
implements 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 is the base class for nashorn ScriptObjectMirror class. This class can also be subclassed 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 class.

Since:
1.8u40

Constructors

Constructor Description
AbstractJSObject()

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

The default constructor.

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.

static Object getDefaultValue​(JSObject jsobj, Class<?> hint)

Deprecated.

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 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

double toNumber()

Deprecated.

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 declared in class java.lang.Object

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

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

getClassName, getDefaultValue, isInstanceOf

Constructors

AbstractJSObject

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

The default constructor.

Methods

call

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

Description copied from interface: JSObject

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

Specified by:
call in interface JSObject
Implementation Requirements:
This implementation always throws UnsupportedOperationException
Parameters:
thiz - 'this' object to be passed to the function. This may be null.
args - arguments to method
Returns:
result of call

newObject

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

Description copied from interface: JSObject

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

Specified by:
newObject in interface JSObject
Implementation Requirements:
This implementation always throws UnsupportedOperationException
Parameters:
args - arguments to method
Returns:
result of constructor call

eval

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

Description copied from interface: JSObject

Evaluate a JavaScript expression.

Specified by:
eval in interface JSObject
Implementation Requirements:
This imlementation always throws UnsupportedOperationException
Parameters:
s - JavaScript expression to evaluate
Returns:
evaluation result

getMember

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

Description copied from interface: JSObject

Retrieves a named member of this JavaScript object.

Specified by:
getMember in interface JSObject
Implementation Requirements:
This implementation always returns null
Parameters:
name - of member
Returns:
member

getSlot

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

Description copied from interface: JSObject

Retrieves an indexed member of this JavaScript object.

Specified by:
getSlot in interface JSObject
Implementation Requirements:
This implementation always returns null
Parameters:
index - index slot to retrieve
Returns:
member

hasMember

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

Description copied from interface: JSObject

Does this object have a named member?

Specified by:
hasMember in interface JSObject
Implementation Requirements:
This implementation always returns false
Parameters:
name - name of member
Returns:
true if this object has a member of the given name

hasSlot

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

Description copied from interface: JSObject

Does this object have a indexed property?

Specified by:
hasSlot in interface JSObject
Implementation Requirements:
This implementation always returns false
Parameters:
slot - index to check
Returns:
true if this object has a slot

removeMember

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

Description copied from interface: JSObject

Remove a named member from this JavaScript object

Specified by:
removeMember in interface JSObject
Implementation Requirements:
This implementation is a no-op
Parameters:
name - name of the member

setMember

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

Description copied from interface: JSObject

Set a named member in this JavaScript object

Specified by:
setMember in interface JSObject
Implementation Requirements:
This implementation is a no-op
Parameters:
name - name of the member
value - value of the member

setSlot

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

Description copied from interface: JSObject

Set an indexed member in this JavaScript object

Specified by:
setSlot in interface JSObject
Implementation Requirements:
This implementation is a no-op
Parameters:
index - index of the member slot
value - value of the member

keySet

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

Description copied from interface: JSObject

Returns the set of all property names of this object.

Specified by:
keySet in interface JSObject
Implementation Requirements:
This implementation returns empty set
Returns:
set of property names

values

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

Description copied from interface: JSObject

Returns the set of all property values of this object.

Specified by:
values in interface JSObject
Implementation Requirements:
This implementation returns empty set
Returns:
set of property values.

isInstance

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

Description copied from interface: JSObject

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

Specified by:
isInstance in interface JSObject
Implementation Requirements:
This implementation always returns false
Parameters:
instance - instance to check
Returns:
true if the given 'instance' is an instance of this 'function' object

isFunction

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

Description copied from interface: JSObject

Is this a function object?

Specified by:
isFunction in interface JSObject
Implementation Requirements:
This implementation always returns false
Returns:
if this mirror wraps a ECMAScript function instance

isStrictFunction

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

Description copied from interface: JSObject

Is this a 'use strict' function object?

Specified by:
isStrictFunction in interface JSObject
Implementation Requirements:
This implementation always returns false
Returns:
true if this mirror represents a ECMAScript 'use strict' function

isArray

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

Description copied from interface: JSObject

Is this an array object?

Specified by:
isArray in interface JSObject
Implementation Requirements:
This implementation always returns false
Returns:
if this mirror wraps a ECMAScript array object

toNumber

@Deprecated
public double toNumber()
Deprecated.

Returns this object's numeric value.

Specified by:
toNumber in interface JSObject
Returns:
this object's numeric value.

getDefaultValue

@Deprecated
public static Object getDefaultValue(JSObject jsobj,
                                     Class<?> hint)
Deprecated.

When passed an AbstractJSObject, invokes its JSObject.getDefaultValue(Class) method. When passed any other JSObject, it will obtain its [[DefaultValue]] method as per ECMAScript 5.1 section 8.6.2.

Parameters:
jsobj - the JSObject whose [[DefaultValue]] is obtained.
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/AbstractJSObject.html