/** * Converts a java object array into a mixed javascript array (JsArrayMixed). * * @param array the array containing values * @return a corresponding JsArrayMixed */ public static JsArrayMixed createArray(Object... array) { JsArrayMixed jsArray = JavaScriptObject.createArray().cast(); for (int i = 0; i < array.length; i++) { Object object = array[i]; if (object == null) { jsArray.set(i, (String) null); } else if (object instanceof Integer) { arraySet(jsArray, i, ((Integer) object).intValue()); } else if (object instanceof Double) { arraySet(jsArray, i, ((Double) object).doubleValue()); } else if (object instanceof String) { arraySet(jsArray, i, (String) object); } else if (object instanceof Date) { jsArray.set(i, DateHelper.getJsDate((Date) object)); } else if (object instanceof JavaScriptObject) { jsArray.set(i, (JavaScriptObject) object); } else { throw new RuntimeException("invalid value type"); } } return jsArray; }