The Forward Engineering component is a code generator module based on Acceleo Model to Text Transformation – which is part of Eclipse Modeling project – and can be applied to standard UML2 models to generate OpenEdge ABL code.
Current implementation offers support for OpenEdge Object Oriented constructs for the following elements:
- Interface
- public properties
- public methods
- Class
- inheritance (generalization)
- interfaces realization
- all properties
- all methods
- constructors (methods with the same name as the class)
- interface implementation (all methods from implemented interfaces)
- internal temp-tables, datasets (nested components)
- referenced (dependency) temp-tables, datasets (includes if not nested, in-line definition for nested components)
- protected user code sections for methods and class main block (don’t get overwritten on re-generation)
- Temp-Table – class that inherits “Temp-Table” primitive type (generalization)
- generate as include file if not nested component (internal class)
- all properties as fields
- all methods as indexes
- Dataset – class that inherits “Dataset” primitive type (generalization)
- generate as include file if not nested component (internal class)
- all internal temp-tables (nested components)
- all referenced (dependency) temp-tables (includes if not nested, in-line definition for nested components)
- protected user code section for data-relations definition