Skip to content

Attribute Types ​

This page focuses on details about the different attribute types available in ADOxx.

Attribute Type Basics ​

The type of an attribute determines what kind of data can be provided as a value. It also has an influence on how the attribute can be interacted with by the user in the Notebook.

Additional options for configuring attributes are described in the attribute facets section. For options on how to present the attributes to a user see the special AttrRep attribute and attribute representation section.

Available Types ​

Short String (STRING) ​

Attributes of short string type allow to store texts of up to 3700 characters.

They can be configured to allow only texts with a single line or multiple lines (see MultiLineString facet). It is also possible to restrict the allowed values based on a regular expression (see AttributeRegularExpression facet).

Besides being presented in a Notebook as a text a short string can also be represented as a color, an actor / resource, a distribution or a transition condition.

Long String (LONGSTRING) ​

Attributes of long string type allow to store texts of up to 32000 characters.

Otherwise it behaves and provides the same options as a short string.

Character Large Object (CLOB) ​

Caution

This attribute is currently considered unstable. Using it can cause issues that are not encountered with other attributes, like platform stability, handling values past its allowed length etc.

Attributes of CLOB type allow to store texts of up to 1000000 characters.

Otherwise it behaves and provides the same options as a short string.

Integer (INTEGER) ​

Attributes of integer type allow to store a number without a fractional part. Both positive and negative numbers are allowed in a range from -1999999999 to 1999999999 (larger than minus two billion and smaller than two billion). A plus + to denote positive numbers is optional.

They can also be configured to only allow one or multiple smaller ranges of values (see AttributeNumericDomain facet).

Floating-point Number (DOUBLE) ​

Attributes of floating-point number type allow to store a number with a fractional part. Both positive and negative numbers are allowed with up to 6 fractional digits (decimal places) and a total of 15 digits. This allows for example values from -999999999999999 to 999999999999999 without any fractional digits or -999999999.999999 to -999999999.999999 in case of six fractional digits. A plus + to denote positive numbers is optional.

They can also be configured to only allow one or multiple smaller ranges of values and the amount of digits to use (see AttributeNumericDomain facet).

Date (DATE) ​

Attributes of date type allow to store a specific date. The date is specified in the format YYYY:MM:DD (year:month:day). They are unfit to store a duration as their lowest possible value is 0001:01:01. Instead use the time type.

Time (TIME) ​

Attributes of time type allow to store a duration. The duration is specified in the format YY:DDD:HH:MM:SS (years:days:hours:minutes:seconds).

Date and Time (DATETIME) ​

Attributes of date and time type allow to store a specific date and time. Their value is specified in the format YYYY:MM:DD hh:mm:ss (year:month:day hour:minute:second). They are unfit to store a duration as the lowest possible value is 0001:01:01 00:00:00. Instead use the time type.

Enumeration (ENUMERATION) ​

Attributes of enumeration type allow to store a specific value from a list of predefined values. The list of allowed values is defined with the attribute. Only one value from the list can be selected. To allow selecting none or more values use an enumeration list type instead.

Internally the values are always considered to be text. The values do not allow the use of the at sign (@).

These types of attributes must configure the available options (see EnumerationDomain facet).

Enumeration List (ENUMERATIONLIST) ​

Attributes of enumeration type allow to store specific values from a list of predefined values. The list of allowed values is defined with the attribute. Zero, one or multiple values from the list can be selected. To alow selecting only one value use an enumeration type instead.

Internally the values are always considered to be text. The values do not allow the use of the at sign (@) or the semicolon (;).

These types of attributes must configure the available options (see EnumerationDomain facet).

Expression (EXPRESSION) ​

Attributes of expression type allow to specify an expression to be evaluated by the platform. This can include things like constants, formulas, calculations, accessing the values of an object's attributes, following references to other objects across models etc.

A new calculation is triggered every time the result could possibly have changed. This is the case when the expression or an attribute value necessary for the expression has been changed. For more information on writing expressions see the Core Expressions of the AdoScript reference.

These types of attributes must configure the details of the expression (type, expression or value etc.) as part of the attribute's default value. They can be configured to allow only texts with a single line or multiple lines (see MultiLineString facet).

Besides being presented in a Notebook as an expression they can also be represented as an actor / resource or a distribution.

Record table (RECORD) ​

Attributes of record type allow to store a list of rows (records) according to a specific schema specified through a record class. They can contain multiple rows in a specific order and provide a way to realize complex or compound attributes. The rows are numbered starting from 1.

These types of attributes can be configured to restrict the maximum number of rows (see RecordClassMultiplicity facet).

This type of attribute can not be used in a relation class or a record class.

HTTP Request (HTTP) ​

Caution

This attribute is currently considered unstable. Using it can cause issues that are not encountered with other attributes, like platform stability, handling values past its allowed length etc.

Attributes of HTTP type allow to store a list of HTTP requests and their responses.

This type of attribute can not be used in a relation class.

Inter-model Reference (INTERREF) ​

Attributes of type Inter-model reference allow to store a reference to a model or modelling object. These can be thought of as "pointers" and provide an alternative to relation classes. The targets of the reference can be in the same or a different model. They are also used for the commonly encountered "including referenced models" options, which consider these Inter-model references transitively.

These types of attributes must configure what types of modelling objects or models and how many can be referenced (see AttributeInterRefDomain facet).

This type of attribute can not be used in a relation class.

Attribute Profile Reference (PROFREF / ATTRPROFREF) ​

Attributes of type Attribute Profile reference allow to store one reference to an Attribute Profile, which are instances of Attribute Profile classes.

These types of attributes must configure what types of Attribute Profiles can be referenced (see AttributeProfileRefDomain facet).

This type of attribute can not be used in a relation class, record class or Attribute Profile class.

Program Call (PROGRAMCALL) ​

Attributes of program call type are characterized by an item (program) and a parameter, either can be empty. The item specifies a program to execute which is defined by an AdoScript. The set of available items is configured as part of the library. The parameter is a text that is passed to the program and it typically references a file.

These types of attributes should configure what items are available and what actions they perform (see EnumerationDomain facet).