OCLOperators value
No edit summary
No edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 8: Line 8:
|0
|0
|}
|}
{{Edited|July|12|2024}}The value of the current nullable object is returned if it has been assigned a valid underlying value otherwise 0 is returned.
{{Edited|July|12|2024}}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.
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:


For example
[[File:getting-value-for-nullable-type.png|alt=getting value for nullable type|frameless|202x202px]]
[[File:getting-value-for-nullable-type.png|alt=getting value for nullable type|none|thumb]]


To calculate the Total Price of all products
To calculate the Total Price of all products use:
 
Product.allinstances.Price->sum.Value
<code>Product.allinstances.Price->sum.Value</code>
or:
 
Product.allinstances->collect(i|i.Price.Value)->sum
or
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.
 
<code>Product.allinstances->collect(i|i.Price.Value)->sum</code>
 
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

Latest revision as of 05:31, 24 June 2024

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 the MDriven OCL expressions.

.Value is available for all number types including Integer, Decimal, Double, and Int64.

For example:

getting value for nullable type

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.

This page was edited 88 days ago on 06/24/2024. What links here