Class JSOHelper
-
Method Summary
Modifier and TypeMethodDescriptionstatic JavaScriptObjectaddProperties(JavaScriptObject destination, JavaScriptObject propertiesObject) Adds all properties and methods from the propertiesObject to the destination object.static voidapply(JavaScriptObject config, JavaScriptObject jsObj) static JavaScriptObjectarrayConvert(JavaScriptObject[] array) static JavaScriptObjectarrayConvert(Object[] array) static ObjectarrayGetObject(JavaScriptObject array, int index) static intarrayLength(JavaScriptObject array) static voidarraySet(JavaScriptObject array, int index, JavaScriptObject value) static voidarraySet(JavaScriptObject array, int index, Object value) static ObjectcallMethod(JavaScriptObject target, String methodName, Object[] arguments) Invoke a method on some JavaScript object, passing in the specified array of parameters.static JavaScriptObjectcleanProperties(JavaScriptObject properties, boolean copyProperties) Removes non-transferable properties from the supplied object (e.g.static JavaScriptObjectconvertMapToJavascriptObject(Map valueMap) Converts the parameter Map to an equivalent Javascript object - seeJavaToJavaScriptConversionfor details of the conversions that take place.static JavaScriptObjectconvertMapToJavascriptObject(Map valueMap, boolean strict) static Object[]convertToArray(JavaScriptObject object) Convert a JavaScript object to an Object[], following the rules described in theJS -> Java conversion article.static JavaScriptObjectconvertToCellArray(int[][] cells) static ObjectconvertToJava(JavaScriptObject object) Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in theJS -> Java conversion article.static ObjectconvertToJava(JavaScriptObject object, boolean listAsArray) Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in theJS -> Java conversion articlestatic Boolean[]static Datestatic Date[]static Double[]static Float[]static int[]static Integer[]static Integer[]Deprecated.static Object[]static RefDataClass[]convertToJavaRefDataClassArray(JavaScriptObject nativeArray) static JavaScriptObjectconvertToJavaScriptArray(boolean[] array) static JavaScriptObjectconvertToJavaScriptArray(byte[] array) static JavaScriptObjectconvertToJavaScriptArray(char[] array) static JavaScriptObjectconvertToJavaScriptArray(double[] array) static JavaScriptObjectconvertToJavaScriptArray(float[] array) static JavaScriptObjectconvertToJavaScriptArray(int[] array) static JavaScriptObjectconvertToJavaScriptArray(long[] array) static JavaScriptObjectconvertToJavaScriptArray(short[] array) static JavaScriptObjectconvertToJavaScriptArray(Object[] array) Converts the parameter Object array to an equivalent Javascript array - seeJavaToJavaScriptConversionfor details of the conversions that take place.static JavaScriptObjectconvertToJavaScriptArray(Object[] array, boolean strict) static JsDateconvertToJavaScriptDate(Date date) static String[]static <O extends JavaScriptObject>
JsArray<O>convertToJsArray(O[] array) static ListconvertToList(JavaScriptObject object) Convert a JavaScript object to a List, following the rules described in theJS -> Java conversion article.static MapconvertToMap(JavaScriptObject jsObj) Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in theJS -> Java conversion article.static MapconvertToMap(JavaScriptObject jsObj, boolean listAsArray) Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in theJS -> Java conversion articlestatic StringconvertToString(Object obj) static JavaScriptObjectstatic JavaScriptObjectstatic voiddeleteAttribute(JavaScriptObject elem, String attr) static voiddeleteAttributeIfExists(JavaScriptObject elem, String attr) static doubledoubleValue(Number num) static JavaScriptObjectEvaluate the passed string as Javascriptstatic intgetArrayLength(JavaScriptObject array) static StringgetArrayValue(JavaScriptObject array, int index) static StringgetAttribute(JavaScriptObject elem, String attr) static booleangetAttributeAsBoolean(JavaScriptObject elem, String attr) Returns attribute value set as a Boolean.static BooleangetAttributeAsBoolean(JavaScriptObject elem, String attr, boolean allowNull) Returns attribute value set as a Boolean.static DategetAttributeAsDate(JavaScriptObject elem, String attr) static DoublegetAttributeAsDouble(JavaScriptObject elem, String attr) static double[]getAttributeAsDoubleArray(JavaScriptObject elem, String attr) static ElementgetAttributeAsElement(JavaScriptObject elem, String attr) static FloatgetAttributeAsFloat(JavaScriptObject elem, String attr) static IntegergetAttributeAsInt(JavaScriptObject elem, String attr) static int[]getAttributeAsIntArray(JavaScriptObject elem, String attr) static JavaScriptObjectgetAttributeAsJavaScriptObject(JavaScriptObject elem, String attr) static JavaScriptObject[]static MapgetAttributeAsMap(JavaScriptObject elem, String attr) Returns attribute "attr" of JavaScriptObject "elem", converted to a Map following the rules described in theJS -> Java conversion articlestatic ObjectgetAttributeAsObject(JavaScriptObject elem, String attr) static String[]getAttributeAsStringArray(JavaScriptObject elem, String attr) static BooleangetBooleanArrayValue(JavaScriptObject array, int index) static int[][]getCellArray(JavaScriptObject jsCells) static StringgetClassName(JavaScriptObject javaScriptObject) Returns the javascript class name.static DategetDateArrayValue(JavaScriptObject array, int i) static doublegetdoubleArrayValue(JavaScriptObject array, int index) static DoublegetDoubleArrayValue(JavaScriptObject array, int index) static doublegetDoubleValueFromJavaScriptObjectArray(JavaScriptObject elem, int i) static ElementgetElementValueFromJavaScriptObjectArray(JavaScriptObject elem, int i) This is used to access Element array as JavaScriptObjectstatic floatgetfloatArrayValue(JavaScriptObject array, int index) static FloatgetFloatArrayValue(JavaScriptObject array, int index) static intgetIntArrayValue(JavaScriptObject array, int index) static IntegergetIntegerArrayValue(JavaScriptObject array, int index) static intgetIntValueFromJavaScriptObjectArray(JavaScriptObject elem, int i) static intstatic JsDategetJSLogicalDate(int year, int month, int date) static JsDategetJSLogicalDate(Date date) static JsDategetJSLogicalTime(int hour, int minute, int second, int millisecond) static JsDategetJSLogicalTime(Date date) static JavaScriptObjectgetJSOArrayValue(JavaScriptObject array, int index) static ObjectgetObjectArrayValue(JavaScriptObject array, int index) static String[]getProperties(JavaScriptObject jsObj) static Stringstatic StringgetStringValueFromJavaScriptObjectArray(JavaScriptObject elem, int i) static JavaScriptObjectgetValueFromJavaScriptObjectArray(JavaScriptObject elem, int i) static booleanisArray(JavaScriptObject jsObj) static booleanisJavaArray(Object obj) static booleanisJavaBoolean(Object obj) static booleanisJavaDate(Object obj) static booleanisJavaDouble(Object obj) static booleanisJavaFloat(Object obj) static booleanisJavaInteger(Object obj) static booleanisJavaList(Object obj) static booleanstatic booleanisJavaNumber(Object obj) static booleanisJavaString(Object obj) static booleanstatic booleanisScClassInstance(JavaScriptObject javaScriptObject) Returns whether the supplied JavaScriptObject is a SmartClient class instance.static booleanisScClassObject(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(List list) static voidsetArrayValue(JavaScriptObject array, int index, boolean value) static voidsetArrayValue(JavaScriptObject array, int index, char value) static voidsetArrayValue(JavaScriptObject array, int index, double value) static voidsetArrayValue(JavaScriptObject array, int index, long value) static voidsetArrayValue(JavaScriptObject array, int index, JavaScriptObject value) static voidsetArrayValue(JavaScriptObject array, int index, Object value) static voidsetArrayValue(JavaScriptObject array, int index, String value) static voidsetArrayValue(JavaScriptObject array, int index, Date value) static voidsetAttribute(JavaScriptObject elem, String attr, boolean value) static voidsetAttribute(JavaScriptObject elem, String attr, double value) static voidsetAttribute(JavaScriptObject elem, String attr, double[] values) static voidsetAttribute(JavaScriptObject elem, String attr, float[] values) static voidsetAttribute(JavaScriptObject elem, String attr, int value) static voidsetAttribute(JavaScriptObject elem, String attr, int[] values) static voidsetAttribute(JavaScriptObject elem, String attr, JavaScriptObject value) static voidsetAttribute(JavaScriptObject elem, String attr, JavaScriptObject[] value) static voidsetAttribute(JavaScriptObject elem, String attr, Function handler) static voidsetAttribute(JavaScriptObject elem, String attr, ValueEnum[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Boolean value) static voidsetAttribute(JavaScriptObject elem, String attr, Boolean[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Double[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Float[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Integer[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Long value) static voidsetAttribute(JavaScriptObject elem, String attr, Long[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Number value) static voidsetAttribute(JavaScriptObject elem, String attr, Object value) Set the value of attribute "attr" in object "elem" to the Object "value"static voidsetAttribute(JavaScriptObject elem, String attr, String value) static voidsetAttribute(JavaScriptObject elem, String attr, String[] values) static voidsetAttribute(JavaScriptObject elem, String attr, Date value) static voidsetAttribute(JavaScriptObject elem, String attr, Date[] values) static voidsetAttribute(JavaScriptObject jsObj, String attr, Map valueMap) Sets attribute "attr" on Javascript object "jsObj" to the JavaScript equivalent of "valueMap".static voidsetNullAttribute(JavaScriptObject elem, String attr) static voidsetObjectAttribute(JavaScriptObject elem, String attr, Object object) static voidthrowUnconvertibleObjectException(Object object, String messageDetail) static JavaScriptObject[]toArray(JavaScriptObject array) static BooleantoBoolean(boolean value) static DatetoDate(double millis) Converts a time to a JavaDateobject.static JavaScriptObjectstatic DoubletoDouble(double value) static Element[]toElementArray(JavaScriptObject array) static FloattoFloat(float value) static IntegertoInteger(int value) static LongtoLong(double value)
-
Method Details
-
getClassName
Returns the javascript class name.- Returns:
-
isScClassInstance
Returns whether the supplied JavaScriptObject is a SmartClient class instance.- Parameters:
the- object to evaluate- Returns:
- whether object is an instance
-
isScClassObject
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
Evaluate the passed string as Javascript- Parameters:
jsFrag- the string to evaluate- Returns:
- the JavaScriptObject upon evaluation
-
isJSO
-
doubleValue
-
getAttribute
-
setAttribute
-
getAttributeAsJavaScriptObject
-
getAttributeAsJavaScriptObjectArray
public static JavaScriptObject[] getAttributeAsJavaScriptObjectArray(JavaScriptObject elem, String attr) -
toArray
-
isArray
-
toElementArray
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
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
JavaToJavaScriptConversionfor details of the conversions that take place.
Developers can usesetObjectAttribute(JavaScriptObject, String, Object)to store Java objects without converting to JavaScript.- Parameters:
elem- the JavaScriptObject on which to set the attributeattr- the attribute namevalue- the attribute value.
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setNullAttribute
-
deleteAttribute
-
deleteAttributeIfExists
-
setAttribute
-
setAttribute
-
setAttribute
-
setAttribute
-
setObjectAttribute
-
getAttributeAsElement
-
getAttributeAsInt
-
getAttributeAsDouble
-
getAttributeAsDate
-
getAttributeAsFloat
-
getAttributeAsIntArray
-
getAttributeAsDoubleArray
-
getAttributeAsStringArray
-
getJavaScriptObjectArraySize
-
getIntValueFromJavaScriptObjectArray
-
getDoubleValueFromJavaScriptObjectArray
-
getStringValueFromJavaScriptObjectArray
-
getValueFromJavaScriptObjectArray
-
getCellArray
-
convertToCellArray
-
getAttributeAsBoolean
Returns attribute value set as a Boolean. For convenience in checking boolean properties,getAttributeAsBooleanwill return Booleanfalseif the attribute value isnullor not a Boolean. Use the three parameter variant of this APIgetAttributeAsBoolean(JavaScriptObject, String, boolean)if you wantnullreturned fornullattribute values.- Parameters:
elem- the JavaScriptObject containing the propertyattr- the property name- Returns:
- the property value
-
getAttributeAsBoolean
Returns attribute value set as a Boolean. If the attribute value isnullor not a Boolean, the return value depends uponallowNull. IfallowNullis true,nullwill be returned; otherwise Booleanfalsewill be returned. For a simpler approach that never returnsnull, use the two parameter variant of this APIgetAttributeAsBoolean(JavaScriptObject, String).- Parameters:
elem- the JavaScriptObject containing the propertyattr- the property nameallowNull- whether to permit anullreturn value- Returns:
- the property value
-
getAttributeAsObject
-
getAttributeAsMap
Returns attribute "attr" of JavaScriptObject "elem", converted to a Map following the rules described in theJS -> Java conversion article- Parameters:
elem- JavaScriptObject containing the attributeattr- The attribute name- Returns:
- The attribute converted to a Java Map
-
listToArray
-
arrayConvert
-
arrayConvert
-
arrayLength
-
arrayGetObject
-
arraySet
-
arraySet
-
getElementValueFromJavaScriptObjectArray
This is used to access Element array as JavaScriptObject -
createObject
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJavaScriptArray
-
convertToJava
Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in theJS -> Java conversion article- Parameters:
object- JavaScriptObject to convertlistAsArray- 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
Convert a JavaScriptObject to the appropriate type of Java Object, following the rules described in theJS -> Java conversion article. Any arrays encountered during conversion will be converted to JavaArrayLists- 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
Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in theJS -> Java conversion article- Parameters:
jsObj- the JavaScript object to convertlistAsArray- Should arrays be converted to Object[] or List- Returns:
- the map
- Throws:
IllegalArgumentException- if unable to convert the passed JavaScript object to a map
-
convertToMap
Convert a JavaScript object containing key:value pairs to a Java Map, following the rules described in theJS -> Java conversion article. Any arrays encountered during the conversion process will be converted to JavaArrayLists- Parameters:
jsObj- the JavaScript object to convert- Returns:
- the map
- Throws:
IllegalArgumentException- if unable to convert the passed JavaScript object to a map
-
convertToArray
Convert a JavaScript object to an Object[], following the rules described in theJS -> 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
Convert a JavaScript object to a List, following the rules described in theJS -> 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
-
convertToJavaDate
-
convertToString
-
isJavaDate
- Parameters:
obj- the object- Returns:
- true if object is a Java Date
-
isJavaNumber
- Parameters:
obj- the object- Returns:
- true if object is a Java Number
-
isJavaInteger
- Parameters:
obj- the object- Returns:
- true if object is a Java Integer
-
isJavaFloat
- Parameters:
obj- the object- Returns:
- true if object is a Java Float
-
isJavaDouble
- Parameters:
obj- the object- Returns:
- true if object is a Java Double
-
isJavaString
- Parameters:
obj- the object- Returns:
- true if object is a Java String
-
isJavaBoolean
- Parameters:
obj- the object- Returns:
- true if object is a Java Integer
-
isJavaList
-
isJavaMap
-
isJavaArray
- Parameters:
obj- the object- Returns:
- true if object is a Java Array
-
convertToJsArray
-
convertToJavaScriptArray
Converts the parameter Object array to an equivalent Javascript array - seeJavaToJavaScriptConversionfor details of the conversions that take place.- Parameters:
array- the Java Object array to convert
-
convertToJavaScriptArray
-
throwUnconvertibleObjectException
-
toInteger
-
toLong
-
toFloat
-
toDouble
-
toDate
Converts a time to a JavaDateobject.Note: If needing to convert a JavaScript object, it is preferable to use
convertToJavaDate(JavaScriptObject)instead because that function is able to convert toLogicalDateandLogicalTimeinstances as needed.- Parameters:
millis- number of milliseconds since January 1, 1970, 00:00:00 GMT.- Returns:
- a new
Daterepresenting the given time.
-
toDateJS
-
getJSLogicalDate
-
getJSLogicalDate
-
getJSLogicalTime
-
getJSLogicalTime
-
toBoolean
-
createJavaScriptArray
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
setArrayValue
-
getArrayValue
-
getJSOArrayValue
-
getObjectArrayValue
-
getBooleanArrayValue
-
getIntArrayValue
-
getfloatArrayValue
-
getdoubleArrayValue
-
getIntegerArrayValue
-
getFloatArrayValue
-
getDoubleArrayValue
-
getDateArrayValue
-
getArrayLength
-
convertToJavaBooleanArray
-
convertToJavaIntArray
-
convertToJavaInterArray
Deprecated.deprecated in favor ofconvertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject) -
convertToJavaIntegerArray
-
convertToJavaStringArray
-
convertToJavaFloatArray
-
convertToJavaDoubleArray
-
convertToJavaDateArray
-
convertToJavaObjectArray
-
convertToJavaRefDataClassArray
-
apply
-
setAttribute
Sets attribute "attr" on Javascript object "jsObj" to the JavaScript equivalent of "valueMap". SeeJavaToJavaScriptConversionfor details of the conversions that take place.- Parameters:
jsObj- the JavaScript object on which to set the attributeattr- the name of the attribute to setvalueMap- the Java Map to convert and apply as the attribute value
-
convertMapToJavascriptObject
Converts the parameter Map to an equivalent Javascript object - seeJavaToJavaScriptConversionfor details of the conversions that take place.- Parameters:
array- the Java Map to convert
-
convertMapToJavascriptObject
-
getProperties
-
getPropertiesAsString
-
addProperties
public static JavaScriptObject addProperties(JavaScriptObject destination, JavaScriptObject propertiesObject) Adds all properties and methods from the propertiesObject to the destination object.- Parameters:
destination- the destination objectpropertiesObject- the propertiesObject
-
cleanProperties
Removes non-transferable properties from the supplied object (e.g. widget ID), performing a copy first if requested.- Parameters:
properties- the supplied object to cleancopyProperties- whether to copy the object first- Returns:
- the cleaned properties object
-
callMethod
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
JavaToJavaScriptConversionfor 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:
-
convertToJavaIntegerArray(com.google.gwt.core.client.JavaScriptObject)