public class

JavaScriptObject

extends Object
java.lang.Object
   ↳ com.google.gwt.core.client.JavaScriptObject
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

An opaque handle to a native JavaScript object. A JavaScriptObject cannot be created directly. JavaScriptObject should be declared as the return type of a JSNI method that returns native (non-Java) objects. A JavaScriptObject passed back into JSNI from Java becomes the original object, and can be accessed in JavaScript as expected.

Summary

Protected Constructors
JavaScriptObject()
Not directly instantiable.
Public Methods
final <T extends JavaScriptObject> T cast()
A helper method to enable cross-casting from any JavaScriptObject type to any other JavaScriptObject type.
static JavaScriptObject createArray()
Returns a new array.
static JavaScriptObject createFunction()
Returns an empty function.
static JavaScriptObject createObject()
Returns a new object.
final boolean equals(Object other)
Returns true if the objects are JavaScript identical (triple-equals).
final int hashCode()
Uses a monotonically increasing counter to assign a hash code to the underlying JavaScript object.
String toSource()
Call the toSource() on the JSO.
final String toString()
Makes a best-effort attempt to get a useful debugging string describing the given JavaScriptObject.
[Expand]
Inherited Methods
From class java.lang.Object

Protected Constructors

protected JavaScriptObject ()

Not directly instantiable. All subclasses must also define a protected, empty, no-arg constructor.

Public Methods

public final T cast ()

A helper method to enable cross-casting from any JavaScriptObject type to any other JavaScriptObject type.

Returns
  • this object as a different type

public static JavaScriptObject createArray ()

Returns a new array.

public static JavaScriptObject createFunction ()

Returns an empty function.

public static JavaScriptObject createObject ()

Returns a new object.

public final boolean equals (Object other)

Returns true if the objects are JavaScript identical (triple-equals).

public final int hashCode ()

Uses a monotonically increasing counter to assign a hash code to the underlying JavaScript object. Do not call this method on non-modifiable JavaScript objects. TODO: if the underlying object defines a 'hashCode' method maybe use that?

Returns
  • the hash code of the object

public String toSource ()

Call the toSource() on the JSO.

public final String toString ()

Makes a best-effort attempt to get a useful debugging string describing the given JavaScriptObject. In Production Mode with assertions disabled, this will either call and return the JSO's toString() if one exists, or just return "[JavaScriptObject]". In Development Mode, or with assertions enabled, some stronger effort is made to represent other types of JSOs, including inspecting for document nodes' outerHTML and innerHTML, etc.