OCLOperators constraints
No edit summary |
No edit summary |
||
Line 6: | Line 6: | ||
# IsDeleteConstraint: True/False | # IsDeleteConstraint: True/False | ||
# ErrorLevel: #Information, #Warning or #Error | # ErrorLevel: #Information, #Warning or #Error | ||
# Broken:Evaluated and [[Subscribed]] state of the constraint | # Broken: Evaluated and [[Subscribed]] state of the constraint | ||
===== Examples ===== | ===== Examples ===== | ||
Line 19: | Line 19: | ||
Like this, used with [[OCLOperators forAll|forAll]]: | Like this, used with [[OCLOperators forAll|forAll]]: | ||
self.constraints->forAll(c|c.broken=false) | self.constraints->forAll(c|c.broken=false) | ||
[[File:2021-10-10 10h56 59.gif|none|thumb|573x573px]] | [[File:2021-10-10 10h56 59.gif|none|thumb|573x573px]] | ||
See also: [[Constraints]], [[OCLOperators constraints|OCLOperators brokenConstraints]] | See also: [[Constraints]], [[OCLOperators constraints|OCLOperators brokenConstraints]] | ||
[[Category:OCL General Operators]] | [[Category:OCL General Operators]] |
Revision as of 07:15, 19 April 2023
This operator returns both meta information about a class's constraints and if it's currently broken.
The return value is a collection of Tuple containing the following:
- Name
- Description
- IsDeleteConstraint: True/False
- ErrorLevel: #Information, #Warning or #Error
- Broken: Evaluated and Subscribed state of the constraint
Examples
To check if any constraint with error level Error is broken:
self.constraints->select(c|(c.ErrorLevel = #Error) and c.Broken)->isEmpty -- Returns True if no errors
Returning a collection of Descriptions of broken Warning constraints:
self.constraints->select(c|(c.ErrorLevel = #Warning) and c.Broken)->collect(c|c.Description)
Please Note
This operator earlier resulted in an array of booleans with the constraint result. To get the same functionality now, add .broken=false to the end of the previous expression.
Like this, used with forAll:
self.constraints->forAll(c|c.broken=false)
See also: Constraints, OCLOperators brokenConstraints
This page was edited more than 11 months ago on 02/10/2024. What links here