ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
Parallel.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24use ILIAS\Refinery\Custom\Constraint as CustomConstraint;
25use ILIAS\Data;
26
27class Parallel extends CustomConstraint
28{
34 protected array $failed_constraints;
35
39 public function __construct(array $constraints, Data\Factory $data_factory, \ILIAS\Language\Language $lng)
40 {
42 function ($value) use ($constraints): bool {
43 $ret = true;
44 $this->failed_constraints = [];
45 foreach ($constraints as $constraint) {
46 if (!$constraint->accepts($value)) {
47 $this->failed_constraints[] = $constraint;
48 $ret = false;
49 }
50 }
51
52 return $ret;
53 },
54 function ($txt, $value): string {
55 $messages = [];
56 foreach ($this->failed_constraints as $constraint) {
57 $messages[] = $constraint->getErrorMessage($value);
58 }
59
60 return implode(' ', $messages);
61 },
62 $data_factory,
63 $lng
64 );
65 }
66}
Builds data types.
Definition: Factory.php:36
__construct(array $constraints, Data\Factory $data_factory, \ILIAS\Language\Language $lng)
Definition: Parallel.php:39
A constraint encodes some resrtictions on values.
Definition: Constraint.php:32
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
global $lng
Definition: privfeed.php:31