Class AbstractJSObject

java.lang.Object
jdk.nashorn.api.scripting.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
  • Constructor Summary

    Constructors 
    Constructor Description
    AbstractJSObject()
    Deprecated, for removal: This API element is subject to removal in a future version.
    The default constructor.
  • 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.
    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
  • Constructor Details

    • AbstractJSObject

      public AbstractJSObject()
      Deprecated, for removal: This API element is subject to removal in a future version.
      The default constructor.
  • Method Details

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