IsA( ) method

Returns TRUE if a class or interface represented by the Progress.Lang.Class object or object type-name expression passed to the method is in the hierarchy of the Progress.Lang.Class class instance on which the method is called. Otherwise, the method returns FALSE. The IsA( ) method supports the reflection capabilities of the Progress.Lang.Class class.

Return type: LOGICAL

Access: PUBLIC

Applies to: Progress.Lang.Class class

Syntax

IsA ( { INPUT object-reference AS Progress.Lang.Class |
         INPUT object-type-name AS CHARACTER } )
object-reference
An object reference to a Progress.Lang.Class instance that can represent a class or interface type.
object-type-name
A CHARACTER expression that evaluates to a class or interface type name.

This method returns TRUE when the Progress.Lang.Class class instance on which the method is called represents a class type that:

In this example, the IsA( ) method is used to determine if a "Customer" object is within the hierarchy of a "Bar" class. Note that "Customer" can represent either a class type or an interface type.

DEFINE VARIABLE b        AS LOGICAL             NO-UNDO.
DEFINE VARIABLE barType  AS Progress.Lang.Class NO-UNDO.
DEFINE VARIABLE custType AS Progress.Lang.Class NO-UNDO.

/* Determines if a "Customer" class object is within the hierarchy of
   a "Bar" class */
ASSIGN
  barType  = Progress.Lang.Class:GetClass("Bar")
  custType = Progress.Lang.Class:GetClass("Customer").

b = barType:IsA(custType).
/* or */
b = barType:IsA("Customer").