Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Assert
5
 *
6
 * LICENSE
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this package in the file LICENSE.txt.
10
 * If you did not receive a copy of the license and are unable to
11
 * obtain it through the world-wide-web, please send an email
12
 * to kontakt@beberlei.de so I can send you a copy immediately.
13
 */
14
 
15
namespace Assert;
16
 
17
class InvalidArgumentException extends \InvalidArgumentException implements AssertionFailedException
18
{
19
    /**
20
     * @var string|null
21
     */
22
    private $propertyPath;
23
 
24
    /**
25
     * @var mixed
26
     */
27
    private $value;
28
 
29
    /**
30
     * @var array
31
     */
32
    private $constraints;
33
 
34
    public function __construct($message, $code, string $propertyPath = null, $value = null, array $constraints = [])
35
    {
36
        parent::__construct($message, $code);
37
 
38
        $this->propertyPath = $propertyPath;
39
        $this->value = $value;
40
        $this->constraints = $constraints;
41
    }
42
 
43
    /**
44
     * User controlled way to define a sub-property causing
45
     * the failure of a currently asserted objects.
46
     *
47
     * Useful to transport information about the nature of the error
48
     * back to higher layers.
49
     *
50
     * @return string|null
51
     */
52
    public function getPropertyPath()
53
    {
54
        return $this->propertyPath;
55
    }
56
 
57
    /**
58
     * Get the value that caused the assertion to fail.
59
     *
60
     * @return mixed
61
     */
62
    public function getValue()
63
    {
64
        return $this->value;
65
    }
66
 
67
    /**
68
     * Get the constraints that applied to the failed assertion.
69
     *
70
     * @return array
71
     */
72
    public function getConstraints(): array
73
    {
74
        return $this->constraints;
75
    }
76
}