Class JavaScriptObject

    • Constructor Detail

      • JavaScriptObject

        protected JavaScriptObject()
        Not directly instantiable. All subclasses must also define a protected, empty, no-arg constructor.
    • Method Detail

      • createArray

        public static JavaScriptObject createArray()
        Returns a new array.
      • createArray

        public static JavaScriptObject createArray​(int size)
        Returns a new array with a given size.

        Consider using this method in performance critical code instead of using createArray(), since this gives more hints to the underlying JavaScript VM for optimizations.

      • 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)
        Calls a native JS equals method if any, otherwise returns true if the objects are JavaScript identical (triple-equals).
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public final int hashCode()
        Calls a native JS hashCode method if any, otherwise 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.
        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 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.
        Overrides:
        toString in class java.lang.Object