netscape.javascript

## Class JSObject

- java.lang.Object
- - netscape.javascript.JSObject

-     public abstract class JSObject
      extends Object

  Allows Java code to manipulate JavaScript objects.

  When a JavaScript object is passed or returned to Java code, it is wrapped in an instance of `JSObject`. When a `JSObject` instance is passed to the JavaScript engine, it is unwrapped back to its original JavaScript object. The `JSObject` class provides a way to invoke JavaScript methods and examine JavaScript properties.

  Any data returned from the JavaScript engine to Java is converted to Java data types. Certain data passed to the JavaScript engine is converted to JavaScript data types. See the section on Data Type Conversions in the new LiveConnect Specification for details on how values are converted.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `JSObject()` Constructs a new JSObject.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract Object` | `call(String methodName, Object... args)` Calls a JavaScript method.
    `abstract Object` | `eval(String s)` Evaluates a JavaScript expression.
    `abstract Object` | `getMember(String name)` Retrieves a named member of a JavaScript object.
    `abstract Object` | `getSlot(int index)` Retrieves an indexed member of a JavaScript object.
    `static JSObject` | `getWindow(Applet applet)` Returns a JSObject for the window containing the given applet.
    `abstract void` | `removeMember(String name)` Removes a named member of a JavaScript object.
    `abstract void` | `setMember(String name, Object value)` Sets a named member of a JavaScript object.
    `abstract void` | `setSlot(int index, Object value)` Sets an indexed member of a JavaScript object.

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### JSObject

          protected JSObject()

      Constructs a new JSObject. Users should not call this method nor subclass JSObject.

  - ### Method Detail

    - #### call

          public abstract Object call(String methodName,
                                      Object... args)
                               throws JSException

      Calls a JavaScript method. Equivalent to "this.methodName(args[0], args[1], ...)" in JavaScript.

      Parameters:
        `methodName` - The name of the JavaScript method to be invoked.
        `args` - the Java objects passed as arguments to the method.
      Returns:
        Result of the method.
      Throws:
        `JSException`

    - #### eval

          public abstract Object eval(String s)
                               throws JSException

      Evaluates a JavaScript expression. The expression is a string of JavaScript source code which will be evaluated in the context given by "this".

      Parameters:
        `s` - The JavaScript expression.
      Returns:
        Result of the JavaScript evaluation.
      Throws:
        `JSException`

    - #### getMember

          public abstract Object getMember(String name)
                                    throws JSException

      Retrieves a named member of a JavaScript object. Equivalent to "this.name" in JavaScript.

      Parameters:
        `name` - The name of the JavaScript property to be accessed.
      Returns:
        The value of the propery.
      Throws:
        `JSException`

    - #### setMember

          public abstract void setMember(String name,
                                         Object value)
                                  throws JSException

      Sets a named member of a JavaScript object. Equivalent to "this.name = value" in JavaScript.

      Parameters:
        `name` - The name of the JavaScript property to be accessed.
        `value` - The value of the propery.
      Throws:
        `JSException`

    - #### removeMember

          public abstract void removeMember(String name)
                                     throws JSException

      Removes a named member of a JavaScript object. Equivalent to "delete this.name" in JavaScript.

      Parameters:
        `name` - The name of the JavaScript property to be removed.
      Throws:
        `JSException`

    - #### getSlot

          public abstract Object getSlot(int index)
                                  throws JSException

      Retrieves an indexed member of a JavaScript object. Equivalent to "this[index]" in JavaScript.

      Parameters:
        `index` - The index of the array to be accessed.
      Returns:
        The value of the indexed member.
      Throws:
        `JSException`

    - #### setSlot

          public abstract void setSlot(int index,
                                       Object value)
                                throws JSException

      Sets an indexed member of a JavaScript object. Equivalent to "this[index] = value" in JavaScript.

      Parameters:
        `index` - The index of the array to be accessed.
      Throws:
        `JSException`

    - #### getWindow

          public static JSObject getWindow(Applet applet)
                                    throws JSException

      Returns a JSObject for the window containing the given applet.

      Parameters:
        `applet` - The applet.
      Returns:
        JSObject for the window containing the given applet.
      Throws:
        `JSException`

Copyright (c) 2008, 2015, Oracle and/or its affiliates. All rights reserved.