Enumerations
(Created page with "none|thumb|685x685px Returning a list of strings for each Enum value. ImportColumn.allInstances.asString Select an enum value from the lis...") |
(Automatically adding template at the end of the page.) |
||
(11 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[File:Defining enumerations.png|none|thumb|685x685px]] | You can edit enumerations by right-clicking on any model element in the "model content" window. | ||
[[File:Edit enumerations menu.png|none|thumb|469x469px]] | |||
The enumeration editing window:[[File:Defining enumerations.png|none|thumb|685x685px]] | |||
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 [[Tuple]]<nowiki/>s. | |||
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 | ImportColumn.allInstances.asString | ||
Select an | |||
===== Select an Enum value from the list, then get the string value from that: ===== | |||
ImportColumn.allInstances->select(ic|ic = #JournalName).asString | 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 [[OCLOperators includes|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) | |||
[[Category:MDriven Designer]] | |||
[[Category:OCL]] | |||
{{Edited|July|12|2024}} |
Latest revision as of 15:34, 10 February 2024
You can edit enumerations by right-clicking on any model element in the "model content" window.
The enumeration editing window:
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)
This page was edited more than 11 months ago on 02/10/2024. What links here