Added the Search API Synonym module to deal specifically with licence and license...
[yaffs-website] / vendor / symfony / config / Definition / ScalarNode.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 scalar value in the config tree.
18  *
19  * The following values are considered scalars:
20  *   * booleans
21  *   * strings
22  *   * null
23  *   * integers
24  *   * floats
25  *
26  * @author Johannes M. Schmitt <schmittjoh@gmail.com>
27  */
28 class ScalarNode extends VariableNode
29 {
30     /**
31      * {@inheritdoc}
32      */
33     protected function validateType($value)
34     {
35         if (!is_scalar($value) && null !== $value) {
36             $ex = new InvalidTypeException(sprintf('Invalid type for path "%s". Expected scalar, but got %s.', $this->getPath(), \gettype($value)));
37             if ($hint = $this->getInfo()) {
38                 $ex->addHint($hint);
39             }
40             $ex->setPath($this->getPath());
41
42             throw $ex;
43         }
44     }
45
46     /**
47      * {@inheritdoc}
48      */
49     protected function isValueEmpty($value)
50     {
51         return null === $value || '' === $value;
52     }
53 }