Class, Interface, and Enumeration Reference

This section contains reference entries that describe the built-in classes, interfaces, and enumerations supported in ABL.

Information about the object-oriented ABL interfaces, classes, and enumerations can be found in other references and sources, as summarized in the table below:

Procedure library and primary packages Description More information
dataadmin.pl
  • OpenEdge.DataAdmin
Contains the database administration API for OpenEdge Management (OEM) and OpenEdge Explorer (OEE). Contains security token service (STS) utilities. See "Database Administration Entity Interface Reference" in Programming Interfaces.
OpenEdge.BusinessLogic.pl
  • Ccs.BusinessLogic
  • OpenEdge.BusinessLogic
Contains basic business entity classes and supporting code. Contains Common Component Specification (CCS) business entity interfaces and related types. For Ccs.BusinessLogic see https://github.com/progress/CCS/tree/ master/Specs/BusinessEntity/v1_0.

For OpenEdge.BusinessLogic see "Coding Business Entities to implement Data Objects" in Web Services.

OpenEdge.BusinessRules.pl
  • OpenEdge.BusinessRules
Contains an ABL interface for calling Corticon Decision Services. See "Introducing OpenEdge Business Rules" in OpenEdge Business Rules.
OpenEdge.Core.pl
  • Ccs.common
  • Ccs.ServiceManager
  • OpenEdge.Core
  • OpenEdge.Logging
  • OpenEdge.Security
Contains the most commonly used components including logging, and service, session, and startup manager interfaces. For Ccs.common and Ccs.ServiceManager see https://github.com/progress/CCS/tree/ master/Specs/Startup_Session_Service_ Managers/v1_0.
OpenEdge.Net.pl
  • OpenEdge.Mobile
  • OpenEdge.Net
  • OpenEdge.Web
Contains common utilities and data writers for WebHandlers and HTTP clients.  
OpenEdge.ServerAdmin.pl
  • OpenEdge.ApplicationServer
  • OpenEdge.Rest
Contains administrative classes for querying and working with AppServer agents.  
OpenEdge.Security.pl
  • OpenEdge.Security
Contains classes and other types for working with the OpenEdge Authentication Gateway (OEAG). Includes interfaces for the policy and event callbacks. See "Configuring event callbacks" in OpenEdge Authentication Gateway Guide.

The reference entries in this section include both native ABL classes and interfaces and OpenEdge .NET classes and interfaces. For information on working with ABL classes and interfaces, see OpenEdge Development: Object-oriented Programming. For information on working with ABL enumerations, see the ENUM statement reference entry. For information on working with .NET classes and interfaces, see OpenEdge Development: GUI for .NET Programming.

The built-in ABL classes and interfaces support access to user-defined ABL classes and interfaces and also provide the foundation for structured error handling in ABL. They also support features of the ABL model for accessing .NET objects, including the handling of .NET exceptions using ABL structured error handling. For information on the properties and methods of these built-in ABL classes and interfaces, see the Class Properties and Methods Reference.

The built-in ABL enumerations support ABL's reflection capabilities. For example, the Progress.Reflect.AccessMode enumeration has Public, Protected, and Private members that can be used as parameters to specify the access mode of the class member(s) for which information is being requested. The entry for each built-in enumeration describes the members defined by that enumeration.

The built-in OpenEdge .NET classes and interfaces support ABL access to .NET objects. Some of the OpenEdge .NET classes extend Microsoft .NET classes. The reference entries for these classes list the OpenEdge built-in and extended properties, methods, and events that allow you to monitor and control the behavior of these class-based objects. For more information on the properties and methods listed for each OpenEdge .NET class and interface, see the Class Properties and Methods Reference. For more information on the .NET events listed for each OpenEdge .NET class, see the Class Events Reference in this manual. For information on the Microsoft .NET properties, methods, and events not listed in this manual for an extended Microsoft .NET class, see the .NET Framework class library.

ABL views all .NET classes and interfaces as ABL object types by treating the .NET root class, System.Object, as an immediate subclass of the ABL root class, Progress.Lang.Object. In this way, ABL merges the .NET type system with the ABL object type system, making the .NET type system act from within ABL as an extension of Progress.Lang.Object. However, .NET does not have any knowledge of the ABL type system. That is, ABL extends its own type system with .NET, but .NET does not recognize object types defined in ABL. For more information on ABL support for .NET types, see the Data types reference entry.

In addition to the OpenEdge .NET classes specifically referenced in this book, OpenEdge provides a set of third party .NET controls (OpenEdge Advanced UI Controls) for use with .NET forms and control containers. These Advanced UI Controls are supported for access as visual design objects in the Visual Designer of Progress Developer Studio for OpenEdge. For more information, see the appendix that lists these controls in OpenEdge Development: GUI for .NET Programming.

The following descriptions refer to both compile-time and run-time behavior, features that the language generally supports and determines at compile time and actions directed by using these features at run time. When describing ABL compile-time features or actions, ABL or the ABL compiler is the actor. When describing ABL or .NET actions taken at run time, the AVM (ABL Virtual Machine) or .NET (respectively) is the actor.