Structure Definitions in RAD Modules
Similar to the enum
element, the struct
element has a single mandatory attribute, name
. The name is used when referring to the structure from other derived type or interface definitions. A struct
contains one or more field
elements, one for each field of the structure. A field
element has a mandatory name
attribute that gives the field a symbolic name. The symbolic name isn't used elsewhere in the API definition, only in the server and various client environments. In addition to a name, each field must specify a type.
You can define the type of a field in multiple ways. If a field is a plain base type or a derived type defined elsewhere in the API document, that type is defined with a type
attribute. If a field is an array of some type (base or derived), that type is defined with a nested list
element. The type of the array is defined in the same fashion as the type of the field: either with a type
attribute, or another nested list
element.
A field's value might be declared nullable by setting the field
element's nullable
attribute to true
.
Note:
The structure fields, methods return values, method arguments, attributes, error return values, and events have types, and in the IDL, use identical mechanisms for defining those types.Example 2-3 Defining a struct
for a RAD Module
<struct name="Name"> <field name="familyName" type="string" /> <field name="givenNames"> <list type="string" /> </field> </struct> <struct name="Person"> <field name="name" type="Name" /> <field name="title" type="string" nullable="true" /> <field name="shoeSize" type="int" /> </struct>