Coding and accessing messages with repeating structures
Messages with repeating structures can be defined by using the
DLITypeInfoList class. With the DLITypeInfoList class, you can
specify a repeating list of fields and the maximum number of times the list can be repeated. These
repeating structures can contain repeating structures.
The following code example is a sample output message that contains a set of Make, Model, and Color fields:
Sample output message with repeating structures
public class ModelOutput extends IMSFieldMessage {
static DLITypeInfo[] modelTypeInfo = {
new DLITypeInfo("Make", DLITypeInfo.CHAR, 1, 20),
new DLITypeInfo("Model", DLITypeInfo.CHAR, 21, 20),
new DLITypeInfo("Color", DLITypeInfo.CHAR, 41, 20),
};
static DLITypeInfo[] modelTypeInfoList = {
new DLITypeInfoList("Models", modelTypeInfo, 1, 60, 100),
};
public ModelOutput() {
super(modelTypeInfoList, 6004, false);
} }To access the nested structures that are defined in a
DLITypeInfoList object, use a dotted notation to specify the fields of the field
within a repeating structure. For example, the Colorfield in the fourth
Modelsdefinition in the
output object is accessed as Models.4.Colorwithin the
output message. The following code sets the fourth Colorin the
output message to Red.
IOMessage output = app.getIOMessage("class://ModelOutput");
output.setString("Models.4.Color", "Red");