Binary Container Format

From Developer Documents
Revision as of 09:45, 16 May 2012 by Hannu Niemisto (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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.