123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Component\Config\Definition\Builder;
- /**
- * This class builds merge conditions.
- *
- * @author Johannes M. Schmitt <schmittjoh@gmail.com>
- */
- class MergeBuilder
- {
- protected $node;
- public $allowFalse = false;
- public $allowOverwrite = true;
- public function __construct(NodeDefinition $node)
- {
- $this->node = $node;
- }
- /**
- * Sets whether the node can be unset.
- *
- * @return $this
- */
- public function allowUnset(bool $allow = true)
- {
- $this->allowFalse = $allow;
- return $this;
- }
- /**
- * Sets whether the node can be overwritten.
- *
- * @return $this
- */
- public function denyOverwrite(bool $deny = true)
- {
- $this->allowOverwrite = !$deny;
- return $this;
- }
- /**
- * Returns the related node.
- *
- * @return NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition
- */
- public function end()
- {
- return $this->node;
- }
- }
|