OCLOperators constraints
(Automatically adding template at the end of the page.)
 
(11 intermediate revisions by 4 users not shown)
Line 1: Line 1:
The operator return both meta information about a class's constraints and if it's currently broken.
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
The return value is a collection of [[Tuple]] containing the following:
# Name
# Name
# Description
# Description
# 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 =====
To check if any constraint with error level '''Error''' is broken;
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
  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;
Returning a collection of Descriptions of broken Warning constraints:
  self.constraints->select(c|(c.ErrorLevel = #Warning) and c.Broken)->collect(c|c.Description)
  self.constraints->select(c|(c.ErrorLevel = #Warning) and c.Broken)->collect(c|c.Description)


===== '''Please note''' =====
===== '''Please Note''' =====
This operator earlier resulted in a array of booleans with the constraint result. To get the same functionality now, add '''.broken=false''' to the end of the previous expression.
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;
Like this, used with [[OCLOperators forAll|forAll]]:
  self.constraints.broken=false
  self.constraints->forAll(c|c.broken=false)
[[Category:OCLOperators]]
[[File:2021-10-10 10h56 59.gif|none|thumb|573x573px]]
See also: [[Constraints]], [[OCLOperators brokenConstraints]]
 
See also: [[Constraints]], [[OCLOperators_brokenConstraints]]
[[Category:OCL General Operators]]
{{Edited|July|12|2024}}

Latest revision as of 15:41, 10 February 2024

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:

  1. Name
  2. Description
  3. IsDeleteConstraint: True/False
  4. ErrorLevel: #Information, #Warning or #Error
  5. 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)
2021-10-10 10h56 59.gif

See also: Constraints, OCLOperators_brokenConstraints

This page was edited 101 days ago on 02/10/2024. What links here