OCLOperators constraints
This operator returns both meta information about a class's constraints and whether it is 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
To return 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.
Use it like this with forAll:
self.constraints->forAll(c|c.broken=false)

See also: Constraints, OCLOperators_brokenConstraints
