Marshaling Module Types
A custom type defined by a Mosel module, such as TEXT, DATA, TIME, and DATETIME, can be included in the Insight scenario schema as an entity of type STRING if it can be marshaled to and from the Mosel string type. The custom type must implement
tostring and
fromstring operators. Only marshaling to a string is currently supported.
The model developer must opt in to this support by declaring the marshaling rule. The rule can be global for all entities of that module type, or local to a specific entity.
To declare a global marshaling rule, use the following example:
!@insight.marshal.type datetime string !@insight.marshal.type text string
Refer to the following example to declare a local marshaling rule:
public declarations !@insight.marshal.value string t2: array(range) of text end-declarations
If the marshaling rules need to be applied to a set, it must be declared as a set of constant values.
public declarations !@insight.marshal.value string Birthdays: set of constant date end-declarations