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.
.Value
is available for all number types including Integer, Decimal, Double, Int64
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