Release 10.1A: OpenEdge Getting Started:
Object-oriented Programming

> ## Using Progress.Lang.Class data members and methods

> `Progress.Lang.Class` is a built-in Progress class that provides a common set of data members and methods that return type information about a class or interface. `Progress.Lang.Class` is `FINAL` and therefore it can not be inherited. Each Progress session contains a single `Progress.Lang.Class` instance for each type of class-based object instantited in the session. The lifetime of these objects is controlled by the Progress session; therefore, you cannot delete them. Table 4–1 describes the common data members and methods on `Progress.Lang.Class`.

> Table 4–1: Progress.Lang.Class public data members and methods
> Data member or method | Description
> --- | ---
>     PUBLIC TypeName AS CHARACTER
> | A read-only data member that contains the fully qualified class or interface type name. For example, `"acme.myObjs.CustObj"` (the sample class defined in the "Sample classes" section).
>     PUBLIC Package AS CHARACTER
> | A read-only data member that contains the package (relative directory) of the class or interface type name. For example, `"acme.myObjs"` (the sample package used in the "Sample classes" section).
>     PUBLIC SuperClass AS CLASS
>     Progress.Lang.Class
> | A read-only data member that contains an object reference. This object reference represents the type of the super class if the current class type represents a subclass.
>     METHOD PUBLIC LOGICAL IsInterface ( )
> | Returns `TRUE` if the type is a definition for an interface, and `FALSE` if it is for a class.
>     METHOD PUBLIC LOGICAL IsFinal ( )
> | Returns `TRUE` if the type is defined as `FINAL`, and `FALSE` if it is not `FINAL`.

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095