diff options
Diffstat (limited to 'Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder')
17 files changed, 0 insertions, 1936 deletions
diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php deleted file mode 100644 index c64b2ec..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ArrayNodeDefinition.php +++ /dev/null @@ -1,489 +0,0 @@ -<?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\ArrayNode; -use Symfony\Component\Config\Definition\PrototypedArrayNode; -use Symfony\Component\Config\Definition\Exception\InvalidDefinitionException; - -/** - * This class provides a fluent interface for defining an array node. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class ArrayNodeDefinition extends NodeDefinition implements ParentNodeDefinitionInterface -{ - protected $performDeepMerging = true; - protected $ignoreExtraKeys = false; - protected $children = array(); - protected $prototype; - protected $atLeastOne = false; - protected $allowNewKeys = true; - protected $key; - protected $removeKeyItem; - protected $addDefaults = false; - protected $addDefaultChildren = false; - protected $nodeBuilder; - protected $normalizeKeys = true; - - /** - * {@inheritdoc} - */ - public function __construct($name, NodeParentInterface $parent = null) - { - parent::__construct($name, $parent); - - $this->nullEquivalent = array(); - $this->trueEquivalent = array(); - } - - /** - * Sets a custom children builder. - * - * @param NodeBuilder $builder A custom NodeBuilder - */ - public function setBuilder(NodeBuilder $builder) - { - $this->nodeBuilder = $builder; - } - - /** - * Returns a builder to add children nodes. - * - * @return NodeBuilder - */ - public function children() - { - return $this->getNodeBuilder(); - } - - /** - * Sets a prototype for child nodes. - * - * @param string $type the type of node - * - * @return NodeDefinition - */ - public function prototype($type) - { - return $this->prototype = $this->getNodeBuilder()->node(null, $type)->setParent($this); - } - - /** - * Adds the default value if the node is not set in the configuration. - * - * This method is applicable to concrete nodes only (not to prototype nodes). - * If this function has been called and the node is not set during the finalization - * phase, it's default value will be derived from its children default values. - * - * @return ArrayNodeDefinition - */ - public function addDefaultsIfNotSet() - { - $this->addDefaults = true; - - return $this; - } - - /** - * Adds children with a default value when none are defined. - * - * @param int|string|array|null $children The number of children|The child name|The children names to be added - * - * This method is applicable to prototype nodes only. - * - * @return ArrayNodeDefinition - */ - public function addDefaultChildrenIfNoneSet($children = null) - { - $this->addDefaultChildren = $children; - - return $this; - } - - /** - * Requires the node to have at least one element. - * - * This method is applicable to prototype nodes only. - * - * @return ArrayNodeDefinition - */ - public function requiresAtLeastOneElement() - { - $this->atLeastOne = true; - - return $this; - } - - /** - * Disallows adding news keys in a subsequent configuration. - * - * If used all keys have to be defined in the same configuration file. - * - * @return ArrayNodeDefinition - */ - public function disallowNewKeysInSubsequentConfigs() - { - $this->allowNewKeys = false; - - return $this; - } - - /** - * Sets a normalization rule for XML configurations. - * - * @param string $singular The key to remap - * @param string $plural The plural of the key for irregular plurals - * - * @return ArrayNodeDefinition - */ - public function fixXmlConfig($singular, $plural = null) - { - $this->normalization()->remap($singular, $plural); - - return $this; - } - - /** - * Sets the attribute which value is to be used as key. - * - * This is useful when you have an indexed array that should be an - * associative array. You can select an item from within the array - * to be the key of the particular item. For example, if "id" is the - * "key", then: - * - * array( - * array('id' => 'my_name', 'foo' => 'bar'), - * ); - * - * becomes - * - * array( - * 'my_name' => array('foo' => 'bar'), - * ); - * - * If you'd like "'id' => 'my_name'" to still be present in the resulting - * array, then you can set the second argument of this method to false. - * - * This method is applicable to prototype nodes only. - * - * @param string $name The name of the key - * @param bool $removeKeyItem Whether or not the key item should be removed. - * - * @return ArrayNodeDefinition - */ - public function useAttributeAsKey($name, $removeKeyItem = true) - { - $this->key = $name; - $this->removeKeyItem = $removeKeyItem; - - return $this; - } - - /** - * Sets whether the node can be unset. - * - * @param bool $allow - * - * @return ArrayNodeDefinition - */ - public function canBeUnset($allow = true) - { - $this->merge()->allowUnset($allow); - - return $this; - } - - /** - * Adds an "enabled" boolean to enable the current section. - * - * By default, the section is disabled. If any configuration is specified then - * the node will be automatically enabled: - * - * enableableArrayNode: {enabled: true, ...} # The config is enabled & default values get overridden - * enableableArrayNode: ~ # The config is enabled & use the default values - * enableableArrayNode: true # The config is enabled & use the default values - * enableableArrayNode: {other: value, ...} # The config is enabled & default values get overridden - * enableableArrayNode: {enabled: false, ...} # The config is disabled - * enableableArrayNode: false # The config is disabled - * - * @return ArrayNodeDefinition - */ - public function canBeEnabled() - { - $this - ->addDefaultsIfNotSet() - ->treatFalseLike(array('enabled' => false)) - ->treatTrueLike(array('enabled' => true)) - ->treatNullLike(array('enabled' => true)) - ->beforeNormalization() - ->ifArray() - ->then(function ($v) { - $v['enabled'] = isset($v['enabled']) ? $v['enabled'] : true; - - return $v; - }) - ->end() - ->children() - ->booleanNode('enabled') - ->defaultFalse() - ; - - return $this; - } - - /** - * Adds an "enabled" boolean to enable the current section. - * - * By default, the section is enabled. - * - * @return ArrayNodeDefinition - */ - public function canBeDisabled() - { - $this - ->addDefaultsIfNotSet() - ->treatFalseLike(array('enabled' => false)) - ->treatTrueLike(array('enabled' => true)) - ->treatNullLike(array('enabled' => true)) - ->children() - ->booleanNode('enabled') - ->defaultTrue() - ; - - return $this; - } - - /** - * Disables the deep merging of the node. - * - * @return ArrayNodeDefinition - */ - public function performNoDeepMerging() - { - $this->performDeepMerging = false; - - return $this; - } - - /** - * Allows extra config keys to be specified under an array without - * throwing an exception. - * - * Those config values are simply ignored and removed from the - * resulting array. This should be used only in special cases where - * you want to send an entire configuration array through a special - * tree that processes only part of the array. - * - * @return ArrayNodeDefinition - */ - public function ignoreExtraKeys() - { - $this->ignoreExtraKeys = true; - - return $this; - } - - /** - * Sets key normalization. - * - * @param bool $bool Whether to enable key normalization - * - * @return ArrayNodeDefinition - */ - public function normalizeKeys($bool) - { - $this->normalizeKeys = (bool) $bool; - - return $this; - } - - /** - * Appends a node definition. - * - * $node = new ArrayNodeDefinition() - * ->children() - * ->scalarNode('foo')->end() - * ->scalarNode('baz')->end() - * ->end() - * ->append($this->getBarNodeDefinition()) - * ; - * - * @param NodeDefinition $node A NodeDefinition instance - * - * @return ArrayNodeDefinition This node - */ - public function append(NodeDefinition $node) - { - $this->children[$node->name] = $node->setParent($this); - - return $this; - } - - /** - * Returns a node builder to be used to add children and prototype. - * - * @return NodeBuilder The node builder - */ - protected function getNodeBuilder() - { - if (null === $this->nodeBuilder) { - $this->nodeBuilder = new NodeBuilder(); - } - - return $this->nodeBuilder->setParent($this); - } - - /** - * {@inheritdoc} - */ - protected function createNode() - { - if (null === $this->prototype) { - $node = new ArrayNode($this->name, $this->parent); - - $this->validateConcreteNode($node); - - $node->setAddIfNotSet($this->addDefaults); - - foreach ($this->children as $child) { - $child->parent = $node; - $node->addChild($child->getNode()); - } - } else { - $node = new PrototypedArrayNode($this->name, $this->parent); - - $this->validatePrototypeNode($node); - - if (null !== $this->key) { - $node->setKeyAttribute($this->key, $this->removeKeyItem); - } - - if (true === $this->atLeastOne) { - $node->setMinNumberOfElements(1); - } - - if ($this->default) { - $node->setDefaultValue($this->defaultValue); - } - - if (false !== $this->addDefaultChildren) { - $node->setAddChildrenIfNoneSet($this->addDefaultChildren); - if ($this->prototype instanceof static && null === $this->prototype->prototype) { - $this->prototype->addDefaultsIfNotSet(); - } - } - - $this->prototype->parent = $node; - $node->setPrototype($this->prototype->getNode()); - } - - $node->setAllowNewKeys($this->allowNewKeys); - $node->addEquivalentValue(null, $this->nullEquivalent); - $node->addEquivalentValue(true, $this->trueEquivalent); - $node->addEquivalentValue(false, $this->falseEquivalent); - $node->setPerformDeepMerging($this->performDeepMerging); - $node->setRequired($this->required); - $node->setIgnoreExtraKeys($this->ignoreExtraKeys); - $node->setNormalizeKeys($this->normalizeKeys); - - if (null !== $this->normalization) { - $node->setNormalizationClosures($this->normalization->before); - $node->setXmlRemappings($this->normalization->remappings); - } - - if (null !== $this->merge) { - $node->setAllowOverwrite($this->merge->allowOverwrite); - $node->setAllowFalse($this->merge->allowFalse); - } - - if (null !== $this->validation) { - $node->setFinalValidationClosures($this->validation->rules); - } - - return $node; - } - - /** - * Validate the configuration of a concrete node. - * - * @param ArrayNode $node The related node - * - * @throws InvalidDefinitionException - */ - protected function validateConcreteNode(ArrayNode $node) - { - $path = $node->getPath(); - - if (null !== $this->key) { - throw new InvalidDefinitionException( - sprintf('->useAttributeAsKey() is not applicable to concrete nodes at path "%s"', $path) - ); - } - - if (true === $this->atLeastOne) { - throw new InvalidDefinitionException( - sprintf('->requiresAtLeastOneElement() is not applicable to concrete nodes at path "%s"', $path) - ); - } - - if ($this->default) { - throw new InvalidDefinitionException( - sprintf('->defaultValue() is not applicable to concrete nodes at path "%s"', $path) - ); - } - - if (false !== $this->addDefaultChildren) { - throw new InvalidDefinitionException( - sprintf('->addDefaultChildrenIfNoneSet() is not applicable to concrete nodes at path "%s"', $path) - ); - } - } - - /** - * Validate the configuration of a prototype node. - * - * @param PrototypedArrayNode $node The related node - * - * @throws InvalidDefinitionException - */ - protected function validatePrototypeNode(PrototypedArrayNode $node) - { - $path = $node->getPath(); - - if ($this->addDefaults) { - throw new InvalidDefinitionException( - sprintf('->addDefaultsIfNotSet() is not applicable to prototype nodes at path "%s"', $path) - ); - } - - if (false !== $this->addDefaultChildren) { - if ($this->default) { - throw new InvalidDefinitionException( - sprintf('A default value and default children might not be used together at path "%s"', $path) - ); - } - - if (null !== $this->key && (null === $this->addDefaultChildren || is_int($this->addDefaultChildren) && $this->addDefaultChildren > 0)) { - throw new InvalidDefinitionException( - sprintf('->addDefaultChildrenIfNoneSet() should set default children names as ->useAttributeAsKey() is used at path "%s"', $path) - ); - } - - if (null === $this->key && (is_string($this->addDefaultChildren) || is_array($this->addDefaultChildren))) { - throw new InvalidDefinitionException( - sprintf('->addDefaultChildrenIfNoneSet() might not set default children names as ->useAttributeAsKey() is not used at path "%s"', $path) - ); - } - } - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php deleted file mode 100644 index db7ebc2..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/BooleanNodeDefinition.php +++ /dev/null @@ -1,42 +0,0 @@ -<?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\BooleanNode; - -/** - * This class provides a fluent interface for defining a node. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class BooleanNodeDefinition extends ScalarNodeDefinition -{ - /** - * {@inheritdoc} - */ - public function __construct($name, NodeParentInterface $parent = null) - { - parent::__construct($name, $parent); - - $this->nullEquivalent = true; - } - - /** - * Instantiate a Node. - * - * @return BooleanNode The node - */ - protected function instantiateNode() - { - return new BooleanNode($this->name, $this->parent); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/EnumNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/EnumNodeDefinition.php deleted file mode 100644 index dc25fcb..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/EnumNodeDefinition.php +++ /dev/null @@ -1,58 +0,0 @@ -<?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\EnumNode; - -/** - * Enum Node Definition. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class EnumNodeDefinition extends ScalarNodeDefinition -{ - private $values; - - /** - * @param array $values - * - * @return EnumNodeDefinition|$this - */ - public function values(array $values) - { - $values = array_unique($values); - - if (count($values) <= 1) { - throw new \InvalidArgumentException('->values() must be called with at least two distinct values.'); - } - - $this->values = $values; - - return $this; - } - - /** - * Instantiate a Node. - * - * @return EnumNode The node - * - * @throws \RuntimeException - */ - protected function instantiateNode() - { - if (null === $this->values) { - throw new \RuntimeException('You must call ->values() on enum nodes.'); - } - - return new EnumNode($this->name, $this->parent, $this->values); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ExprBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ExprBuilder.php deleted file mode 100644 index 7887f2d..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ExprBuilder.php +++ /dev/null @@ -1,238 +0,0 @@ -<?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\Exception\UnsetKeyException; - -/** - * This class builds an if expression. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - * @author Christophe Coevoet <stof@notk.org> - */ -class ExprBuilder -{ - protected $node; - public $ifPart; - public $thenPart; - - /** - * Constructor. - * - * @param NodeDefinition $node The related node - */ - public function __construct(NodeDefinition $node) - { - $this->node = $node; - } - - /** - * Marks the expression as being always used. - * - * @param \Closure $then - * - * @return ExprBuilder - */ - public function always(\Closure $then = null) - { - $this->ifPart = function ($v) { return true; }; - - if (null !== $then) { - $this->thenPart = $then; - } - - return $this; - } - - /** - * Sets a closure to use as tests. - * - * The default one tests if the value is true. - * - * @param \Closure $closure - * - * @return ExprBuilder - */ - public function ifTrue(\Closure $closure = null) - { - if (null === $closure) { - $closure = function ($v) { return true === $v; }; - } - - $this->ifPart = $closure; - - return $this; - } - - /** - * Tests if the value is a string. - * - * @return ExprBuilder - */ - public function ifString() - { - $this->ifPart = function ($v) { return is_string($v); }; - - return $this; - } - - /** - * Tests if the value is null. - * - * @return ExprBuilder - */ - public function ifNull() - { - $this->ifPart = function ($v) { return null === $v; }; - - return $this; - } - - /** - * Tests if the value is an array. - * - * @return ExprBuilder - */ - public function ifArray() - { - $this->ifPart = function ($v) { return is_array($v); }; - - return $this; - } - - /** - * Tests if the value is in an array. - * - * @param array $array - * - * @return ExprBuilder - */ - public function ifInArray(array $array) - { - $this->ifPart = function ($v) use ($array) { return in_array($v, $array, true); }; - - return $this; - } - - /** - * Tests if the value is not in an array. - * - * @param array $array - * - * @return ExprBuilder - */ - public function ifNotInArray(array $array) - { - $this->ifPart = function ($v) use ($array) { return !in_array($v, $array, true); }; - - return $this; - } - - /** - * Sets the closure to run if the test pass. - * - * @param \Closure $closure - * - * @return ExprBuilder - */ - public function then(\Closure $closure) - { - $this->thenPart = $closure; - - return $this; - } - - /** - * Sets a closure returning an empty array. - * - * @return ExprBuilder - */ - public function thenEmptyArray() - { - $this->thenPart = function ($v) { return array(); }; - - return $this; - } - - /** - * Sets a closure marking the value as invalid at validation time. - * - * if you want to add the value of the node in your message just use a %s placeholder. - * - * @param string $message - * - * @return ExprBuilder - * - * @throws \InvalidArgumentException - */ - public function thenInvalid($message) - { - $this->thenPart = function ($v) use ($message) {throw new \InvalidArgumentException(sprintf($message, json_encode($v))); }; - - return $this; - } - - /** - * Sets a closure unsetting this key of the array at validation time. - * - * @return ExprBuilder - * - * @throws UnsetKeyException - */ - public function thenUnset() - { - $this->thenPart = function ($v) { throw new UnsetKeyException('Unsetting key'); }; - - return $this; - } - - /** - * Returns the related node. - * - * @return NodeDefinition - * - * @throws \RuntimeException - */ - public function end() - { - if (null === $this->ifPart) { - throw new \RuntimeException('You must specify an if part.'); - } - if (null === $this->thenPart) { - throw new \RuntimeException('You must specify a then part.'); - } - - return $this->node; - } - - /** - * Builds the expressions. - * - * @param ExprBuilder[] $expressions An array of ExprBuilder instances to build - * - * @return array - */ - public static function buildExpressions(array $expressions) - { - foreach ($expressions as $k => $expr) { - if ($expr instanceof ExprBuilder) { - $if = $expr->ifPart; - $then = $expr->thenPart; - $expressions[$k] = function ($v) use ($if, $then) { - return $if($v) ? $then($v) : $v; - }; - } - } - - return $expressions; - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/FloatNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/FloatNodeDefinition.php deleted file mode 100644 index c0bed46..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/FloatNodeDefinition.php +++ /dev/null @@ -1,32 +0,0 @@ -<?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\FloatNode; - -/** - * This class provides a fluent interface for defining a float node. - * - * @author Jeanmonod David <david.jeanmonod@gmail.com> - */ -class FloatNodeDefinition extends NumericNodeDefinition -{ - /** - * Instantiates a Node. - * - * @return FloatNode The node - */ - protected function instantiateNode() - { - return new FloatNode($this->name, $this->parent, $this->min, $this->max); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/IntegerNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/IntegerNodeDefinition.php deleted file mode 100644 index f6c3c14..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/IntegerNodeDefinition.php +++ /dev/null @@ -1,32 +0,0 @@ -<?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\IntegerNode; - -/** - * This class provides a fluent interface for defining an integer node. - * - * @author Jeanmonod David <david.jeanmonod@gmail.com> - */ -class IntegerNodeDefinition extends NumericNodeDefinition -{ - /** - * Instantiates a Node. - * - * @return IntegerNode The node - */ - protected function instantiateNode() - { - return new IntegerNode($this->name, $this->parent, $this->min, $this->max); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/MergeBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/MergeBuilder.php deleted file mode 100644 index f908a49..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/MergeBuilder.php +++ /dev/null @@ -1,72 +0,0 @@ -<?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; - - /** - * Constructor. - * - * @param NodeDefinition $node The related node - */ - public function __construct(NodeDefinition $node) - { - $this->node = $node; - } - - /** - * Sets whether the node can be unset. - * - * @param bool $allow - * - * @return MergeBuilder - */ - public function allowUnset($allow = true) - { - $this->allowFalse = $allow; - - return $this; - } - - /** - * Sets whether the node can be overwritten. - * - * @param bool $deny Whether the overwriting is forbidden or not - * - * @return MergeBuilder - */ - public function denyOverwrite($deny = true) - { - $this->allowOverwrite = !$deny; - - return $this; - } - - /** - * Returns the related node. - * - * @return NodeDefinition - */ - public function end() - { - return $this->node; - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeBuilder.php deleted file mode 100644 index b2b6336..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeBuilder.php +++ /dev/null @@ -1,245 +0,0 @@ -<?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 provides a fluent interface for building a node. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class NodeBuilder implements NodeParentInterface -{ - protected $parent; - protected $nodeMapping; - - /** - * Constructor. - */ - public function __construct() - { - $this->nodeMapping = array( - 'variable' => __NAMESPACE__.'\\VariableNodeDefinition', - 'scalar' => __NAMESPACE__.'\\ScalarNodeDefinition', - 'boolean' => __NAMESPACE__.'\\BooleanNodeDefinition', - 'integer' => __NAMESPACE__.'\\IntegerNodeDefinition', - 'float' => __NAMESPACE__.'\\FloatNodeDefinition', - 'array' => __NAMESPACE__.'\\ArrayNodeDefinition', - 'enum' => __NAMESPACE__.'\\EnumNodeDefinition', - ); - } - - /** - * Set the parent node. - * - * @param ParentNodeDefinitionInterface $parent The parent node - * - * @return NodeBuilder This node builder - */ - public function setParent(ParentNodeDefinitionInterface $parent = null) - { - $this->parent = $parent; - - return $this; - } - - /** - * Creates a child array node. - * - * @param string $name The name of the node - * - * @return ArrayNodeDefinition The child node - */ - public function arrayNode($name) - { - return $this->node($name, 'array'); - } - - /** - * Creates a child scalar node. - * - * @param string $name the name of the node - * - * @return ScalarNodeDefinition The child node - */ - public function scalarNode($name) - { - return $this->node($name, 'scalar'); - } - - /** - * Creates a child Boolean node. - * - * @param string $name The name of the node - * - * @return BooleanNodeDefinition The child node - */ - public function booleanNode($name) - { - return $this->node($name, 'boolean'); - } - - /** - * Creates a child integer node. - * - * @param string $name the name of the node - * - * @return IntegerNodeDefinition The child node - */ - public function integerNode($name) - { - return $this->node($name, 'integer'); - } - - /** - * Creates a child float node. - * - * @param string $name the name of the node - * - * @return FloatNodeDefinition The child node - */ - public function floatNode($name) - { - return $this->node($name, 'float'); - } - - /** - * Creates a child EnumNode. - * - * @param string $name - * - * @return EnumNodeDefinition - */ - public function enumNode($name) - { - return $this->node($name, 'enum'); - } - - /** - * Creates a child variable node. - * - * @param string $name The name of the node - * - * @return VariableNodeDefinition The builder of the child node - */ - public function variableNode($name) - { - return $this->node($name, 'variable'); - } - - /** - * Returns the parent node. - * - * @return ParentNodeDefinitionInterface The parent node - */ - public function end() - { - return $this->parent; - } - - /** - * Creates a child node. - * - * @param string $name The name of the node - * @param string $type The type of the node - * - * @return NodeDefinition The child node - * - * @throws \RuntimeException When the node type is not registered - * @throws \RuntimeException When the node class is not found - */ - public function node($name, $type) - { - $class = $this->getNodeClass($type); - - $node = new $class($name); - - $this->append($node); - - return $node; - } - - /** - * Appends a node definition. - * - * Usage: - * - * $node = new ArrayNodeDefinition('name') - * ->children() - * ->scalarNode('foo')->end() - * ->scalarNode('baz')->end() - * ->append($this->getBarNodeDefinition()) - * ->end() - * ; - * - * @param NodeDefinition $node - * - * @return NodeBuilder This node builder - */ - public function append(NodeDefinition $node) - { - if ($node instanceof ParentNodeDefinitionInterface) { - $builder = clone $this; - $builder->setParent(null); - $node->setBuilder($builder); - } - - if (null !== $this->parent) { - $this->parent->append($node); - // Make this builder the node parent to allow for a fluid interface - $node->setParent($this); - } - - return $this; - } - - /** - * Adds or overrides a node Type. - * - * @param string $type The name of the type - * @param string $class The fully qualified name the node definition class - * - * @return NodeBuilder This node builder - */ - public function setNodeClass($type, $class) - { - $this->nodeMapping[strtolower($type)] = $class; - - return $this; - } - - /** - * Returns the class name of the node definition. - * - * @param string $type The node type - * - * @return string The node definition class name - * - * @throws \RuntimeException When the node type is not registered - * @throws \RuntimeException When the node class is not found - */ - protected function getNodeClass($type) - { - $type = strtolower($type); - - if (!isset($this->nodeMapping[$type])) { - throw new \RuntimeException(sprintf('The node type "%s" is not registered.', $type)); - } - - $class = $this->nodeMapping[$type]; - - if (!class_exists($class)) { - throw new \RuntimeException(sprintf('The node class "%s" does not exist.', $class)); - } - - return $class; - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeDefinition.php deleted file mode 100644 index f7f84bc..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeDefinition.php +++ /dev/null @@ -1,343 +0,0 @@ -<?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\NodeInterface; -use Symfony\Component\Config\Definition\Exception\InvalidDefinitionException; - -/** - * This class provides a fluent interface for defining a node. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -abstract class NodeDefinition implements NodeParentInterface -{ - protected $name; - protected $normalization; - protected $validation; - protected $defaultValue; - protected $default = false; - protected $required = false; - protected $merge; - protected $allowEmptyValue = true; - protected $nullEquivalent; - protected $trueEquivalent = true; - protected $falseEquivalent = false; - - /** - * @var NodeParentInterface|null - */ - protected $parent; - protected $attributes = array(); - - /** - * Constructor. - * - * @param string $name The name of the node - * @param NodeParentInterface|null $parent The parent - */ - public function __construct($name, NodeParentInterface $parent = null) - { - $this->parent = $parent; - $this->name = $name; - } - - /** - * Sets the parent node. - * - * @param NodeParentInterface $parent The parent - * - * @return NodeDefinition|$this - */ - public function setParent(NodeParentInterface $parent) - { - $this->parent = $parent; - - return $this; - } - - /** - * Sets info message. - * - * @param string $info The info text - * - * @return NodeDefinition|$this - */ - public function info($info) - { - return $this->attribute('info', $info); - } - - /** - * Sets example configuration. - * - * @param string|array $example - * - * @return NodeDefinition|$this - */ - public function example($example) - { - return $this->attribute('example', $example); - } - - /** - * Sets an attribute on the node. - * - * @param string $key - * @param mixed $value - * - * @return NodeDefinition|$this - */ - public function attribute($key, $value) - { - $this->attributes[$key] = $value; - - return $this; - } - - /** - * Returns the parent node. - * - * @return NodeParentInterface|null The builder of the parent node - */ - public function end() - { - return $this->parent; - } - - /** - * Creates the node. - * - * @param bool $forceRootNode Whether to force this node as the root node - * - * @return NodeInterface - */ - public function getNode($forceRootNode = false) - { - if ($forceRootNode) { - $this->parent = null; - } - - if (null !== $this->normalization) { - $this->normalization->before = ExprBuilder::buildExpressions($this->normalization->before); - } - - if (null !== $this->validation) { - $this->validation->rules = ExprBuilder::buildExpressions($this->validation->rules); - } - - $node = $this->createNode(); - $node->setAttributes($this->attributes); - - return $node; - } - - /** - * Sets the default value. - * - * @param mixed $value The default value - * - * @return NodeDefinition|$this - */ - public function defaultValue($value) - { - $this->default = true; - $this->defaultValue = $value; - - return $this; - } - - /** - * Sets the node as required. - * - * @return NodeDefinition|$this - */ - public function isRequired() - { - $this->required = true; - - return $this; - } - - /** - * Sets the equivalent value used when the node contains null. - * - * @param mixed $value - * - * @return NodeDefinition|$this - */ - public function treatNullLike($value) - { - $this->nullEquivalent = $value; - - return $this; - } - - /** - * Sets the equivalent value used when the node contains true. - * - * @param mixed $value - * - * @return NodeDefinition|$this - */ - public function treatTrueLike($value) - { - $this->trueEquivalent = $value; - - return $this; - } - - /** - * Sets the equivalent value used when the node contains false. - * - * @param mixed $value - * - * @return NodeDefinition|$this - */ - public function treatFalseLike($value) - { - $this->falseEquivalent = $value; - - return $this; - } - - /** - * Sets null as the default value. - * - * @return NodeDefinition|$this - */ - public function defaultNull() - { - return $this->defaultValue(null); - } - - /** - * Sets true as the default value. - * - * @return NodeDefinition|$this - */ - public function defaultTrue() - { - return $this->defaultValue(true); - } - - /** - * Sets false as the default value. - * - * @return NodeDefinition|$this - */ - public function defaultFalse() - { - return $this->defaultValue(false); - } - - /** - * Sets an expression to run before the normalization. - * - * @return ExprBuilder - */ - public function beforeNormalization() - { - return $this->normalization()->before(); - } - - /** - * Denies the node value being empty. - * - * @return NodeDefinition|$this - */ - public function cannotBeEmpty() - { - $this->allowEmptyValue = false; - - return $this; - } - - /** - * Sets an expression to run for the validation. - * - * The expression receives the value of the node and must return it. It can - * modify it. - * An exception should be thrown when the node is not valid. - * - * @return ExprBuilder - */ - public function validate() - { - return $this->validation()->rule(); - } - - /** - * Sets whether the node can be overwritten. - * - * @param bool $deny Whether the overwriting is forbidden or not - * - * @return NodeDefinition|$this - */ - public function cannotBeOverwritten($deny = true) - { - $this->merge()->denyOverwrite($deny); - - return $this; - } - - /** - * Gets the builder for validation rules. - * - * @return ValidationBuilder - */ - protected function validation() - { - if (null === $this->validation) { - $this->validation = new ValidationBuilder($this); - } - - return $this->validation; - } - - /** - * Gets the builder for merging rules. - * - * @return MergeBuilder - */ - protected function merge() - { - if (null === $this->merge) { - $this->merge = new MergeBuilder($this); - } - - return $this->merge; - } - - /** - * Gets the builder for normalization rules. - * - * @return NormalizationBuilder - */ - protected function normalization() - { - if (null === $this->normalization) { - $this->normalization = new NormalizationBuilder($this); - } - - return $this->normalization; - } - - /** - * Instantiate and configure the node according to this definition. - * - * @return NodeInterface $node The node instance - * - * @throws InvalidDefinitionException When the definition is invalid - */ - abstract protected function createNode(); -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeParentInterface.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeParentInterface.php deleted file mode 100644 index 305e993..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NodeParentInterface.php +++ /dev/null @@ -1,21 +0,0 @@ -<?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; - -/** - * An interface that must be implemented by all node parents. - * - * @author Victor Berchet <victor@suumit.com> - */ -interface NodeParentInterface -{ -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php deleted file mode 100644 index 748c9f2..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NormalizationBuilder.php +++ /dev/null @@ -1,67 +0,0 @@ -<?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 normalization conditions. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class NormalizationBuilder -{ - protected $node; - public $before = array(); - public $remappings = array(); - - /** - * Constructor. - * - * @param NodeDefinition $node The related node - */ - public function __construct(NodeDefinition $node) - { - $this->node = $node; - } - - /** - * Registers a key to remap to its plural form. - * - * @param string $key The key to remap - * @param string $plural The plural of the key in case of irregular plural - * - * @return NormalizationBuilder - */ - public function remap($key, $plural = null) - { - $this->remappings[] = array($key, null === $plural ? $key.'s' : $plural); - - return $this; - } - - /** - * Registers a closure to run before the normalization or an expression builder to build it if null is provided. - * - * @param \Closure $closure - * - * @return ExprBuilder|NormalizationBuilder - */ - public function before(\Closure $closure = null) - { - if (null !== $closure) { - $this->before[] = $closure; - - return $this; - } - - return $this->before[] = new ExprBuilder($this->node); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php deleted file mode 100644 index ddd716d..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/NumericNodeDefinition.php +++ /dev/null @@ -1,61 +0,0 @@ -<?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; - -/** - * Abstract class that contains common code of integer and float node definitions. - * - * @author David Jeanmonod <david.jeanmonod@gmail.com> - */ -abstract class NumericNodeDefinition extends ScalarNodeDefinition -{ - protected $min; - protected $max; - - /** - * Ensures that the value is smaller than the given reference. - * - * @param mixed $max - * - * @return NumericNodeDefinition - * - * @throws \InvalidArgumentException when the constraint is inconsistent - */ - public function max($max) - { - if (isset($this->min) && $this->min > $max) { - throw new \InvalidArgumentException(sprintf('You cannot define a max(%s) as you already have a min(%s)', $max, $this->min)); - } - $this->max = $max; - - return $this; - } - - /** - * Ensures that the value is bigger than the given reference. - * - * @param mixed $min - * - * @return NumericNodeDefinition - * - * @throws \InvalidArgumentException when the constraint is inconsistent - */ - public function min($min) - { - if (isset($this->max) && $this->max < $min) { - throw new \InvalidArgumentException(sprintf('You cannot define a min(%s) as you already have a max(%s)', $min, $this->max)); - } - $this->min = $min; - - return $this; - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php deleted file mode 100644 index 575495b..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ParentNodeDefinitionInterface.php +++ /dev/null @@ -1,26 +0,0 @@ -<?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; - -/** - * An interface that must be implemented by nodes which can have children. - * - * @author Victor Berchet <victor@suumit.com> - */ -interface ParentNodeDefinitionInterface -{ - public function children(); - - public function append(NodeDefinition $node); - - public function setBuilder(NodeBuilder $builder); -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ScalarNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ScalarNodeDefinition.php deleted file mode 100644 index 6170555..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ScalarNodeDefinition.php +++ /dev/null @@ -1,32 +0,0 @@ -<?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\ScalarNode; - -/** - * This class provides a fluent interface for defining a node. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class ScalarNodeDefinition extends VariableNodeDefinition -{ - /** - * Instantiate a Node. - * - * @return ScalarNode The node - */ - protected function instantiateNode() - { - return new ScalarNode($this->name, $this->parent); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/TreeBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/TreeBuilder.php deleted file mode 100644 index 5d02848..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/TreeBuilder.php +++ /dev/null @@ -1,63 +0,0 @@ -<?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\NodeInterface; - -/** - * This is the entry class for building a config tree. - * - * @author Johannes M. Schmitt <schmittjoh@gmail.com> - */ -class TreeBuilder implements NodeParentInterface -{ - protected $tree; - protected $root; - protected $builder; - - /** - * Creates the root node. - * - * @param string $name The name of the root node - * @param string $type The type of the root node - * @param NodeBuilder $builder A custom node builder instance - * - * @return ArrayNodeDefinition|NodeDefinition The root node (as an ArrayNodeDefinition when the type is 'array') - * - * @throws \RuntimeException When the node type is not supported - */ - public function root($name, $type = 'array', NodeBuilder $builder = null) - { - $builder = $builder ?: new NodeBuilder(); - - return $this->root = $builder->node($name, $type)->setParent($this); - } - - /** - * Builds the tree. - * - * @return NodeInterface - * - * @throws \RuntimeException - */ - public function buildTree() - { - if (null === $this->root) { - throw new \RuntimeException('The configuration tree has no root node.'); - } - if (null !== $this->tree) { - return $this->tree; - } - - return $this->tree = $this->root->getNode(true); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php deleted file mode 100644 index e885823..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/ValidationBuilder.php +++ /dev/null @@ -1,51 +0,0 @@ -<?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 validation conditions. - * - * @author Christophe Coevoet <stof@notk.org> - */ -class ValidationBuilder -{ - protected $node; - public $rules = array(); - - /** - * Constructor. - * - * @param NodeDefinition $node The related node - */ - public function __construct(NodeDefinition $node) - { - $this->node = $node; - } - - /** - * Registers a closure to run as normalization or an expression builder to build it if null is provided. - * - * @param \Closure $closure - * - * @return ExprBuilder|ValidationBuilder - */ - public function rule(\Closure $closure = null) - { - if (null !== $closure) { - $this->rules[] = $closure; - - return $this; - } - - return $this->rules[] = new ExprBuilder($this->node); - } -} diff --git a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/VariableNodeDefinition.php b/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/VariableNodeDefinition.php deleted file mode 100644 index a46b7ea..0000000 --- a/Aufgabe06/vendor/symfony/config/Symfony/Component/Config/Definition/Builder/VariableNodeDefinition.php +++ /dev/null @@ -1,64 +0,0 @@ -<?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 The node - */ - protected function instantiateNode() - { - return new VariableNode($this->name, $this->parent); - } - - /** - * {@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 (null !== $this->validation) { - $node->setFinalValidationClosures($this->validation->rules); - } - - return $node; - } -} |
