08e1a7730713a094764eb9b50bef7d14b7803baf
[yaffs-website] / vendor / symfony / config / Definition / BooleanNode.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\Config\Definition;
13
14 use Symfony\Component\Config\Definition\Exception\InvalidTypeException;
15
16 /**
17  * This node represents a Boolean value in the config tree.
18  *
19  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
20  */
21 class BooleanNode extends ScalarNode
22 {
23     /**
24      * {@inheritdoc}
25      */
26     protected function validateType($value)
27     {
28         if (!is_bool($value)) {
29             $ex = new InvalidTypeException(sprintf(
30                 'Invalid type for path "%s". Expected boolean, but got %s.',
31                 $this->getPath(),
32                 gettype($value)
33             ));
34             if ($hint = $this->getInfo()) {
35                 $ex->addHint($hint);
36             }
37             $ex->setPath($this->getPath());
38
39             throw $ex;
40         }
41     }
42
43     /**
44      * {@inheritdoc}
45      */
46     protected function isValueEmpty($value)
47     {
48         // a boolean value cannot be empty
49         return false;
50     }
51 }