composer package updates
[openemr.git] / vendor / symfony / config / Definition / Builder / MergeBuilder.php
blob105e2d64709b11342c113f732bb0ab6655e2ec16
1 <?php
3 /*
4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Config\Definition\Builder;
14 /**
15 * This class builds merge conditions.
17 * @author Johannes M. Schmitt <schmittjoh@gmail.com>
19 class MergeBuilder
21 protected $node;
22 public $allowFalse = false;
23 public $allowOverwrite = true;
25 public function __construct(NodeDefinition $node)
27 $this->node = $node;
30 /**
31 * Sets whether the node can be unset.
33 * @param bool $allow
35 * @return $this
37 public function allowUnset($allow = true)
39 $this->allowFalse = $allow;
41 return $this;
44 /**
45 * Sets whether the node can be overwritten.
47 * @param bool $deny Whether the overwriting is forbidden or not
49 * @return $this
51 public function denyOverwrite($deny = true)
53 $this->allowOverwrite = !$deny;
55 return $this;
58 /**
59 * Returns the related node.
61 * @return NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition
63 public function end()
65 return $this->node;