ADOxx Documentation
Theory - Hands-On - Scenarios - Community - Development Tools
Theory
Class Attribute and Attribute Types
Attributes for classes and relation classes have to be defined in the definition section of the class/relation class with 'TYPE'.
The following attribute types are possible:
INTEGER | integer |
DOUBLE | floating number |
STRING | string – max. 3699 symbols |
LONGSTRING | string – max. 32000 symbols |
TIME | time |
DATE | date |
DATETIME | date and time |
ENUMERATION | enumeration for selecting a characteristic |
ENUMERATIONLIST | enumeration for selecting one or several characteristics |
DISTRIBUTION | statistical distribution |
PROGRAMCALL | enumeration for selecting a program |
RECORD | a table of attributes |
EXPRESSION | a formula |
INTERREF | reference on a model or an instance |
ATTRPROFREF | a preset set of attribuite values |
Attribute Types and their Appearance
Numerical Attributes: Integer (INTEGER)
An attribute of the type "Integer" is defined as an integer from -1,999,999,999 to 1,999,999,999.
An ADOxx integer is limited to 10 digits plus an optional sign ('+' or '-').
The standard value of attributes of this type is "0" or a defined value.
Numerical Attributes: Floating number (DOUBLE)
The amount of decimal places is defined by the attribute definition
An attribute of the type "Double" is defined for a float within +/-999,999,999,999,999 for an integer (without decimal places) or +/-999,999,999.999999 for figures with 6 decimals.
The corresponding attribute value is displayed to 6 decimal places. That means that a double value should not exceed a total of 15 significant digits with at last 6 decimal digits!
The standard value of attributes of this type is "0.000000" or a value defined in the application library.
String attributes: String (STRING)
An attribute of the type "String" is defined for texts up to 3700 characters of any type.
Model names have a special rule!
The standard value of attributes of this type is "" (no entry) or a value defined in the application library.
String attributes: Longstring (LONGSTRING)
Some text attributes are already defined as „multi-line". The parameter lines can be used to specify how many lines should be shown in the text field of the Notebook.
The parameter dialog can be used to specify special input supports in place of the standard one.
An attribute of type "Longstring" is defined for texts up to 32000 characters of any type.
The standard value of attributes of this type is "" (no entry) or a value defined in the application library.
Enumerations / Enumeration lists: Enumeration (ENUMERATION)
The parameter ctrltype sets how the enumeration should appear, as a drop down list, as radiobuttons or as checkboxes (only if two possible values).
An attribute of the type "Enumeration" is characterised by a defined set of values. An "Enumeration" attribute has exactly one value of this set.
The standard value of this type is specified in the library definition.
Enumerations / Enumeration lists: Enumeration list (ENUMERATIONLIST)
An attribute of the type "Enumeration list" is characterised by a defined set of values. An "Enumeration list" attribute has either none, one or several values of this set. The difference to an "Enumeration" attribute is, that an "Enumeration list" attribute can have more than one entry selected!
The standard value of this type must specified in the library definition.
Date / Time: Date (DATE)
The ADOxx format time is YY:MM:DDD:HH:MM:SS.
Date / Time: Time (TIME)
The ADOxx format for date is YYYY:MM:DD.
Date / Time: Date and Time (DATETIME)
The ADOxx format for date and time is YYYY:MM:DD HH:MM:SS.
- Time format YY:DDD:HH:MM:SS (years:days:hours:minutes:seconds). Valid day ranges are from 0 to 365, valid hours are between 0 and 23, valid minutes and valid seconds are between 0 and 59.
- The standard value of attributes of this type is "00:000:00:00:00" or a value defined in the application library.
References / Program calls: Intermodel reference (INTERREF)
Syntax of the InterRef domain definition facet:
InterRefDomain : | [ REFDOMAIN [ max: intValue ] ] Refs |
Refs : | ModRefs | InstRefs |
ModRefs : | { MODREF mt: modelTypeName } |
ObjRefs : | { OBJREF mt: modelTypeName c: className max: intValue } |
Syntax of InterRef attribute values:
InterRefValue : | ModRefs | ObjRefs |
ModRef : | { REF m: modelName mt: modelTypeName } |
ObjRef : | { REF m: modelName mt: modelTypeName c: className i: instanceName } |
References / Program calls: Programcall (PROGRAMCALL)
A PROGRAMCALL attribute is characterized by a fixed set of items. These items are related to AdoScripts which can be called via the user interface.
A PROGRAMCALL attribute value consists of at most one of the defined items and an optional parameter.
ProgramCallDomain : | { ItemDefinition } |
ItemDefinition : | ITEM itemText [ ParameterDefinition ] { FDlgFilter } AdoScript |
ParameterDefinition : | param : paramText [ : defaultTextValue ] |
FDlgFilter : | fdlg-filter<i> : filterText |
itemText, paramText, defaultTextValue, filterText and filterDescriptionText are string values.
Table: Table (TABLE)
Tables will appear in Notebooks according to the defintion of the table class.
Following adjustments can be done in AttrRep of the table class:
- which columns should be shown
- in what sequence
- relative width - parameter width.
An Attribute of Type "Table" (RECORD) is defined by a flexible List-/Table-Administration of Attribute Types that are put together.
The standard Value for Attributes of this Type depends on the Attribute Types defined in the Table Class.
Expressions / Attribute profile references: Expression(EXPRESSION)
Every definition of expression attributes is started with the keyword EXPR. The result type is is defined with the attribute type: and the default formula is defined with the attribute expr:. Every time you create an instance (a model, object, or connector), this formula will be used to compute the result value of the expression.
By setting the modifier fixed:, you make the expression attribute a fixed expression. The user will the not be able to change the formula in the Modelling Toolkit.
The formula itself (defined in the attribute expr:) must never be longer than 3600 characters.
For expressions with result type double, the attribute format can be used to specify the number of digits that should be displayed on the user interface. Note: the number of digits displayed on the user interface do not affect the internal precision of the expression result value.
Expressions / Attribute profile references: Attribute profile reference (ATTRPROFREF)
An attribute of the type "Attribute profile reference" (ATTRPROFREF) is defined for references to attribute profiles. An attribute profile reference attribute is made of the attributes defined in the referenced attribute profile.
The standard value for attributes of this type depends on the attribute types defined in the referenced attribute profile.
Hint: An attribute profile can contain attributes of all ADOxx attribute types except the type "attribute profile reference".
Attribute Definition
attribute-definition : | instanceattribute-definition | classattribute-definition |
classattribute-definition : | CLASSATTRIBUTE identifier TYPE typeidentifier | CLASSATTRIBUTE identifier TYPE typeidentifier VALUE val | CLASSATTRIBUTE identifier VALUE val | CLASSATTRIBUTE identifier TYPE RECORD |
instanceattribute-definition : | ATTRIBUTE identifier TYPE typeidentifier | ATTRIBUTE identifier TYPE typeidentifier VALUE val | ATTRIBUTE identifier VALUE val | ATTRIBUTE identifier TYPE RECORD |
typeidentifier : | INTEGER | DOUBLE | STRING | DISTRIBUTION | TIME | ENUMERATION | ENUMERATIONLIST | LONGSTRING | PROGRAMMCALL | INTERREF | EXPRESSION | ATTRPROFREF |