OCLOperators casetruefalse

This is a new compact form to write:

if somebool then

This operator enables you to write the same thing as:

Usage in EAL

If you want to execute methods in a case/switch-like statement.

This makes a switch-like construct look like this:

let x=SomeObject.SomeEnum in
Usage in OCL

If you want to derive a string based on a list of conditions and have an else-statement if none of the expressions were True:

(self.oclIsInState(#New).caseTrueFalse('New/Ordering', String.nullValue)+
 self.oclIsInState(#Waiting).caseTrueFalse('Waiting', String.nullValue)+
 self.oclIsInState(#Ordered).caseTrueFalse('Ordered', String.nullValue))->
collect(s| s.notNull.caseTrueFalse(s, self.State))->first

The collect construct at the end can when the result, and if null, do the "else" statement. Note! Parenthesis around the string concatenation.

See also OCLOperators_whentrue

This page was edited 28 days ago on 06/17/2024. What links here