Extendable CaseTalk Data Type
DataType definition is available since CaseTalk Modeler 9.3. It allows modelers to add datatype names in the Label Type property dialog which are unknown to CaseTalk itself.
The Data Type window (located under the main menu \ tools) shows the data type hierarchy native in CaseTalk, the custom data types, and data types available under various technical artifacts.
The user interface works entire using drag and drop functionality.
- To register a new data type to a native or implementation type, simply drag and drop it onto it.
- To change the type, drag and drop it onto a different one.
- To unregister the data type as such, either press Delete on the keyboard, or drag it away from any node in the tree.
The various tabs show the scope of the data types. CaseTalk native types, custom types, and various implementation types. The above screen shows:
- OurNameType is a custom type which defaults to CaseTalk Char. However it is set to a persistent type in the MsSql2005 implementation.
- YearNumber is defined as a special subtype of Integer.
- MyOtherType is a type name which is used in the current model, but CaseTalk does not know what the native or implementation type is.
- Time, Date and DateTime are types which are similar and therefor grouped under the folder Date And Time.
- Image is a special kind of Blob, Currency is a special kind if Numeric, JSON is a special kind of Memo, etc..
Native Data Type
CaseTalk knows a basic set of types which it used to generate implementation models from. These are indicated using a solid gray bullet.
Data Type Folders
Some data types are grouped for convenience since they are similar. The folders themselves are not used in any implementation.
Data type names used in Label Types in your model, which have not been recognized or added to any of the known types, are collected and shown under a red crossed icon. These are typically the types that are listed as part of model well-formedness violation (Data type must be known.)
Known Custom Data Type
New data types which are registered under a native data type (using drag and drop) will be indicated with a record like icon. These can be dragged in any of the available tabs.
Known Implementation Type
Once a new data type is assigned a native type in one of the implementation scopes, it may be made persistent across models. Custom Data Types can be promoted to and demoted from persistent implementation types by double clicking the type in the implementation tab.
The Custom tab will present the newly registered datatype under the common native type, and mention the implementation scope under which is persists.
Data Type Conversion
To generate a model, data types must be known. Therefor the model transformation will block as long as unknown data types exist.
Once that criterium is met, CaseTalk will map any named data type to the implementation type available. If an data type does not exist within the targeted environment a more common native type will be used.