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
  • Method Summary

    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.
  • Method Details

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