Record Maps are implemented by a set of two or more classes. The primary class (known as the RecordMap class) extends EnsLib.RecordMap.RecordMap and comprises an XData section and a couple of get and put methods. The second class (known as the Record class) is typically a generated one, and by default is named by appending a .Record suffix onto the name of the primary class. The record class is used to persist rows of record data.

For example:

Some record maps generate more than one class. The extra generated classes are typically serial classes used by the record class. For example, in the ENSDEMO namespace:

Some record maps are configured so that their records get assembled into batches. In this case its RecordMap class specifies a generated batch class which has a one-to-many relationship with the Record class. In ENSDEMO the Demo.RecordMap.Map.Delimited recordmap class specifies Demo.RecordMap.Map.Delimited.Batch as its batch class, and that class has a one-to-many relationship with the Demo.RecordMap.Map.Delimited.Record record class.

If it becomes necessary to make manual modifications to a generated class, the programmer should set RECORDMAPGENERATED=0 to stop Portal's Generate button overwriting the manual changes.