com.google.gwt.core.client
Class JavaScriptObject

java.lang.Object
  extended by com.google.gwt.core.client.JavaScriptObject
Direct Known Subclasses:
CurrencyDataImpl, EventTarget, JsArray, JsArrayBoolean, JsArrayInteger, JsArrayMixed, JsArrayNumber, JsArrayString, JsDate, NativeEvent, Node, NodeCollection, NodeList, RecordJsoImpl, Style, TimeZoneInfo, TypeOverrides, TypeOverrides.SerializeFunction, XMLHttpRequest

public class JavaScriptObject
extends java.lang.Object

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.


Method Summary
<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.
 boolean equals(java.lang.Object other)
          Returns true if the objects are JavaScript identical (triple-equals).
 int hashCode()
          Uses a monotonically increasing counter to assign a hash code to the underlying JavaScript object.
 java.lang.String toSource()
          Call the toSource() on the JSO.
 java.lang.String toString()
          Makes a best-effort attempt to get a useful debugging string describing the given JavaScriptObject.
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

createArray

public static JavaScriptObject createArray()
Returns a new array.


createFunction

public static JavaScriptObject createFunction()
Returns an empty function.


createObject

public static JavaScriptObject createObject()
Returns a new object.


cast

public final <T extends JavaScriptObject> T cast()
A helper method to enable cross-casting from any JavaScriptObject type to any other JavaScriptObject type.

Type Parameters:
T - the target type
Returns:
this object as a different type

equals

public final boolean equals(java.lang.Object other)
Returns true if the objects are JavaScript identical (triple-equals).

Overrides:
equals in class java.lang.Object

hashCode

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?

Overrides:
hashCode in class java.lang.Object
Returns:
the hash code of the object

toSource

public java.lang.String toSource()
Call the toSource() on the JSO.


toString

public final java.lang.String toString()
Makes a best-effort attempt to get a useful debugging string describing the given JavaScriptObject. In web mode with assertions disabled, this will either call and return the JSO's toString() if one exists, or just return "[JavaScriptObject]". In hosted 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.

Overrides:
toString in class java.lang.Object