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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addProperties(JavaScriptObject destination, JavaScriptObject propertiesObject)` Adds all properties and methods from the propertiesObject to the destination object.
    `static void` | `apply(JavaScriptObject config, JavaScriptObject jsObj)`
    `static JavaScriptObject` | `arrayConvert(JavaScriptObject[] array)`
    `static JavaScriptObject` | `arrayConvert(java.lang.Object[] array)`
    `static java.lang.Object` | `arrayGetObject(JavaScriptObject array, int index)`
    `static int` | `arrayLength(JavaScriptObject array)`
    `static void` | `arraySet(JavaScriptObject array, int index, JavaScriptObject value)`
    `static void` | `arraySet(JavaScriptObject array, int index, java.lang.Object value)`
    `static JavaScriptObject` | `cleanProperties(JavaScriptObject properties, boolean copyProperties)` Removes non-transferable properties from the supplied object (e.g.
    `static JavaScriptObject` | `convertMapToJavascriptObject(java.util.Map valueMap)`
    `static JavaScriptObject` | `convertMapToJavascriptObject(java.util.Map valueMap, boolean strict)`
    `static java.lang.Object[]` | `convertToArray(JavaScriptObject object)` Convert a Javascript object to an Object[].
    `static JavaScriptObject` | `convertToCellArray(int[][] cells)`
    `static java.lang.Object` | `convertToJava(JavaScriptObject object)`
    `static java.lang.Object` | `convertToJava(JavaScriptObject object, boolean listAsArray)` Convert a JavaScriptObject to the appropriate type of JavaObject.
    `static java.util.Date` | `convertToJavaDate(JavaScriptObject val)`
    `static java.util.Date[]` | `convertToJavaDateArray(JavaScriptObject array)`
    `static java.lang.Double[]` | `convertToJavaDoubleArray(JavaScriptObject array)`
    `static java.lang.Float[]` | `convertToJavaFloatArray(JavaScriptObject array)`
    `static int[]` | `convertToJavaIntArray(JavaScriptObject array)`
    `static java.lang.Integer[]` | `convertToJavaInterArray(JavaScriptObject array)`
    `static java.lang.Object[]` | `convertToJavaObjectArray(JavaScriptObject array)`
    `static RefDataClass[]` | `convertToJavaRefDataClassArray(JavaScriptObject nativeArray)`
    `static JavaScriptObject` | `convertToJavaScriptArray(boolean[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(byte[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(char[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(double[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(float[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(int[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(long[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(java.lang.Object[] array)`
    `static JavaScriptObject` | `convertToJavaScriptArray(java.lang.Object[] array, boolean strict)`
    `static JavaScriptObject` | `convertToJavaScriptArray(short[] array)`
    `static JsDate` | `convertToJavaScriptDate(java.util.Date date)`
    `static java.lang.String[]` | `convertToJavaStringArray(JavaScriptObject array)`
    `static <O extends JavaScriptObject> JsArray<O>` | `convertToJsArray(O[] array)`
    `static java.util.List` | `convertToList(JavaScriptObject object)` Convert a Javascript object to a List.
    `static java.util.Map` | `convertToMap(JavaScriptObject jsObj)` Convert a Javascript object containing key:value pairs to a Map.
    `static java.util.Map` | `convertToMap(JavaScriptObject jsObj, boolean listAsArray)` Convert a Javascript object containing key:value pairs to a Map.
    `static java.lang.String` | `convertToString(java.lang.Object obj)`
    `static JavaScriptObject` | `createJavaScriptArray()`
    `static JavaScriptObject` | `createObject()`
    `static void` | `deleteAttribute(JavaScriptObject elem, java.lang.String attr)`
    `static void` | `deleteAttributeIfExists(JavaScriptObject elem, java.lang.String attr)`
    `static double` | `doubleValue(java.lang.Number num)`
    `static JavaScriptObject` | `eval(java.lang.String jsFrag)` Evaluate the passed string as Javascript
    `static int` | `getArrayLength(JavaScriptObject array)`
    `static java.lang.String` | `getArrayValue(JavaScriptObject array, int index)`
    `static java.lang.String` | `getAttribute(JavaScriptObject elem, java.lang.String attr)`
    `static boolean` | `getAttributeAsBoolean(JavaScriptObject elem, java.lang.String attr)` Returns attribute value set as a Boolean.
    `static java.lang.Boolean` | `getAttributeAsBoolean(JavaScriptObject elem, java.lang.String attr, boolean allowNull)` Returns attribute value set as a Boolean.
    `static java.util.Date` | `getAttributeAsDate(JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Double` | `getAttributeAsDouble(JavaScriptObject elem, java.lang.String attr)`
    `static double[]` | `getAttributeAsDoubleArray(JavaScriptObject elem, java.lang.String attr)`
    `static Element` | `getAttributeAsElement(JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Float` | `getAttributeAsFloat(JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Integer` | `getAttributeAsInt(JavaScriptObject elem, java.lang.String attr)`
    `static int[]` | `getAttributeAsIntArray(JavaScriptObject elem, java.lang.String attr)`
    `static JavaScriptObject` | `getAttributeAsJavaScriptObject(JavaScriptObject elem, java.lang.String attr)`
    `static JavaScriptObject[]` | `getAttributeAsJavaScriptObjectArray(JavaScriptObject elem, java.lang.String attr)`
    `static java.util.Map` | `getAttributeAsMap(JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.Object` | `getAttributeAsObject(JavaScriptObject elem, java.lang.String attr)`
    `static java.lang.String[]` | `getAttributeAsStringArray(JavaScriptObject elem, java.lang.String attr)`
    `static int[][]` | `getCellArray(JavaScriptObject jsCells)`
    `static java.lang.String` | `getClassName(JavaScriptObject javaScriptObject)` Returns the javascript class name.
    `static java.util.Date` | `getDateArrayValue(JavaScriptObject array, int i)`
    `static double` | `getdoubleArrayValue(JavaScriptObject array, int index)`
    `static java.lang.Double` | `getDoubleArrayValue(JavaScriptObject array, int index)`
    `static double` | `getDoubleValueFromJavaScriptObjectArray(JavaScriptObject elem, int i)`
    `static Element` | `getElementValueFromJavaScriptObjectArray(JavaScriptObject elem, int i)` This is used to access Element array as JavaScriptObject
    `static float` | `getfloatArrayValue(JavaScriptObject array, int index)`
    `static java.lang.Float` | `getFloatArrayValue(JavaScriptObject array, int index)`
    `static int` | `getIntArrayValue(JavaScriptObject array, int index)`
    `static java.lang.Integer` | `getIntegerArrayValue(JavaScriptObject array, int index)`
    `static int` | `getIntValueFromJavaScriptObjectArray(JavaScriptObject elem, int i)`
    `static int` | `getJavaScriptObjectArraySize(JavaScriptObject elem)`
    `static JsDate` | `getJSLogicalDate(java.util.Date date)`
    `static JsDate` | `getJSLogicalDate(int year, int month, int date)`
    `static JsDate` | `getJSLogicalTime(java.util.Date date)`
    `static JsDate` | `getJSLogicalTime(int hour, int minute, int second, int millisecond)`
    `static JavaScriptObject` | `getJSOArrayValue(JavaScriptObject array, int index)`
    `static java.lang.Object` | `getObjectArrayValue(JavaScriptObject array, int index)`
    `static java.lang.String[]` | `getProperties(JavaScriptObject jsObj)`
    `static java.lang.String` | `getPropertiesAsString(JavaScriptObject jsObj)`
    `static java.lang.String` | `getStringValueFromJavaScriptObjectArray(JavaScriptObject elem, int i)`
    `static JavaScriptObject` | `getValueFromJavaScriptObjectArray(JavaScriptObject elem, int i)`
    `static boolean` | `isArray(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(JavaScriptObject javaScriptObject)` Returns whether the supplied JavaScriptObject is a SmartClient class instance.
    `static boolean` | `isScClassObject(JavaScriptObject javaScriptObject)` Returns whether the supplied JavaScriptObject is a SmartClient class (a Class object itself, rather than an instance of a class).
    `static JavaScriptObject[]` | `listToArray(java.util.List list)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, boolean value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, char value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, java.util.Date value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, double value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, JavaScriptObject value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, long value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, java.lang.Object value)`
    `static void` | `setArrayValue(JavaScriptObject array, int index, java.lang.String value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, boolean value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Boolean value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Boolean[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.util.Date value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.util.Date[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, double value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, double[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Double[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, float[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Float[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, Function handler)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, int value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, int[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Integer[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, JavaScriptObject value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, JavaScriptObject[] value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Long value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Long[] values)`
    `static void` | `setAttribute(JavaScriptObject jsObj, java.lang.String attr, java.util.Map valueMap)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Number value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Object value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.String value)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.String[] values)`
    `static void` | `setAttribute(JavaScriptObject elem, java.lang.String attr, ValueEnum[] values)`
    `static void` | `setNullAttribute(JavaScriptObject elem, java.lang.String attr)`
    `static void` | `setObjectAttribute(JavaScriptObject elem, java.lang.String attr, java.lang.Object object)`
    `static void` | `throwUnconvertibleObjectException(java.lang.Object object, java.lang.String messageDetail)`
    `static JavaScriptObject[]` | `toArray(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 JavaScriptObject` | `toDateJS(java.util.Date date)`
    `static java.lang.Double` | `toDouble(double value)`
    `static Element[]` | `toElementArray(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(JavaScriptObject javaScriptObject)

      Returns the javascript class name.
      Returns:

    - #### isScClassInstance

          public static boolean isScClassInstance(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(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 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(JavaScriptObject elem,
                                      java.lang.String attr)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.String value)

    - #### getAttributeAsJavaScriptObject

          public static JavaScriptObject getAttributeAsJavaScriptObject(JavaScriptObject elem,
                                                        java.lang.String attr)

    - #### getAttributeAsJavaScriptObjectArray

          public static JavaScriptObject[] getAttributeAsJavaScriptObjectArray(JavaScriptObject elem,
                                                               java.lang.String attr)

    - #### toArray

          public static JavaScriptObject[] toArray(JavaScriptObject array)

    - #### isArray

          public static boolean isArray(JavaScriptObject jsObj)

    - #### toElementArray

          public static Element[] toElementArray(JavaScriptObject array)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          JavaScriptObject[] value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          int[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          float[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          double[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.String[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Integer[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Float[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Boolean[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Double[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Long[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.util.Date[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          ValueEnum[] values)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Object value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          JavaScriptObject value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          int value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Number value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Long value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.lang.Boolean value)

    - #### setNullAttribute

          public static void setNullAttribute(JavaScriptObject elem,
                              java.lang.String attr)

    - #### deleteAttribute

          public static void deleteAttribute(JavaScriptObject elem,
                             java.lang.String attr)

    - #### deleteAttributeIfExists

          public static void deleteAttributeIfExists(JavaScriptObject elem,
                                     java.lang.String attr)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          boolean value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          double value)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          Function handler)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject elem,
                          java.lang.String attr,
                          java.util.Date value)

    - #### setObjectAttribute

          public static void setObjectAttribute(JavaScriptObject elem,
                                java.lang.String attr,
                                java.lang.Object object)

    - #### getAttributeAsElement

          public static Element getAttributeAsElement(JavaScriptObject elem,
                                      java.lang.String attr)

    - #### getAttributeAsInt

          public static java.lang.Integer getAttributeAsInt(JavaScriptObject elem,
                                            java.lang.String attr)

    - #### getAttributeAsDouble

          public static java.lang.Double getAttributeAsDouble(JavaScriptObject elem,
                                              java.lang.String attr)

    - #### getAttributeAsDate

          public static java.util.Date getAttributeAsDate(JavaScriptObject elem,
                                          java.lang.String attr)

    - #### getAttributeAsFloat

          public static java.lang.Float getAttributeAsFloat(JavaScriptObject elem,
                                            java.lang.String attr)

    - #### getAttributeAsIntArray

          public static int[] getAttributeAsIntArray(JavaScriptObject elem,
                                     java.lang.String attr)

    - #### getAttributeAsDoubleArray

          public static double[] getAttributeAsDoubleArray(JavaScriptObject elem,
                                           java.lang.String attr)

    - #### getAttributeAsStringArray

          public static java.lang.String[] getAttributeAsStringArray(JavaScriptObject elem,
                                                     java.lang.String attr)

    - #### getJavaScriptObjectArraySize

          public static int getJavaScriptObjectArraySize(JavaScriptObject elem)

    - #### getIntValueFromJavaScriptObjectArray

          public static int getIntValueFromJavaScriptObjectArray(JavaScriptObject elem,
                                                 int i)

    - #### getDoubleValueFromJavaScriptObjectArray

          public static double getDoubleValueFromJavaScriptObjectArray(JavaScriptObject elem,
                                                       int i)

    - #### getStringValueFromJavaScriptObjectArray

          public static java.lang.String getStringValueFromJavaScriptObjectArray(JavaScriptObject elem,
                                                                 int i)

    - #### getValueFromJavaScriptObjectArray

          public static JavaScriptObject getValueFromJavaScriptObjectArray(JavaScriptObject elem,
                                                           int i)

    - #### getCellArray

          public static int[][] getCellArray(JavaScriptObject jsCells)

    - #### convertToCellArray

          public static JavaScriptObject convertToCellArray(int[][] cells)

    - #### getAttributeAsBoolean

          public static boolean getAttributeAsBoolean(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(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(JavaScriptObject elem,
                                              java.lang.String attr)

    - #### getAttributeAsMap

          public static java.util.Map getAttributeAsMap(JavaScriptObject elem,
                                        java.lang.String attr)

    - #### listToArray

          public static JavaScriptObject[] listToArray(java.util.List list)

    - #### arrayConvert

          public static JavaScriptObject arrayConvert(java.lang.Object[] array)

    - #### arrayConvert

          public static JavaScriptObject arrayConvert(JavaScriptObject[] array)

    - #### arrayLength

          public static int arrayLength(JavaScriptObject array)

    - #### arrayGetObject

          public static java.lang.Object arrayGetObject(JavaScriptObject array,
                                        int index)

    - #### arraySet

          public static void arraySet(JavaScriptObject array,
                      int index,
                      java.lang.Object value)

    - #### arraySet

          public static void arraySet(JavaScriptObject array,
                      int index,
                      JavaScriptObject value)

    - #### getElementValueFromJavaScriptObjectArray

          public static Element getElementValueFromJavaScriptObjectArray(JavaScriptObject elem,
                                                         int i)

      This is used to access Element array as JavaScriptObject

    - #### createObject

          public static JavaScriptObject createObject()

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(boolean[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(char[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(byte[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(short[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(int[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(float[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(double[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(long[] array)

    - #### convertToJava

          public static java.lang.Object convertToJava(JavaScriptObject object,
                                       boolean listAsArray)

      Convert a JavaScriptObject to the appropriate type of JavaObject. Simple JavaScript objects (key:value pairs) will be converted to Map instances. JavaScript Arrays will be returned as a List or an Object Array depending on the listAsArray parameter Conversion is recursive, nested JavaScript objects and arrays will have their members converted as well JavaScript dates will be returned as Java Dates Simple Javascript types such as integers, floats and strings will be returned as the equivalent java object class (String, Integer, etc)
      Parameters:
        `object` - JavaScriptObject to convert
        `listAsArray` - Should arrays be converted to Object[] or List
      Returns:
        converted Java object. May be a Map, a List or an Object[] depending on the underlying JS type.

    - #### convertToJava

          public static java.lang.Object convertToJava(JavaScriptObject object)

    - #### convertToMap

          public static java.util.Map convertToMap(JavaScriptObject jsObj,
                                   boolean listAsArray)

      Convert a Javascript object containing key:value pairs to a Map.
      Parameters:
        `jsObj` - the javascript object
        `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(JavaScriptObject jsObj)

      Convert a Javascript object containing key:value pairs to a Map.
      Parameters:
        `jsObj` - the javascript object
      Returns:
        the map
      Throws:
        `java.lang.IllegalArgumentException` - if unable to convert pass JavaScript object to a map

    - #### convertToArray

          public static java.lang.Object[] convertToArray(JavaScriptObject object)

      Convert a Javascript object to an Object[]. 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` -
      Returns:

    - #### convertToList

          public static java.util.List convertToList(JavaScriptObject object)

      Convert a Javascript object to a List. 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` -
      Returns:

    - #### convertToJavaScriptDate

          public static JsDate convertToJavaScriptDate(java.util.Date date)

    - #### convertToJavaDate

          public static java.util.Date convertToJavaDate(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 JavaScriptObject> JsArray<O> convertToJsArray(O[] array)

    - #### convertToJavaScriptArray

          public static JavaScriptObject convertToJavaScriptArray(java.lang.Object[] array)

    - #### convertToJavaScriptArray

          public static 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 JavaScriptObject toDateJS(java.util.Date date)

    - #### getJSLogicalDate

          public static JsDate getJSLogicalDate(java.util.Date date)

    - #### getJSLogicalDate

          public static JsDate getJSLogicalDate(int year,
                                int month,
                                int date)

    - #### getJSLogicalTime

          public static JsDate getJSLogicalTime(java.util.Date date)

    - #### getJSLogicalTime

          public static JsDate getJSLogicalTime(int hour,
                                int minute,
                                int second,
                                int millisecond)

    - #### toBoolean

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

    - #### createJavaScriptArray

          public static JavaScriptObject createJavaScriptArray()

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           java.util.Date value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           java.lang.String value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           double value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           long value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           boolean value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           char value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           JavaScriptObject value)

    - #### setArrayValue

          public static void setArrayValue(JavaScriptObject array,
                           int index,
                           java.lang.Object value)

    - #### getArrayValue

          public static java.lang.String getArrayValue(JavaScriptObject array,
                                       int index)

    - #### getJSOArrayValue

          public static JavaScriptObject getJSOArrayValue(JavaScriptObject array,
                                          int index)

    - #### getObjectArrayValue

          public static java.lang.Object getObjectArrayValue(JavaScriptObject array,
                                             int index)

    - #### getIntArrayValue

          public static int getIntArrayValue(JavaScriptObject array,
                             int index)

    - #### getfloatArrayValue

          public static float getfloatArrayValue(JavaScriptObject array,
                                 int index)

    - #### getdoubleArrayValue

          public static double getdoubleArrayValue(JavaScriptObject array,
                                   int index)

    - #### getIntegerArrayValue

          public static java.lang.Integer getIntegerArrayValue(JavaScriptObject array,
                                               int index)

    - #### getFloatArrayValue

          public static java.lang.Float getFloatArrayValue(JavaScriptObject array,
                                           int index)

    - #### getDoubleArrayValue

          public static java.lang.Double getDoubleArrayValue(JavaScriptObject array,
                                             int index)

    - #### getDateArrayValue

          public static java.util.Date getDateArrayValue(JavaScriptObject array,
                                         int i)

    - #### getArrayLength

          public static int getArrayLength(JavaScriptObject array)

    - #### convertToJavaIntArray

          public static int[] convertToJavaIntArray(JavaScriptObject array)

    - #### convertToJavaInterArray

          public static java.lang.Integer[] convertToJavaInterArray(JavaScriptObject array)

    - #### convertToJavaStringArray

          public static java.lang.String[] convertToJavaStringArray(JavaScriptObject array)

    - #### convertToJavaFloatArray

          public static java.lang.Float[] convertToJavaFloatArray(JavaScriptObject array)

    - #### convertToJavaDoubleArray

          public static java.lang.Double[] convertToJavaDoubleArray(JavaScriptObject array)

    - #### convertToJavaDateArray

          public static java.util.Date[] convertToJavaDateArray(JavaScriptObject array)

    - #### convertToJavaObjectArray

          public static java.lang.Object[] convertToJavaObjectArray(JavaScriptObject array)

    - #### convertToJavaRefDataClassArray

          public static RefDataClass[] convertToJavaRefDataClassArray(JavaScriptObject nativeArray)

    - #### apply

          public static void apply(JavaScriptObject config,
                   JavaScriptObject jsObj)

    - #### setAttribute

          public static void setAttribute(JavaScriptObject jsObj,
                          java.lang.String attr,
                          java.util.Map valueMap)

    - #### convertMapToJavascriptObject

          public static JavaScriptObject convertMapToJavascriptObject(java.util.Map valueMap)

    - #### convertMapToJavascriptObject

          public static JavaScriptObject convertMapToJavascriptObject(java.util.Map valueMap,
                                                      boolean strict)

    - #### getProperties

          public static java.lang.String[] getProperties(JavaScriptObject jsObj)

    - #### getPropertiesAsString

          public static java.lang.String getPropertiesAsString(JavaScriptObject jsObj)

    - #### addProperties

          public static void addProperties(JavaScriptObject destination,
                           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 JavaScriptObject cleanProperties(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