OCLOperators value
Charles Olet (talk | contribs) No edit summary |
No edit summary |
||
(One intermediate revision by the same user 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]] | [[File:getting-value-for-nullable-type.png|alt=getting value for nullable type|frameless|202x202px]] | ||
To calculate the Total Price of all products | To calculate the Total Price of all products use: | ||
Product.allinstances.Price->sum.Value | |||
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. | ||
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:
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