ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
Parallel.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 2017 Stefan Hecken <stefan.hecken@concepts-and-training.de> Extended GPL, see docs/LICENSE */
3
5
7use ILIAS\Data;
9
10class Parallel extends Custom implements Constraint
11{
15 protected $constraints;
16
24
25 public function __construct(array $constraints, Data\Factory $data_factory)
26 {
27 $this->constraints = $constraints;
28 parent::__construct(
29 function ($value) {
30 $ret = true;
31 $this->failed_constraints = array();
32 foreach ($this->constraints as $constraint) {
33 if (!$constraint->accepts($value)) {
34 $this->failed_constraints[] = $constraint;
35 $ret = false;
36 }
37 }
38
39 return $ret;
40 },
41 function ($value) {
42 $message = "";
43 foreach ($this->failed_constraints as $key => $constraint) {
44 $message .= $constraint->getErrorMessage($value);
45 }
46
47 return $message;
48 },
50 );
51 }
52}
An exception for terminatinating execution or to throw for unit testing.
Builds data types.
Definition: Factory.php:15
__construct(array $constraints, Data\Factory $data_factory)
Definition: Parallel.php:25
$key
Definition: croninfo.php:18
A constraint encodes some resrtictions on values.
Definition: Constraint.php:15
catch(Exception $e) $message
$ret
Definition: parser.php:6