New ABL Class wizard

The New ABL Class wizard helps you create a class file.

This wizard appears when you select File > New > ABL Class.

The following controls are available:

Package root Specifies a currently open project to contain the class code and other project code. Click Browse if you want to select a project other than the current one (the default value).
Package Optionally specifies a package name, corresponding to a sub-folder of the package root, to contain the class file. Click Browse or enter the folder path by typing. A period (.) must separate each subfolder from its parent folder in the path name.
Class name (Required) Specifies the name of the class. The name must begin with a letter; spaces and most non-alphanumeric characters are not allowed. The .cls extension will be appended automatically.
Final If selected, specifies that inheritance from this class is disallowed. A FINAL option is included in the generated ABL code.

A final class cannot be abstract.

Abstract If selected, specifies that the class is abstract and cannot be instantiated. An abstract class is designed to serve as a super class from which other classes inherit and implement members. Therefore, an abstract class cannot be final.
Widget pool If selected, specifies that a USE-WIDGET-POOL option will be included in the generated ABL code.
Serializable If selected, marks the class as serializable by including the SERIALIZABLE modifier in the generated ABL code.
Note: If the class inherits from a super class that is not serializable, then it cannot be marked as serializable.
Inherits Optionally specifies another class in the current project as a super class from which the new class inherits state and behavior. Click Browse or enter the class path by typing. A period (.) must separate each node from its parent folder in the path name.
Note: The super class cannot be generic.
Implements Lets you optionally specify one or more interfaces in the current project that the class implements. Click Add and select the desired interfaces at the Interface Selection dialog. Use the Remove button to remove an interface from the list after adding it.
Note: The class cannot implement a generic interface.
Generate default constructor If checked, specifies that the class is to include a default constructor method.
Generate destructor If checked, specifies that the class is to include a destructor method.
Generate super class constructors If checked, specifies that the class is to include all constructor methods declared in the parent class.
Error-handling statement Adds one of the following error-handling statements to the generated ABL code:
  • Block level: Includes the BLOCK-LEVEL ON ERROR UNDO, THROW statement in the generated ABL code
  • Routine level: Includes the ROUTINE-LEVEL ON ERROR UNDO, THROW statement in the generated ABL code
Throw a Not Implemented exception If selected, specifies that "METHOD NOT IMPLEMENTED" error code will be added to stubs for members implemented via interface and stubs for inherited abstract members.
Return a default value If selected, specifies that default return values will be added to stubs for members implemented via interface and stubs for inherited abstract members.
Description Lets you optionally enter a description for the class. This text will appear in the file header.
Purpose Lets you optionally enter an explanation of the purpose of the class. This text will appear in the file header.