|
» PDF Version
General Rules
Classifiers
- Class
- Interface
- Enumeration
- Record
- Set
- Sub Range
- Array
- Exception
Tagged ValuesIn a classifier, tag = 'uses' with value = string that represents the unit(s) name to be included in specified unit declaration, separated by commas.
Description: This will handle the string that represents the unit(s) name to be included in a specified unit declaration. Blank 'uses' tagged values will be defaulted to 'SysUtils'.
Example: UnitA, UnitB, UnitC
In an attribute, tag = 'published' with value = 'true'.
Description: This will handle published visibility of a classifier attribute.
In an operation, tag = 'published' with Value = 'true'.
Description: This will handle the published visibility of a classifier operation.
In an exception, tag = 'published' with Value = 'true'.
Description: This will handle the published visibility of Exception.
In a classifier, tag = 'setvalue' with Value = string that represents the value of Set separated by comma.
Description: This will handle the way to input the value of Set type.
Example: 1,9
In a classifier, tag = 'subrangevalue' with Value = string that represents the value of Sub Range separated by comma.
Description: This will handle the way to input the value of Sub Range type.
Example: 1,9
In a classifier, tag = 'arrayvalue' with Value = string that represents the value of Array separated by comma.
Description: This will handle the way to input the value of Array type.
Example: 1,9
In a classifier, tag = 'arraytype' with value = string that represents the type of Array.
Description: This will handle the way to input the type of Array type.
In an operation, tag = 'virtual' with Value = 'true'
Description: This will handle the way to set the specified operation into a 'virtual'type operation.
In an operation, tag ='dynamic' with Value = 'true'
Description: This will handle the way to set the specified operation into a 'dynamic'type operation.
In an operation, tag = 'override' with Value = 'true'
Description: This will handle the way to set the specified operation into a 'override' type operation.
In an operation, tag = 'overload' with Value = 'true'
Description: This will handle the way to set the specified operation into a 'overload' type operation.
Note: all string input in the tag column is restricted to be case sensitive.
Tagged Values
Additional stereotypes used in Delphi code generation:
In an attribute, stereotype = 'Const'
Description: This will handle the way to specify a 'const' type attribute.
In an operation, stereotype = 'function'
Description: This will handle the way to specify a 'function' type operation.
In an operation, stereotype = 'procedure'
Description: This will handle the way to specify a 'procedure' type operation.
In an operation, stereotype = 'procedure'
Description: This will handle the way to specify a 'procedure' type operation.
In an attribute, stereotype = 'property'
Description: This will handle the way to specify a 'property' type attribute.
In a classifier, stereotype = 'Enum'
Description: This will handle the way to specify an 'Enumeration' type classifier.
In a classifier, stereotype = 'Record'
Description: This will handle the way to specify a 'Record' type classifier.
In a classifier, stereotype = 'Set'
Description: This will handle the way to specify a 'Set' type classifier.
In a classifier, stereotype = 'SubRange'
Description: This will handle the way to specify a 'Sub Range' type classifier.
In a classifier, Stereotype = 'Array'
Description: This will handle the way to specify an 'Array' type classifier.
In a classifier, Stereotype = 'Exception'
Description: This will handle the way to specify an 'Exception' type classifier.
Modelling Element Rules
Class
- Uses standard UML 'Class'
- Participates in generalizations, associations and specifications
- Only supports single inheritance
Interface
- Uses standard UML 'Interface'
- Participates in generalizations
- Does not participate in associations or specifications
- Only supports single inheritance
Enumeration
- Uses standard UML 'Class' with «Enum» stereotype
- Does not participate in generalizations or specifications
- Cannot have navigable opposite association ends and operations
Record
- Uses standard UML 'Class' with «Record» stereotype
- Does not participate in generalizations or specifications
- Can have navigable opposite association end,
- Cannot have any operations
Set
- Uses standard UML 'Class' with «Set» stereotype
- Does not participate in generalizations or specifications
- Cannot have navigable opposite association ends or operations
Sub Range
- Uses standard UML 'Class' with «SubRange» stereotype
- Does not participate in generalizations or specifications
- Cannot have navigable opposite association ends or operations
Array
- Uses standard UML 'Class' with «Array» stereotype
- Does not participate in generalizations or specifications
- Cannot have navigable opposite association ends or operations
Exception
- Uses standard UML 'Class' with «Exception» stereotype
- The same typical with Class.
Specific Rules
An attribute with 'non-1' multiplicity will generate an Array type that is defaulted to 'int' type with Lower Bound and Upper Bound value based on Lower Bound and Upper Bound value of specified multiplicity.
Example:
Attribute with multiplicity: 1..2 will generate : Array[1..2] of int;
- Blank input of 'uses' tag will be defaulted to 'SysUtils'.
- Blank input of 'setvalue' tag will be defaulted to 'a'..'z'
- Blank input of 'subrangevalue' tag will be defaulted to 'a'.. 'z'
- Blank input of 'arrayvalue' tag will be defaulted to '1'..'10'
- Blank input of 'arraytype' tag will be defaulted to int
- Blank input of 'procedure' and 'function' tag will be defaulted to procedure

|