com.smartgwt.client.util

## Class JSOHelper

- java.lang.Object
- - com.smartgwt.client.util.JSOHelper

-     public class JSOHelper
      extends java.lang.Object

  Utility class containing many useful static helper methods.

- - ### Method Summary

    All Methods Static Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addProperties(com.google.gwt.core.client.JavaScriptObject destination, com.google.gwt.core.client.JavaScriptObject propertiesObject)` Adds all properties and methods from the propertiesObject to the destination object.
    `static void` | `apply(com.google.gwt.core.client.JavaScriptObject config, com.google.gwt.core.client.JavaScriptObject jsObj)`
    `static com.google.gwt.core.client.JavaScriptObject` | `arrayConvert(com.google.gwt.core.client.JavaScriptObject[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `arrayConvert(java.lang.Object[] array)`
    `static java.lang.Object` | `arrayGetObject(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static int` | `arrayLength(com.google.gwt.core.client.JavaScriptObject array)`
    `static void` | `arraySet(com.google.gwt.core.client.JavaScriptObject array, int index, com.google.gwt.core.client.JavaScriptObject value)`
    `static void` | `arraySet(com.google.gwt.core.client.JavaScriptObject array, int index, java.lang.Object value)`
    `static java.lang.Object` | `callMethod(com.google.gwt.core.client.JavaScriptObject target, java.lang.String methodName, java.lang.Object[] arguments)` Invoke a method on some JavaScript object, passing in the specified array of parameters.
    `static com.google.gwt.core.client.JavaScriptObject` | `cleanProperties(com.google.gwt.core.client.JavaScriptObject properties, boolean copyProperties)` Removes non-transferable properties from the supplied object (e.g.
    `static com.google.gwt.core.client.JavaScriptObject` | `convertMapToJavascriptObject(java.util.Map valueMap)` Converts the parameter Map to an equivalent Javascript object - see `JavaToJavaScriptConversion` for details of the conversions that take place.
    `static com.google.gwt.core.client.JavaScriptObject` | `convertMapToJavascriptObject(java.util.Map valueMap, boolean strict)`
    `static java.lang.Object[]` | `convertToArray(com.google.gwt.core.client.JavaScriptObject object)` Convert a JavaScript object to an Object[], following the rules described in the `JS -> Java conversion article`.
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToCellArray(int[][] cells)`
    `static java.lang.Object` | `convertToJava(com.google.gwt.core.client.JavaScriptObject object)` Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in the `JS -> Java conversion article`.
    `static java.lang.Object` | `convertToJava(com.google.gwt.core.client.JavaScriptObject object, boolean listAsArray)` Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in the `JS -> Java conversion article`
    `static java.lang.Boolean[]` | `convertToJavaBooleanArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.util.Date` | `convertToJavaDate(com.google.gwt.core.client.JavaScriptObject val)`
    `static java.util.Date[]` | `convertToJavaDateArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Double[]` | `convertToJavaDoubleArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Float[]` | `convertToJavaFloatArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static int[]` | `convertToJavaIntArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Integer[]` | `convertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Integer[]` | `convertToJavaInterArray(com.google.gwt.core.client.JavaScriptObject array)` Deprecated. deprecated in favor of `convertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject)`
    `static java.lang.Object[]` | `convertToJavaObjectArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static RefDataClass[]` | `convertToJavaRefDataClassArray(com.google.gwt.core.client.JavaScriptObject nativeArray)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(boolean[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(byte[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(char[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(double[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(float[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(int[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(long[] array)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(java.lang.Object[] array)` Converts the parameter Object array to an equivalent Javascript array - see `JavaToJavaScriptConversion` for details of the conversions that take place.
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(java.lang.Object[] array, boolean strict)`
    `static com.google.gwt.core.client.JavaScriptObject` | `convertToJavaScriptArray(short[] array)`
    `static com.google.gwt.core.client.JsDate` | `convertToJavaScriptDate(java.util.Date date)`
    `static java.lang.String[]` | `convertToJavaStringArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static <O extends com.google.gwt.core.client.JavaScriptObject> com.google.gwt.core.client.JsArray<O>` | `convertToJsArray(O[] array)`
    `static java.util.List` | `convertToList(com.google.gwt.core.client.JavaScriptObject object)` Convert a JavaScript object to a List, following the rules described in the `JS -> Java conversion article`.
    `static java.util.Map` | `convertToMap(com.google.gwt.core.client.JavaScriptObject jsObj)` Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in the `JS -> Java conversion article`.
    `static java.util.Map` | `convertToMap(com.google.gwt.core.client.JavaScriptObject jsObj, boolean listAsArray)` Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in the `JS -> Java conversion article`
    `static java.lang.String` | `convertToString(java.lang.Object obj)`
    `static com.google.gwt.core.client.JavaScriptObject` | `createJavaScriptArray()`
    `static com.google.gwt.core.client.JavaScriptObject` | `createObject()`
    `static void` | `deleteAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static void` | `deleteAttributeIfExists(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static double` | `doubleValue(java.lang.Number num)`
    `static com.google.gwt.core.client.JavaScriptObject` | `eval(java.lang.String jsFrag)` Evaluate the passed string as Javascript
    `static int` | `getArrayLength(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.String` | `getArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.String` | `getAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static boolean` | `getAttributeAsBoolean(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)` Returns attribute value set as a Boolean.
    `static java.lang.Boolean` | `getAttributeAsBoolean(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, boolean allowNull)` Returns attribute value set as a Boolean.
    `static java.util.Date` | `getAttributeAsDate(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Double` | `getAttributeAsDouble(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static double[]` | `getAttributeAsDoubleArray(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static com.google.gwt.dom.client.Element` | `getAttributeAsElement(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Float` | `getAttributeAsFloat(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Integer` | `getAttributeAsInt(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static int[]` | `getAttributeAsIntArray(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static com.google.gwt.core.client.JavaScriptObject` | `getAttributeAsJavaScriptObject(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static com.google.gwt.core.client.JavaScriptObject[]` | `getAttributeAsJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.util.Map` | `getAttributeAsMap(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)` Returns attribute "attr" of JavaScriptObject "elem", converted to a Map following the rules described in the `JS -> Java conversion article`
    `static java.lang.Object` | `getAttributeAsObject(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.String[]` | `getAttributeAsStringArray(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Boolean` | `getBooleanArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static int[][]` | `getCellArray(com.google.gwt.core.client.JavaScriptObject jsCells)`
    `static java.lang.String` | `getClassName(com.google.gwt.core.client.JavaScriptObject javaScriptObject)` Returns the javascript class name.
    `static java.util.Date` | `getDateArrayValue(com.google.gwt.core.client.JavaScriptObject array, int i)`
    `static double` | `getdoubleArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.Double` | `getDoubleArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static double` | `getDoubleValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, int i)`
    `static com.google.gwt.dom.client.Element` | `getElementValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, int i)` This is used to access Element array as JavaScriptObject
    `static float` | `getfloatArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.Float` | `getFloatArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static int` | `getIntArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.Integer` | `getIntegerArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static int` | `getIntValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, int i)`
    `static int` | `getJavaScriptObjectArraySize(com.google.gwt.core.client.JavaScriptObject elem)`
    `static com.google.gwt.core.client.JsDate` | `getJSLogicalDate(java.util.Date date)`
    `static com.google.gwt.core.client.JsDate` | `getJSLogicalDate(int year, int month, int date)`
    `static com.google.gwt.core.client.JsDate` | `getJSLogicalTime(java.util.Date date)`
    `static com.google.gwt.core.client.JsDate` | `getJSLogicalTime(int hour, int minute, int second, int millisecond)`
    `static com.google.gwt.core.client.JavaScriptObject` | `getJSOArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.Object` | `getObjectArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index)`
    `static java.lang.String[]` | `getProperties(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `static java.lang.String` | `getPropertiesAsString(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `static java.lang.String` | `getStringValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, int i)`
    `static com.google.gwt.core.client.JavaScriptObject` | `getValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem, int i)`
    `static boolean` | `isArray(com.google.gwt.core.client.JavaScriptObject jsObj)`
    `static boolean` | `isJavaArray(java.lang.Object obj)`
    `static boolean` | `isJavaBoolean(java.lang.Object obj)`
    `static boolean` | `isJavaDate(java.lang.Object obj)`
    `static boolean` | `isJavaDouble(java.lang.Object obj)`
    `static boolean` | `isJavaFloat(java.lang.Object obj)`
    `static boolean` | `isJavaInteger(java.lang.Object obj)`
    `static boolean` | `isJavaList(java.lang.Object obj)`
    `static boolean` | `isJavaMap(java.lang.Object obj)`
    `static boolean` | `isJavaNumber(java.lang.Object obj)`
    `static boolean` | `isJavaString(java.lang.Object obj)`
    `static boolean` | `isJSO(java.lang.Object object)`
    `static boolean` | `isScClassInstance(com.google.gwt.core.client.JavaScriptObject javaScriptObject)` Returns whether the supplied JavaScriptObject is a SmartClient class instance.
    `static boolean` | `isScClassObject(com.google.gwt.core.client.JavaScriptObject javaScriptObject)` Returns whether the supplied JavaScriptObject is a SmartClient class (a Class object itself, rather than an instance of a class).
    `static com.google.gwt.core.client.JavaScriptObject[]` | `listToArray(java.util.List list)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, boolean value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, char value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, java.util.Date value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, double value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, com.google.gwt.core.client.JavaScriptObject value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, long value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, java.lang.Object value)`
    `static void` | `setArrayValue(com.google.gwt.core.client.JavaScriptObject array, int index, java.lang.String value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, boolean value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Boolean value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Boolean[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.util.Date value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.util.Date[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, double value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, double[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Double[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, float[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Float[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, Function handler)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, int value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, int[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Integer[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, com.google.gwt.core.client.JavaScriptObject value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, com.google.gwt.core.client.JavaScriptObject[] value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Long value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Long[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject jsObj, java.lang.String attr, java.util.Map valueMap)` Sets attribute "attr" on Javascript object "jsObj" to the JavaScript equivalent of "valueMap".
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Number value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Object value)` Set the value of attribute "attr" in object "elem" to the Object "value"
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.String value)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.String[] values)`
    `static void` | `setAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, ValueEnum[] values)`
    `static void` | `setNullAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr)`
    `static void` | `setObjectAttribute(com.google.gwt.core.client.JavaScriptObject elem, java.lang.String attr, java.lang.Object object)`
    `static void` | `throwUnconvertibleObjectException(java.lang.Object object, java.lang.String messageDetail)`
    `static com.google.gwt.core.client.JavaScriptObject[]` | `toArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Boolean` | `toBoolean(boolean value)`
    `static java.util.Date` | `toDate(double millis)` Converts a time to a Java `Date` object.
    `static com.google.gwt.core.client.JavaScriptObject` | `toDateJS(java.util.Date date)`
    `static java.lang.Double` | `toDouble(double value)`
    `static com.google.gwt.dom.client.Element[]` | `toElementArray(com.google.gwt.core.client.JavaScriptObject array)`
    `static java.lang.Float` | `toFloat(float value)`
    `static java.lang.Integer` | `toInteger(int value)`
    `static java.lang.Long` | `toLong(double value)`

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

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

- - ### Method Detail

    - #### getClassName

          public static java.lang.String getClassName(com.google.gwt.core.client.JavaScriptObject javaScriptObject)

      Returns the javascript class name.
      Returns:

    - #### isScClassInstance

          public static boolean isScClassInstance(com.google.gwt.core.client.JavaScriptObject javaScriptObject)

      Returns whether the supplied JavaScriptObject is a SmartClient class instance.
      Parameters:
        `the` - object to evaluate
      Returns:
        whether object is an instance

    - #### isScClassObject

          public static boolean isScClassObject(com.google.gwt.core.client.JavaScriptObject javaScriptObject)

      Returns whether the supplied JavaScriptObject is a SmartClient class (a Class object itself, rather than an instance of a class).
      Parameters:
        `the` - object to evaluate
      Returns:
        whether object is a Class object

    - #### eval

          public static com.google.gwt.core.client.JavaScriptObject eval(java.lang.String jsFrag)

      Evaluate the passed string as Javascript
      Parameters:
        `jsFrag` - the string to evaluate
      Returns:
        the JavaScriptObject upon evaluation

    - #### isJSO

          public static boolean isJSO(java.lang.Object object)

    - #### doubleValue

          public static double doubleValue(java.lang.Number num)

    - #### getAttribute

          public static java.lang.String getAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                                      java.lang.String attr)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.String value)

    - #### getAttributeAsJavaScriptObject

          public static com.google.gwt.core.client.JavaScriptObject getAttributeAsJavaScriptObject(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                                   java.lang.String attr)

    - #### getAttributeAsJavaScriptObjectArray

          public static com.google.gwt.core.client.JavaScriptObject[] getAttributeAsJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                                          java.lang.String attr)

    - #### toArray

          public static com.google.gwt.core.client.JavaScriptObject[] toArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### isArray

          public static boolean isArray(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### toElementArray

          public static com.google.gwt.dom.client.Element[] toElementArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          com.google.gwt.core.client.JavaScriptObject[] value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          int[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          float[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          double[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.String[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Integer[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Float[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Boolean[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Double[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Long[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.util.Date[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          ValueEnum[] values)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Object value)

      Set the value of attribute "attr" in object "elem" to the Object "value"

      This method converts the value passed in to an equivalent object in JavaScript before storing on the underlying data object - see `JavaToJavaScriptConversion` for details of the conversions that take place.
      Developers can use `setObjectAttribute(JavaScriptObject, String, Object)` to store Java objects without converting to JavaScript.

      Parameters:
        `elem` - the JavaScriptObject on which to set the attribute
        `attr` - the attribute name
        `value` - the attribute value.

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          com.google.gwt.core.client.JavaScriptObject value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          int value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Number value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Long value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.lang.Boolean value)

    - #### setNullAttribute

          public static void setNullAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                              java.lang.String attr)

    - #### deleteAttribute

          public static void deleteAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                             java.lang.String attr)

    - #### deleteAttributeIfExists

          public static void deleteAttributeIfExists(com.google.gwt.core.client.JavaScriptObject elem,
                                                     java.lang.String attr)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          boolean value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          double value)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          Function handler)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                          java.lang.String attr,
                                          java.util.Date value)

    - #### setObjectAttribute

          public static void setObjectAttribute(com.google.gwt.core.client.JavaScriptObject elem,
                                                java.lang.String attr,
                                                java.lang.Object object)

    - #### getAttributeAsElement

          public static com.google.gwt.dom.client.Element getAttributeAsElement(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                java.lang.String attr)

    - #### getAttributeAsInt

          public static java.lang.Integer getAttributeAsInt(com.google.gwt.core.client.JavaScriptObject elem,
                                                            java.lang.String attr)

    - #### getAttributeAsDouble

          public static java.lang.Double getAttributeAsDouble(com.google.gwt.core.client.JavaScriptObject elem,
                                                              java.lang.String attr)

    - #### getAttributeAsDate

          public static java.util.Date getAttributeAsDate(com.google.gwt.core.client.JavaScriptObject elem,
                                                          java.lang.String attr)

    - #### getAttributeAsFloat

          public static java.lang.Float getAttributeAsFloat(com.google.gwt.core.client.JavaScriptObject elem,
                                                            java.lang.String attr)

    - #### getAttributeAsIntArray

          public static int[] getAttributeAsIntArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                     java.lang.String attr)

    - #### getAttributeAsDoubleArray

          public static double[] getAttributeAsDoubleArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                           java.lang.String attr)

    - #### getAttributeAsStringArray

          public static java.lang.String[] getAttributeAsStringArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                     java.lang.String attr)

    - #### getJavaScriptObjectArraySize

          public static int getJavaScriptObjectArraySize(com.google.gwt.core.client.JavaScriptObject elem)

    - #### getIntValueFromJavaScriptObjectArray

          public static int getIntValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                 int i)

    - #### getDoubleValueFromJavaScriptObjectArray

          public static double getDoubleValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                       int i)

    - #### getStringValueFromJavaScriptObjectArray

          public static java.lang.String getStringValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                 int i)

    - #### getValueFromJavaScriptObjectArray

          public static com.google.gwt.core.client.JavaScriptObject getValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                                      int i)

    - #### getCellArray

          public static int[][] getCellArray(com.google.gwt.core.client.JavaScriptObject jsCells)

    - #### convertToCellArray

          public static com.google.gwt.core.client.JavaScriptObject convertToCellArray(int[][] cells)

    - #### getAttributeAsBoolean

          public static boolean getAttributeAsBoolean(com.google.gwt.core.client.JavaScriptObject elem,
                                                      java.lang.String attr)

      Returns attribute value set as a Boolean. For convenience in checking boolean properties, `getAttributeAsBoolean` will return Boolean `false` if the attribute value is `null` or not a Boolean. Use the three parameter variant of this API `getAttributeAsBoolean(JavaScriptObject, String, boolean)` if you want `null` returned for `null` attribute values.
      Parameters:
        `elem` - the JavaScriptObject containing the property
        `attr` - the property name
      Returns:
        the property value

    - #### getAttributeAsBoolean

          public static java.lang.Boolean getAttributeAsBoolean(com.google.gwt.core.client.JavaScriptObject elem,
                                                                java.lang.String attr,
                                                                boolean allowNull)

      Returns attribute value set as a Boolean. If the attribute value is `null` or not a Boolean, the return value depends upon `allowNull`. If `allowNull` is true, `null` will be returned; otherwise Boolean `false` will be returned. For a simpler approach that never returns `null`, use the two parameter variant of this API `getAttributeAsBoolean(JavaScriptObject, String)`.
      Parameters:
        `elem` - the JavaScriptObject containing the property
        `attr` - the property name
        `allowNull` - whether to permit a `null` return value
      Returns:
        the property value

    - #### getAttributeAsObject

          public static java.lang.Object getAttributeAsObject(com.google.gwt.core.client.JavaScriptObject elem,
                                                              java.lang.String attr)

    - #### getAttributeAsMap

          public static java.util.Map getAttributeAsMap(com.google.gwt.core.client.JavaScriptObject elem,
                                                        java.lang.String attr)

      Returns attribute "attr" of JavaScriptObject "elem", converted to a Map following the rules described in the `JS -> Java conversion article`
      Parameters:
        `elem` - JavaScriptObject containing the attribute
        `attr` - The attribute name
      Returns:
        The attribute converted to a Java Map

    - #### listToArray

          public static com.google.gwt.core.client.JavaScriptObject[] listToArray(java.util.List list)

    - #### arrayConvert

          public static com.google.gwt.core.client.JavaScriptObject arrayConvert(java.lang.Object[] array)

    - #### arrayConvert

          public static com.google.gwt.core.client.JavaScriptObject arrayConvert(com.google.gwt.core.client.JavaScriptObject[] array)

    - #### arrayLength

          public static int arrayLength(com.google.gwt.core.client.JavaScriptObject array)

    - #### arrayGetObject

          public static java.lang.Object arrayGetObject(com.google.gwt.core.client.JavaScriptObject array,
                                                        int index)

    - #### arraySet

          public static void arraySet(com.google.gwt.core.client.JavaScriptObject array,
                                      int index,
                                      java.lang.Object value)

    - #### arraySet

          public static void arraySet(com.google.gwt.core.client.JavaScriptObject array,
                                      int index,
                                      com.google.gwt.core.client.JavaScriptObject value)

    - #### getElementValueFromJavaScriptObjectArray

          public static com.google.gwt.dom.client.Element getElementValueFromJavaScriptObjectArray(com.google.gwt.core.client.JavaScriptObject elem,
                                                                                                   int i)

      This is used to access Element array as JavaScriptObject

    - #### createObject

          public static com.google.gwt.core.client.JavaScriptObject createObject()

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(boolean[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(char[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(byte[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(short[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(int[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(float[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(double[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(long[] array)

    - #### convertToJava

          public static java.lang.Object convertToJava(com.google.gwt.core.client.JavaScriptObject object,
                                                       boolean listAsArray)

      Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in the `JS -> Java conversion article`
      Parameters:
        `object` - JavaScriptObject to convert
        `listAsArray` - Should arrays be converted to Object[] or List
      Returns:
        converted Java object. May be a Map, a List, an Object[], a JavaScriptObject, a Canvas or a FormItem, depending on the underlying JavaScript type

    - #### convertToJava

          public static java.lang.Object convertToJava(com.google.gwt.core.client.JavaScriptObject object)

      Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in the `JS -> Java conversion article`. Any arrays encountered during conversion will be converted to Java `ArrayList`s
      Parameters:
        `object` - JavaScriptObject to convert
      Returns:
        converted Java object. May be a Map, a List, an Object[], a JavaScriptObject, a Canvas or a FormItem, depending on the underlying JavaScript type

    - #### convertToMap

          public static java.util.Map convertToMap(com.google.gwt.core.client.JavaScriptObject jsObj,
                                                   boolean listAsArray)

      Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in the `JS -> Java conversion article`
      Parameters:
        `jsObj` - the JavaScript object to convert
        `listAsArray` - Should arrays be converted to Object[] or List
      Returns:
        the map
      Throws:
        `java.lang.IllegalArgumentException` - if unable to convert the passed JavaScript object to a map

    - #### convertToMap

          public static java.util.Map convertToMap(com.google.gwt.core.client.JavaScriptObject jsObj)

      Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in the `JS -> Java conversion article`. Any arrays encountered during the conversion process will be converted to Java `ArrayList`s
      Parameters:
        `jsObj` - the JavaScript object to convert
      Returns:
        the map
      Throws:
        `java.lang.IllegalArgumentException` - if unable to convert the passed JavaScript object to a map

    - #### convertToArray

          public static java.lang.Object[] convertToArray(com.google.gwt.core.client.JavaScriptObject object)

      Convert a JavaScript object to an Object[], following the rules described in the `JS -> Java conversion article`. If the JavaScript object is not an array in Javascript, a new array will be created containing the converted object as the only entry.
      Parameters:
        `object` - the JavaScript object to convert
      Returns:
        the JavaScript object converted to a Java Object array

    - #### convertToList

          public static java.util.List convertToList(com.google.gwt.core.client.JavaScriptObject object)

      Convert a JavaScript object to a List, following the rules described in the `JS -> Java conversion article`. If the JavaScript object is not an array in JavaScript, a new List will be created containing the converted object as the only entry.
      Parameters:
        `object` - the JavaScript object to convert
      Returns:
        the JavaScript object converted to a Java List

    - #### convertToJavaScriptDate

          public static com.google.gwt.core.client.JsDate convertToJavaScriptDate(java.util.Date date)

    - #### convertToJavaDate

          public static java.util.Date convertToJavaDate(com.google.gwt.core.client.JavaScriptObject val)

    - #### convertToString

          public static java.lang.String convertToString(java.lang.Object obj)

    - #### isJavaDate

          public static boolean isJavaDate(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Date

    - #### isJavaNumber

          public static boolean isJavaNumber(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Number

    - #### isJavaInteger

          public static boolean isJavaInteger(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Integer

    - #### isJavaFloat

          public static boolean isJavaFloat(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Float

    - #### isJavaDouble

          public static boolean isJavaDouble(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Double

    - #### isJavaString

          public static boolean isJavaString(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java String

    - #### isJavaBoolean

          public static boolean isJavaBoolean(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Integer

    - #### isJavaList

          public static boolean isJavaList(java.lang.Object obj)

    - #### isJavaMap

          public static boolean isJavaMap(java.lang.Object obj)

    - #### isJavaArray

          public static boolean isJavaArray(java.lang.Object obj)

      Parameters:
        `obj` - the object
      Returns:
        true if object is a Java Array

    - #### convertToJsArray

          public static <O extends com.google.gwt.core.client.JavaScriptObject> com.google.gwt.core.client.JsArray<O> convertToJsArray(O[] array)

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(java.lang.Object[] array)

      Converts the parameter Object array to an equivalent Javascript array - see `JavaToJavaScriptConversion` for details of the conversions that take place.
      Parameters:
        `array` - the Java Object array to convert

    - #### convertToJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject convertToJavaScriptArray(java.lang.Object[] array,
                                                                                             boolean strict)

    - #### throwUnconvertibleObjectException

          public static void throwUnconvertibleObjectException(java.lang.Object object,
                                                               java.lang.String messageDetail)

    - #### toInteger

          public static java.lang.Integer toInteger(int value)

    - #### toLong

          public static java.lang.Long toLong(double value)

    - #### toFloat

          public static java.lang.Float toFloat(float value)

    - #### toDouble

          public static java.lang.Double toDouble(double value)

    - #### toDate

          public static java.util.Date toDate(double millis)

      Converts a time to a Java `Date` object.

      Note: If needing to convert a JavaScript object, it is preferable to use `convertToJavaDate(JavaScriptObject)` instead because that function is able to convert to `LogicalDate` and `LogicalTime` instances as needed.

      Parameters:
        `millis` - number of milliseconds since January 1, 1970, 00:00:00 GMT.
      Returns:
        a new `Date` representing the given time.

    - #### toDateJS

          public static com.google.gwt.core.client.JavaScriptObject toDateJS(java.util.Date date)

    - #### getJSLogicalDate

          public static com.google.gwt.core.client.JsDate getJSLogicalDate(java.util.Date date)

    - #### getJSLogicalDate

          public static com.google.gwt.core.client.JsDate getJSLogicalDate(int year,
                                                                           int month,
                                                                           int date)

    - #### getJSLogicalTime

          public static com.google.gwt.core.client.JsDate getJSLogicalTime(java.util.Date date)

    - #### getJSLogicalTime

          public static com.google.gwt.core.client.JsDate getJSLogicalTime(int hour,
                                                                           int minute,
                                                                           int second,
                                                                           int millisecond)

    - #### toBoolean

          public static java.lang.Boolean toBoolean(boolean value)

    - #### createJavaScriptArray

          public static com.google.gwt.core.client.JavaScriptObject createJavaScriptArray()

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           java.util.Date value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           java.lang.String value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           double value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           long value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           boolean value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           char value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           com.google.gwt.core.client.JavaScriptObject value)

    - #### setArrayValue

          public static void setArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                           int index,
                                           java.lang.Object value)

    - #### getArrayValue

          public static java.lang.String getArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                       int index)

    - #### getJSOArrayValue

          public static com.google.gwt.core.client.JavaScriptObject getJSOArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                                                     int index)

    - #### getObjectArrayValue

          public static java.lang.Object getObjectArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                             int index)

    - #### getBooleanArrayValue

          public static java.lang.Boolean getBooleanArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                               int index)

    - #### getIntArrayValue

          public static int getIntArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                             int index)

    - #### getfloatArrayValue

          public static float getfloatArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                 int index)

    - #### getdoubleArrayValue

          public static double getdoubleArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                   int index)

    - #### getIntegerArrayValue

          public static java.lang.Integer getIntegerArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                               int index)

    - #### getFloatArrayValue

          public static java.lang.Float getFloatArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                           int index)

    - #### getDoubleArrayValue

          public static java.lang.Double getDoubleArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                             int index)

    - #### getDateArrayValue

          public static java.util.Date getDateArrayValue(com.google.gwt.core.client.JavaScriptObject array,
                                                         int i)

    - #### getArrayLength

          public static int getArrayLength(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaBooleanArray

          public static java.lang.Boolean[] convertToJavaBooleanArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaIntArray

          public static int[] convertToJavaIntArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaInterArray

          public static java.lang.Integer[] convertToJavaInterArray(com.google.gwt.core.client.JavaScriptObject array)

      Deprecated. deprecated in favor of `convertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject)`

    - #### convertToJavaIntegerArray

          public static java.lang.Integer[] convertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaStringArray

          public static java.lang.String[] convertToJavaStringArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaFloatArray

          public static java.lang.Float[] convertToJavaFloatArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaDoubleArray

          public static java.lang.Double[] convertToJavaDoubleArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaDateArray

          public static java.util.Date[] convertToJavaDateArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaObjectArray

          public static java.lang.Object[] convertToJavaObjectArray(com.google.gwt.core.client.JavaScriptObject array)

    - #### convertToJavaRefDataClassArray

          public static RefDataClass[] convertToJavaRefDataClassArray(com.google.gwt.core.client.JavaScriptObject nativeArray)

    - #### apply

          public static void apply(com.google.gwt.core.client.JavaScriptObject config,
                                   com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### setAttribute

          public static void setAttribute(com.google.gwt.core.client.JavaScriptObject jsObj,
                                          java.lang.String attr,
                                          java.util.Map valueMap)

      Sets attribute "attr" on Javascript object "jsObj" to the JavaScript equivalent of "valueMap". See `JavaToJavaScriptConversion` for details of the conversions that take place.
      Parameters:
        `jsObj` - the JavaScript object on which to set the attribute
        `attr` - the name of the attribute to set
        `valueMap` - the Java Map to convert and apply as the attribute value

    - #### convertMapToJavascriptObject

          public static com.google.gwt.core.client.JavaScriptObject convertMapToJavascriptObject(java.util.Map valueMap)

      Converts the parameter Map to an equivalent Javascript object - see `JavaToJavaScriptConversion` for details of the conversions that take place.
      Parameters:
        `array` - the Java Map to convert

    - #### convertMapToJavascriptObject

          public static com.google.gwt.core.client.JavaScriptObject convertMapToJavascriptObject(java.util.Map valueMap,
                                                                                                 boolean strict)

    - #### getProperties

          public static java.lang.String[] getProperties(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### getPropertiesAsString

          public static java.lang.String getPropertiesAsString(com.google.gwt.core.client.JavaScriptObject jsObj)

    - #### addProperties

          public static void addProperties(com.google.gwt.core.client.JavaScriptObject destination,
                                           com.google.gwt.core.client.JavaScriptObject propertiesObject)

      Adds all properties and methods from the propertiesObject to the destination object.
      Parameters:
        `destination` - the destination object
        `propertiesObject` - the propertiesObject

    - #### cleanProperties

          public static com.google.gwt.core.client.JavaScriptObject cleanProperties(com.google.gwt.core.client.JavaScriptObject properties,
                                                                                    boolean copyProperties)

      Removes non-transferable properties from the supplied object (e.g. widget ID), performing a copy first if requested.
      Parameters:
        `properties` - the supplied object to clean
        `copyProperties` - whether to copy the object first
      Returns:
        the cleaned properties object

    - #### callMethod

          public static java.lang.Object callMethod(com.google.gwt.core.client.JavaScriptObject target,
                                                    java.lang.String methodName,
                                                    java.lang.Object[] arguments)

      Invoke a method on some JavaScript object, passing in the specified array of parameters.

      This method converts the specified parameters to a equivalent objects in JavaScript before calling the method in JavaScript scope, and will convert any return value to Java before returning it - see `JavaToJavaScriptConversion` for details of the conversions that take place.
      If the invoked method has no return value, this method will return null.

      Parameters:
        `target` -
        `methodName` -
        `arguments` -
      Returns: