|
Keeping Your Interface ConstantOne commonly asked question about Chameleon is, 'What changes in the message definition file require the stubcode to be regenerated?' This section attempts to provide some answers. When you choose to use the stubcode interface in Chameleon, it helps to be aware of the kinds of changes that can be made to your VMD file. In particular, you should be aware of those that will affect your code, and those that will not. The following diagram provides a conceptual understanding: ![]() Interface Overview External RepresentationChanges made to the external representation of the data (message segment grammar, segment definitions, composite definitions, date time formats, delimiter characters, table mapping, Python scripts, message identification) will not affect your code, meaning your code does not have to be regenerated and/or recompiled. This means the only thing you need to change is the VMD file. Internal RepresentationChanges made to the internal representation of the data (table structures, message table grammar, additions of tables, messages) are important. These require that the stubcode be regenerated and recompiled (only when using Chameleon's static stubcode-based interface). If you choose to use the dynamic interface with Chameleon, you have a lot more runtime flexibility. This will require you to program more carefully. |