Interface JSObject
- All Known Implementing Classes:
 - 
AbstractJSObject,ScriptObjectMirror 
@Deprecated(since="11",
            forRemoval=true)
public interface JSObject 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   |  
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) 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)
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)
Evaluate a JavaScript expression.
- Parameters:
 - 
s- JavaScript expression to evaluate - Returns:
 - evaluation result
 
getMember
Object getMember(String name)
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)
Retrieves an indexed member of this JavaScript object.
- Parameters:
 - 
index- index slot to retrieve - Returns:
 - member
 
hasMember
boolean hasMember(String name)
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)
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)
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) 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) Set an indexed member in this JavaScript object
- Parameters:
 - 
index- index of the member slot - 
value- value of the member 
keySet
Set<String> keySet()
Returns the set of all property names of this object.
- Returns:
 - set of property names
 
values
Collection<Object> values()
Returns the set of all property values of this object.
- Returns:
 - set of property values.
 
isInstance
boolean isInstance(Object instance)
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)
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()
ECMA [[Class]] property
- Returns:
 - ECMA [[Class]] property value of this object
 
isFunction
boolean isFunction()
Is this a function object?
- Returns:
 - if this mirror wraps a ECMAScript function instance
 
isStrictFunction
boolean isStrictFunction()
Is this a 'use strict' function object?
- Returns:
 - true if this mirror represents a ECMAScript 'use strict' function
 
isArray
boolean isArray()
Is this an array object?
- Returns:
 - if this mirror wraps a ECMAScript array object
 
toNumber
@Deprecated default double toNumber()
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 Implements this object's [[DefaultValue]] method as per ECMAScript 5.1 section 8.6.2.
- Parameters:
 - 
hint- the type hint. Should be eithernull,Number.classorString.class. - Returns:
 - this object's default value.
 - Throws:
 - 
UnsupportedOperationException- if the conversion can't be performed. The engine will convert this exception into a JavaScriptTypeError. 
    © 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