OCLOperators value
Created by Lars.olofsson on 2024-06-11 · Last edited by Sandra.akech on 2025-12-12.
Returns 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 the MDriven OCL expressions.
.Value is available for all number types including Integer, Decimal, Double, and Int64.
For example:
To calculate the Total Price of all products use:
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 the product price is not set for all instances.
Summary table:
| Nullable Value | Result of .Value
|
|---|---|
| null | 0 |
| 5 | 5 |
| 12.5 | 12.5 |
It helps prevent errors in OCL when using nullable numbers.
