This section describes the mapping between PowerBuilder objects and PowerDesigner OOM objects.
You design a PowerBuilder application using a class with the <<application>> stereotype. Application properties are defined as follow:
PowerBuilder |
PowerDesigner |
---|---|
Instance variable |
Attribute |
Shared variable |
Static attribute |
Global variable |
Attribute with <<global>> stereotype |
Property |
Attribute with <<property>> stereotype |
External function |
Operation with <<external>> stereotype |
Function |
Operation |
Event |
Operation with <<event>> stereotype or operation with non-null event name |
Structure in object |
Inner class with <<structure>> stereotype |
You design a PowerBuilder structure using a class with the <<structure>> stereotype. The members of the structure are designed with class attributes.
You design a PowerBuilder function using a class with the <<function>> stereotype. This class should also contain one operation. The structures in a function are designed with <<structure>> inner classes linked to the class.
You design a PowerBuilder user object using a class with the <<userObject>> stereotype. User objects properties are defined as follow:
PowerBuilder |
PowerDesigner |
---|---|
Control |
inner class with <<control>> stereotype |
Instance variable |
Attribute |
Shared variable |
Static attribute |
Property |
attribute with <<property>> stereotype |
Function |
Operation |
Event |
operation with <<event>> stereotype or operation with non-null event name |
Structure in object |
inner class with <<structure>> stereotype |
You design a PowerBuilder proxy using a class with the <<proxyObject>> stereotype. Instance variables of the proxy are designed with class attributes, and proxy functions are designed with operations.
You design a PowerBuilder window using a class with the <<window>> stereotype. Window properties are defined as follow:
PowerBuilder |
PowerDesigner |
---|---|
Control |
inner class with <<control>> stereotype |
Instance variable |
Attribute |
Shared variable |
Static attribute |
Property |
Attribute with <<property>> stereotype |
Function |
Operation |
Event |
Operation with <<event>> stereotype or operation with non-null event name |
Structure in object |
Inner class with <<structure>> stereotype |
If the operation extended attribute GenerateHeader is set to true, the operation header will be generated. This attribute is set to true for any new operation. You can force header generation for all operations in a model by setting the ForceOperationHeader extended attribute to true. Operation headers are generated in the following way:
//<FuncType>: <Operation signature> //Description: <Operation comment line1> // <Operation comment line2> //Access: <visibility> //Arguments: <parameter1 name> - <parameter1 comment line1> // <parameter1 comment line2> // <parameter2 name> - <parameter2 comment> //Returns: <Return comment> // <Return comment2>
Header item |
PowerDesigner Object or Property |
---|---|
FuncType |
Function, Subroutine or Event |
Description |
Comment typed in operation property sheet |
Access |
Visibility property in operation property sheet |
Arguments |
Parameter(s) name and comment |
Returns |
Value of ReturnComment extended attribute in operation property sheet |
User-defined comment |
Value of UserDefinedComment extended attribute in operation property sheet |
Standard event handler - create an operation and select an event value in the Language Event list in the operation property sheet
User-defined event handler - create an operation and select the <<event>> stereotype. The Language Event list must remain empty
Custom event handler - create an operation and set a value to the EventID extended attribute. If this extended attribute has a value, the operation is generated as a custom event handler, even if it has a name defined in the Language Event list or the <<event>> stereotype.
These PowerBuilder objects are reverse engineered as classes with the corresponding PowerBuilder stereotype. Their properties are not mapped to PowerDesigner class properties, and their symbol is a large PowerBuilder icon.
PowerBuilder |
PowerDesigner |
---|---|
Query |
<<query>> class |
Data window |
<<dataWindow>> class |
Menu |
<<menu>> class |
Project |
<<project>> class |
Pipe line |
<<pipeLine>> class |
Binary |
<<binary>> class |
For more information about PowerBuilder reverse engineering, see Reverse Engineering PowerBuilder.