| Data type | Java Type | Data class |
|---|---|---|
| char | char | Data.Char |
| short | short | Data.Short |
| byte | byte | Data.Byte |
| int | int | Data.Int |
| long | long | Data.Long |
| float | float | Data.Float |
| double | double | Data.Double |
| boolean | boolean | Data.Bool |
| string | String | Data.Str |
| xmlType | String, see XML values | Data.Xml |
| jsonType | String, see JSON values | Data.JSON |
| enumType | int, see enumerations | Data.Enum |
| Data type | Java Type | Data class |
|---|---|---|
| array | List | Data.Array |
| structure | List | Data.Structure |
| union | List | Data.Union |
| map | Map | Data.MapData |
int Datas. As such, as for int values:intint value is the index of the state in the enumeration. For example:<types> <enumType name="intEnum" > <enumValue name="ONE" /> <enumValue name="TWO" /> </enumType> </types>In the following type definition, "ONE" will have the value 1, and "TWO" the value 2:
<types> <enumType name="intEnum" > <enumValue name="ONE" value="1" /> <enumValue name="TWO" value="2"/> </enumType> </types>However, several additional methods allow to get or set the value of an enumeration according to the name of the state.
data.setIntValue(2) will set the state TWOdata.setStringValue("TWO") will set the state TWOString Datas. They can be set or get as XML Nodes, or as Strings: The Data.Xml datas have two specific methods which allow to get or set the Data value as an XMLNode:XMLNodeXMLNode as the argumentXMLNode represents an element in the XML structure, this element hold:XMLNode.getName()XMLNode.getAttribute(String)XMLNode.getChildren()String Datas. They can be set or get as JSONObject, or as Strings: The Data.JSON datas have two specific methods which allow to get or set the Data value as a JSONObject:JSONObjectJSONObject as the argument<types> <simpleType name="int" baseType="int" /> <arrayType name="arrayOfInt" type="int"/> </types>The following code will work correctly:
ArrayType myArray = (ArrayType)module.getType("arrayOfInt"); List<Object> firstInstance = myArray.getDefaultValue(); firstInstance.add(1); List<Object> secondInstance = myArray.getDefaultValue(); int size = secondInstance.getSize(); // size is equal to 0
<types> <simpleType name="int" baseType="int" /> </types>We will have:
Type myInt = module.getType("int"); String str = myInt.getValueAsString(2); // str is "2"
<types> <enumType name="intEnum" > <enumValue name="ONE" /> <enumValue name="TWO" /> </enumType> </types>We will have:
EnumType myEnum = (EnumType)module.getType("intEnum"); String str = myEnum.getValueAsString("ONE"); // str is "ONE" str = myEnum.getValueAsString(1); // str is "TWO" str = myEnum.getValueAsString(2); // str is "2" str = myEnum.getValueAsString("TUTU"); // str is nullThe EnumType.getProtectedStateValueAsString(Object) will return a guaranteed state value as a String. It a corresponding state does not exist, the first state name will be returned. For example, with the same enumeration:
EnumType myEnum = (EnumType)module.getType("intEnum"); String str = myEnum.getProtectedStateValueAsString("ONE"); // str is "ONE" str = myEnum.getProtectedStateValueAsString(1); // str is "TWO" str = myEnum.getProtectedStateValueAsString(2); // str is "ONE" str = myEnum.getValueAsString("TUTU"); // str is "ONE"
copy(Data fromData, true) vesion of the previous methodCopyright 2017-2020 Dassault Aviation. All Rights Reserved. Documentation and source under the LGPL v3 licence