PowerBuilder Objects

This section describes the mapping between PowerBuilder objects and PowerDesigner OOM objects.

Applications

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

Structures

You design a PowerBuilder structure using a class with the <<structure>> stereotype. The members of the structure are designed with class attributes.

Functions

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.

User Objects

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

Proxies

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.

Windows

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

Operations

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

Events

To generate a:
  • 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.

Other Objects

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.