Binary Container Format

From Developer Documents
Jump to navigation Jump to search

Simantics binary container format is a format for storing binary encoded data to filesystem.

type DataContainer = {
    format : String,
    version : Integer,
    metadata : Map(String, Variant),
    content : Variant
}

In addition to the actual content data that is stored as a Variant, a file contains a format name that tells how the data is used: for example "aprosModel", "aprosSymbol" and a version number. Applications use format name to decide if the file can be used for the operation the user has requested and version number to choose how to handle the data.

Version number is increased by one every time the data type of the content or the semantics of the data (how it should be handled in the application) is changed.