Save Identifier
List of: Discussion Topic
Subjects: SAT Save and Restore
Contents: Kernel

A save identifier is unique, reader-friendly string which has a one-to-one correspondence with an ACIS class. For example, "body" is a save identifier for the BODY class, which is derived from ENTITY.

ACIS classes perform most of the work associated with reading and writing save files. The restore methods of a given class can make references to the restore methods of other classes. Class names do not appear in the save file, but the save identifiers do. Both class names and save identifiers are contained within the index.

The save file sometimes strings save identifiers together using a dash ("-"). This often reflects the ACIS class derivation. For example, the save identifiers "plane-surface" have a class derivation consisting of ENTITY, SURFACE, and PLANE. The save identifiers "colour-tsl-attrib" have the class derivation ENTITY, ATTRIB, ATTRIB_TSL, and ATTRIB_COL.

Unique save identifier strings are required for private attributes that a developer may create. This is achieved by deriving a private base class from ATTRIB and giving it a unique name. Developers may use any class name for their private attributes, yet the full identifiers are unique in the save file.

If the save identifiers are not completely recognized by ACIS, a data structure from just the recognized classes is constructed and restored. The remaining data at the end of the record is remembered so that it is not lost by a later save. For unrecognized classes whose derivation is two or more levels removed from ENTITY, such as classes derived from CURVE, SURFACE, or ATTRIB, the minimum is to create a recognizable data structure so that references to the data structure are correct. For example, if a record from a derived class of ATTRIB is not recognized, an ATTRIB record is created in such a way that the chain of attributes remains connected for the entity owning the unrecognized attribute.
PDF/KERN/09SAT.PDF
HTM/DATA/KERN/KERN/09SAT/0013.HTM