Returns the the non-null value of a simple nullable type.
Expression | Result |
---|---|
int? with the value null | 0 |
The value of the current nullable object is returned if it has been assigned a valid underlying value otherwise 0 is returned.
Some expressions may require a non null value and yet your attribute is a nullable type. A scenario like this is catered for in MDriven OCL expressions.
For example
To calculate the Total Price of all products
Product.allinstances.Price->sum.Value
or
Product.allinstances->collect(i|i.Price.Value)->sum
This will ensure a value is always returned by the expression either when there are no product instances or product price is not set for all instances