ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilAccessibilityDocumentCriterionAssignmentConstraint Class Reference

Class ilAccessibilityDocumentCriterionAssignmentConstraint. More...

+ Inheritance diagram for ilAccessibilityDocumentCriterionAssignmentConstraint:
+ Collaboration diagram for ilAccessibilityDocumentCriterionAssignmentConstraint:

Public Member Functions

 __construct (ilAccessibilityCriterionTypeFactoryInterface $criterionTypeFactory, ilAccessibilityDocument $document, Factory $dataFactory, ilLanguage $lng)
 
- Public Member Functions inherited from ILIAS\Refinery\Custom\Constraint
 __construct (callable $is_ok, $error, Data\Factory $data_factory, ilLanguage $lng)
 If $error is a callable it needs to take two parameters: More...
 
 check ($value)
 
 accepts ($value)
 
 problemWith ($value)
 
 applyTo (Result $result)
 
- Public Member Functions inherited from ILIAS\Refinery\Constraint
 withProblemBuilder (callable $builder)
 Get a constraint like this one with a builder for a custom error message. More...
 
- Public Member Functions inherited from ILIAS\Refinery\Transformation
 transform ($from)
 Perform the transformation. More...
 
 __invoke ($from)
 Transformations should be callable. More...
 

Protected Member Functions

 filterEqualValues (ilAccessibilityDocumentCriterionAssignment $value)
 
 haveSameNature (ilAccessibilityDocumentCriterionAssignment $value, ilAccessibilityDocumentCriterionAssignment $otherValue)
 
- Protected Member Functions inherited from ILIAS\Refinery\Custom\Constraint
 getError ()
 

Protected Attributes

ilAccessibilityCriterionTypeFactoryInterface $criterionTypeFactory
 
ilAccessibilityDocument $document
 
- Protected Attributes inherited from ILIAS\Refinery\Custom\Constraint
Data Factory $data_factory
 
ilLanguage $lng
 
 $is_ok
 
 $error
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilAccessibilityDocumentCriterionAssignmentConstraint::__construct ( ilAccessibilityCriterionTypeFactoryInterface  $criterionTypeFactory,
ilAccessibilityDocument  $document,
Factory  $dataFactory,
ilLanguage  $lng 
)

Definition at line 30 of file class.ilAccessibilityDocumentCriterionAssignmentConstraint.php.

References $criterionTypeFactory, $document, ILIAS\Refinery\Custom\Constraint\$lng, $txt, ILIAS\GlobalScreen\Provider\__construct(), and filterEqualValues().

35  {
36  $this->criterionTypeFactory = $criterionTypeFactory;
37  $this->document = $document;
38 
41  return 0 === count($this->filterEqualValues($value));
42  },
43  function ($txt, $value) {
44  return "The passed assignment must be unique for the document!";
45  },
46  $dataFactory,
47  $lng
48  );
49  }
$txt
Definition: error.php:13
__construct(Container $dic, ilPlugin $plugin)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:

Member Function Documentation

◆ filterEqualValues()

ilAccessibilityDocumentCriterionAssignmentConstraint::filterEqualValues ( ilAccessibilityDocumentCriterionAssignment  $value)
protected
Returns
ilAccessibilityDocumentCriterionAssignment[]|ilAccessibilityEvaluableCriterion[]
Exceptions
ilAccessibilityCriterionTypeNotFoundException

Definition at line 55 of file class.ilAccessibilityDocumentCriterionAssignmentConstraint.php.

References ilAccessibilityDocumentCriterionAssignment\equals(), and haveSameNature().

Referenced by __construct().

57  : array {
58  $otherValues = $this->document->criteria();
59 
60  return array_filter(
61  $otherValues,
62  function (ilAccessibilityDocumentCriterionAssignment $otherValue) use ($value) {
63  $idCurrent = $otherValue->getId();
64  $idNew = $value->getId();
65 
66  $uniqueIdEquals = $idCurrent === $idNew;
67  if ($uniqueIdEquals) {
68  return false;
69  }
70 
71  $valuesEqual = $value->equals($otherValue);
72  if ($valuesEqual) {
73  return true;
74  }
75 
76  $valuesHaveSameNature = $this->haveSameNature($value, $otherValue);
77 
78  return $valuesHaveSameNature;
79  }
80  );
81  }
haveSameNature(ilAccessibilityDocumentCriterionAssignment $value, ilAccessibilityDocumentCriterionAssignment $otherValue)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ haveSameNature()

ilAccessibilityDocumentCriterionAssignmentConstraint::haveSameNature ( ilAccessibilityDocumentCriterionAssignment  $value,
ilAccessibilityDocumentCriterionAssignment  $otherValue 
)
protected
Exceptions
ilAccessibilityCriterionTypeNotFoundException

Definition at line 86 of file class.ilAccessibilityDocumentCriterionAssignmentConstraint.php.

References ilAccessibilityDocumentCriterionAssignment\getCriterionId().

Referenced by filterEqualValues().

89  : bool {
90  if ($value->getCriterionId() !== $otherValue->getCriterionId()) {
91  return false;
92  }
93 
94  $valuesHaveSameNature = $this->criterionTypeFactory->findByTypeIdent($value->getCriterionId())->hasUniqueNature();
95 
96  return $valuesHaveSameNature;
97  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $criterionTypeFactory

ilAccessibilityCriterionTypeFactoryInterface ilAccessibilityDocumentCriterionAssignmentConstraint::$criterionTypeFactory
protected

◆ $document

ilAccessibilityDocument ilAccessibilityDocumentCriterionAssignmentConstraint::$document
protected

The documentation for this class was generated from the following file: