ILIAS  release_7 Revision v7.30-3-g800a261c036
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)
 ilAccessibilityDocumentCriterionAssignmentConstraint constructor. More...
 
- 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)
 Checks the provided value.Should not throw if accepts($value).
Exceptions

UnexpectedValueException if value does not comply with encoded constraint.

Parameters
mixed$value
Returns
null
More...
 
 accepts ($value)
 Tells if the provided value complies.
Parameters
mixed$value
Returns
bool
More...
 
 problemWith ($value)
 Tells what the problem with the provided value is.Should return null if accepts($value).
Parameters
mixed$value
Returns
string|null
More...
 
 applyTo (Result $result)
 Restricts a Result.Must do nothing with the result if $result->isError(). Must replace the result with an error according to problemWith() if !accepts($result->value()).
Parameters
Result$result
Returns
Result
More...
 
- Public Member Functions inherited from ILIAS\Refinery\Constraint
 check ($value)
 Checks the provided value. More...
 
 accepts ($value)
 Tells if the provided value complies. More...
 
 problemWith ($value)
 Tells what the problem with the provided value is. More...
 
 applyTo (Result $result)
 Restricts a Result. More...
 
 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...
 
 applyTo (Result $data)
 Perform the transformation and reify possible failures. 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

 $criterionTypeFactory
 
 $document
 
- Protected Attributes inherited from ILIAS\Refinery\Custom\Constraint
 $data_factory
 
 $lng
 
 $is_ok
 
 $error
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

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

ilAccessibilityDocumentCriterionAssignmentConstraint constructor.

Parameters
ilAccessibilityCriterionTypeFactoryInterface$criterionTypeFactory
ilAccessibilityDocument$document
Factory$dataFactory
ilLanguage$lng

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

30 {
31 $this->criterionTypeFactory = $criterionTypeFactory;
32 $this->document = $document;
33
36 return 0 === count($this->filterEqualValues($value));
37 },
38 function ($txt, $value) {
39 return "The passed assignment must be unique for the document!";
40 },
41 $dataFactory,
42 $lng
43 );
44 }
$txt
Definition: error.php:13
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc

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

+ Here is the call graph for this function:

Member Function Documentation

◆ filterEqualValues()

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

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

52 : array {
53 $otherValues = $this->document->criteria();
54
55 return array_filter(
56 $otherValues,
57 function (ilAccessibilityDocumentCriterionAssignment $otherValue) use ($value) {
58 $idCurrent = $otherValue->getId();
59 $idNew = $value->getId();
60
61 $uniqueIdEquals = $idCurrent === $idNew;
62 if ($uniqueIdEquals) {
63 return false;
64 }
65
66 $valuesEqual = $value->equals($otherValue);
67 if ($valuesEqual) {
68 return true;
69 }
70
71 $valuesHaveSameNature = $this->haveSameNature($value, $otherValue);
72
73 return $valuesHaveSameNature;
74 }
75 );
76 }
haveSameNature(ilAccessibilityDocumentCriterionAssignment $value, ilAccessibilityDocumentCriterionAssignment $otherValue)

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

Referenced by __construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ haveSameNature()

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

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

87 : bool {
88 if ($value->getCriterionId() !== $otherValue->getCriterionId()) {
89 return false;
90 }
91
92 $valuesHaveSameNature = $this->criterionTypeFactory->findByTypeIdent($value->getCriterionId())->hasUniqueNature();
93
94 return $valuesHaveSameNature;
95 }

Referenced by filterEqualValues().

+ Here is the caller graph for this function:

Field Documentation

◆ $criterionTypeFactory

ilAccessibilityDocumentCriterionAssignmentConstraint::$criterionTypeFactory
protected

◆ $document

ilAccessibilityDocumentCriterionAssignmentConstraint::$document
protected

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