Data types

All of the data inside a workflow is typed in order to provide a robust development environment.

Type Primitive Description

Boolean

Yes

A Boolean indicates wether a variable is truthy (true) or faulty (false).

DateTime

Yes

A DateTime contains an absolute temporal value. A DateTime can easily be manipulated using date-time functions.

Duration

Yes

A Duration contains a relative temporal value. A Duration is usually used in combination with DateTime values to calculate offsets.

Float

Yes

A Float is a 64bit floating point number following the IEEE 754 standard.

Integer

Yes

An Integer is a 64bit signed integer.

UnsignedInteger

Yes

An UnsignedInteger is a 64bit unsigned integer.

String

Yes

A String is a string.

ID

Yes

An ID is a system assigned unique identifier for all system resources and should not be assigned or manipulated manually. An ID is a 64bit unsigned integer.

Handle

Yes

A Handle is a human-friendly resource identifier. Most Corteza resources (such as namespaces and modules) allow you to define a unique identifier that can be used instead of its system assigned ID.

Array

No

An Array contains a list of items, such as a list of users, records or modules.

Reader

No

A Reader represents a data stream (such as a file or a blob) that can be read or iterated over using the stream iterator.

A Reader can only be read once. If you need to use it multiple times you will need to cache the initial output.

KV @todo type ref

No

A KV is a hashmap that maps String values to String keys.

KVV @todo type ref

No

A KVV is a hashmap that maps a set of String values to String keys.

Template @todo type ref

No

A Template contains a template that can be used by the rendering engine.

Document @todo type ref

No

A Document is a rendered Template using RenderOptions and RenderVariables.

RenderOptions @todo type ref

No

RenderOptions define how a Template should be rendered into a Document.

RenderVariables @todo type ref

No

RenderVariables define what data the Template can use to produce a Document.

EmailMessage @todo type ref

No

An EmailMessage represents an email that will be sent to the recipients. The EmailMessage type should not be constructed or interacted with directly. Use the predefined functions to manipulate it’s contents.

Role @todo type ref

No

A Role contains a system role.

User @todo type ref

No

A User contains a system user.

ComposeModule @todo type ref

No

A ComposeModule contains a Low Code module. The ComposeModule type is mostly used when updating module fields or creating new records.

ComposeNamespace @todo type ref

No

A ComposeNamespace contains a Low Code namespace. The ComposeNamespace type is mostly used when interacting with namespace specific Low Code resources.

ComposeRecord @todo type ref

No

A ComposeRecords contains a Low Code record. The ComposeRecords type is mostly used when interacting with Low Code records, such as changing their values or converting them into email notifications.

ComposeRecordValues @todo type ref

No

A ComposeRecordValues contains a set of Corteza record values. This type is usually not used on it’s own but in the combination with ComposeRecord.