OCLOperators constraints
(Automatically adding template at the end of the page.)
 
(13 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 constraint names. To get the same functionality now, add '''.name''' 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.name
  self.constraints->forAll(c|c.broken=false)
  [[Category:OCLOperators]]
[[File:2021-10-10 10h56 59.gif|none|thumb|573x573px]]
 
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