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 Detail

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