Enumerations

You can edit enumerations by right-clicking on any model element in the "model content" window.

Edit enumerations menu.png

The enumeration editing window:

Defining enumerations.png

The defined enumeration is a class in the model's type system.

For example, you can return a list of the values. This returns a collection of ImportColumn Tuples.

ImportColumn.allInstances

Convert this to a list of strings for each Enum value (for example to be used in a list on screen):

ImportColumn.allInstances.asString
Select an Enum value from the list, then get the string value from that:
ImportColumn.allInstances->select(ic|ic = #JournalName).asString
Get the value of an Enum tuple:
(#JournalName).toString

(note: asString does not work on Enum tuples)

Checking if a collection includes a value

You can't use the includes operator on collections of Enum. You have to select the value and check if you get a "hit".

This works:

SysSingleton.SO.ActiveUser.UserModes->select(x|x = #Consultant)->notEmpty

This does not work: SysSingleton.SO.ActiveUser.UserModes->includes(#Consultant)

Checking the ordinal number of a enum value

MyEnum.allinstances.Indexof(someObject.SomeEnumProp)

This page was edited 72 days ago on 09/10/2024. What links here