| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | <?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;use Symfony\Component\Config\Definition\VariableNode;/** * This class provides a fluent interface for defining a node. * * @author Johannes M. Schmitt <schmittjoh@gmail.com> */class VariableNodeDefinition extends NodeDefinition{    /**     * Instantiate a Node.     *     * @return VariableNode     */    protected function instantiateNode()    {        return new VariableNode($this->name, $this->parent, $this->pathSeparator);    }    /**     * {@inheritdoc}     */    protected function createNode()    {        $node = $this->instantiateNode();        if (null !== $this->normalization) {            $node->setNormalizationClosures($this->normalization->before);        }        if (null !== $this->merge) {            $node->setAllowOverwrite($this->merge->allowOverwrite);        }        if (true === $this->default) {            $node->setDefaultValue($this->defaultValue);        }        $node->setAllowEmptyValue($this->allowEmptyValue);        $node->addEquivalentValue(null, $this->nullEquivalent);        $node->addEquivalentValue(true, $this->trueEquivalent);        $node->addEquivalentValue(false, $this->falseEquivalent);        $node->setRequired($this->required);        if ($this->deprecation) {            $node->setDeprecated($this->deprecation['package'], $this->deprecation['version'], $this->deprecation['message']);        }        if (null !== $this->validation) {            $node->setFinalValidationClosures($this->validation->rules);        }        return $node;    }}
 |