In this posting I want to talk about the code generator options available in the MSKMdlPlainApp-Runtime based code generator.
Create Application Creation Source
This option creates source code to create all needed structures within the Smalltalk ENVY repository. This includes all needed application and the correct settings for prerequisites of these applications. This code has to be executed in front of all other Smalltalk codes we generate.
Create VisualAge Abt methods
When you enable this option – and it will be pretty clear, that most of the people might want to use it – the code generator generates methods, so that the CompositionEditor now knows all attributes about all classes it generates.
Use “DateAndTime” as Timestamp class
Under VASmalltalk you may either want to use AbtTimestamp or the newer DateAndTime as the default class for managing timestamp. This settings is mostly used during the creation of the “initialize” method of a class.
Use “Platform class” as String class
“Normally” one would use to create a new instance of a string. When enabled the code generator should create code like
Create NULL parameter checks
When enabled the code generator generates code in methods to check against parameters with null values and the model says, that a null value is not allowed. Actually in 1.1.21 the code is generated, but the exception is not yet thrown.
Create Modification Calls
When enabled, the code generator generates code in the attribute seetings/changings methods to inform the current transaction manager about model attribute changes … this is needed, to rollback a transaction or get information for persistent solutions.
When enabled, the code generator build methods to make the model suitable the Swapper persistence technology. That means, that transient objects are thrown away and non persistent attributes are defined to be non-storable for Swapper.
Use Abr-Collection commands
When enabled, the code generator generates code to use abrAdd: and abrRemove: methods to change the instance of OrderedCollection holding the values of an association. This might lead to additional events sent …
Create additional VW like accessors
Normally the cg generates code for an attribute named “age” e.g.: setAge: and getAge. When enabling this option the cg generates the “normal” Smalltalk methods like “age:” and “age”.