Gets the persisters configuration node.

@return  \Symfony\Component\Config\Definition\Builder\ArrayNodeDefinition
359715
private function getPersistersNode()
    {
        $node = $this->createRootNode('persisters');
        return $node
            ->isRequired()
            ->useAttributeAsKey('name')
            ->prototype('array')
                ->children()

                    ->enumNode('type')
                        ->values(['mongodb', null])
                    ->end()
                    ->scalarNode('service')->cannotBeEmpty()->end()

                    ->arrayNode('parameters')
                        ->performNoDeepMerging()
                        ->prototype('variable')->end()
                    ->end()
                ->end()
            ->end()
            ->validate()
                ->always(function($v) {
                    $this->validatePersisters($v);
                    return $v;
                })
            ->end()
        ;
    }
1210492
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $treeBuilder->root('e_xpansion_admin_groups')
            ->children()
                ->arrayNode('groups')
                    ->prototype('array')
                        ->children()
                            ->variableNode('label')->end()
                            ->arrayNode('logins')->prototype('scalar')->end()->end()
                            ->arrayNode('permissions')->prototype('scalar')->end()->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('permissions')
                    ->prototype('scalar')->end()
                ->end()
            ->end();

        return $treeBuilder;
    }
1346555
public function getConfigTreeBuilder()
    {
        // Solves Symfony 4.2 TreeBuilder deprecation
        if (method_exists(TreeBuilder::class, 'getRootNode')) {
            $treeBuilder = new TreeBuilder('knp_gaufrette');
            $rootNode    = $treeBuilder->getRootNode();
        } else {
            $treeBuilder = new TreeBuilder();
            $rootNode    = $treeBuilder->root('knp_gaufrette');
        }

        $rootNode
            ->ignoreExtraKeys()
            ->fixXmlConfig('factory', 'factories')
            ->children()
                ->arrayNode('factories')
                    ->prototype('scalar')->end()
                ->end()
            ->end()
        ->end()
        ;

        return $treeBuilder;
    }
52209
public function getConfigTreeBuilder()
    {
        $builder = new TreeBuilder();
        $rule    = $builder->root('rule');
        {
            $rule->children()->variableNode('pattern')->isRequired();
            $rule->children()->variableNode('roles')->isRequired()->beforeNormalization()->ifString()->then(
                function ($v) {
                    return [$v];
                }
            )->end();
            $rule->children()->enumNode('channel')->values([null, 'http', 'https'])->defaultValue(null);

        }

        return $builder;
    }
600510
public function getPersistenceOptions()
    {
        if ($this->persistenceOptions) {
            return $this->persistenceOptions;
        }
        if (!$this->hasPersistenceOptions()) {
            $errMsg = 'Persistence options not specified';
            throw new Exception\InvalidPersistenceConfigException($errMsg);
        }
        $this->persistenceOptions = new ConfigurationServiceOptions($this->persistence);
        return $this->persistenceOptions;
    }
1366683
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('doctrine_riak');

        $this->addDocumentManagersSection($rootNode);
        $this->addConnectionsSection($rootNode);
        $this->addResolveTargetDocumentsSection($rootNode);

        $rootNode
            ->children()
                ->scalarNode('proxy_namespace')->defaultValue('RiakODMProxies')->end()
                ->scalarNode('proxy_dir')->defaultValue('%kernel.cache_dir%/doctrine/odm/riak/Proxies')->end()
                ->scalarNode('auto_generate_proxy_classes')->defaultValue(false)->end()
                ->scalarNode('hydrator_namespace')->defaultValue('Hydrators')->end()
                ->scalarNode('hydrator_dir')->defaultValue('%kernel.cache_dir%/doctrine/odm/riak/Hydrators')->end()
                ->scalarNode('auto_generate_hydrator_classes')->defaultValue(false)->end()
                ->scalarNode('default_document_manager')->end()
                ->scalarNode('default_connection')->end()
                ->scalarNode('default_database')->defaultValue('default')->end()
                ->arrayNode('default_commit_options')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->booleanNode('j')->end()
                        ->scalarNode('timeout')->end()
                        ->scalarNode('w')->end()
                        ->scalarNode('wtimeout')->end()
                        // Deprecated options
                        ->booleanNode('fsync')->info('Deprecated. Please use the "j" option instead.')->end()
                        ->scalarNode('safe')->info('Deprecated. Please use the "w" option instead.')->end()
                    ->end()
                ->end()
            ->end()
        ;

        return $treeBuilder;
    }
919778
public function getConfigNode()
    {
        $node = $this->getChordNode();
        $node
        ->prototype('array')
            ->children()
                ->booleanNode('inline')
                    ->defaultTrue()
                ->end()
                ->arrayNode('parts')
                    ->prototype('scalar')->end()
                ->end()
            ->end()
        ->end();

        return $node;
    }
1328100
public function getConfigTreeBuilder()
	{
		$treeBuilder = new TreeBuilder();

		$treeBuilder->root('cms_authentication')
			->children()
				->append($this->getPathConfiguration())
				->append($this->getSessionConfiguration())
				->append($this->getUsersConfiguration())
				->append($this->getServicesDefinition())
			->end();

		return $treeBuilder;
	}
908842
public function configure(ArrayNodeDefinition $builder)
    {
        $builder->
            children()->
                arrayNode('connection_details')->
                    children()->
                        scalarNode('engine')->
                            defaultValue('pgsql')->
                        end()->
                        scalarNode('host')->
                            defaultValue('127.0.0.1')->
                        end()->
                        scalarNode('schema')->
                            defaultValue(null)->
                        end()->
                        scalarNode('dbname')->
                            defaultValue(null)->
                        end()->
                        scalarNode('username')->
                            defaultValue('root')->
                        end()->
                        scalarNode('password')->
                            defaultValue(null)->
                        end()->
                        scalarNode('dbprefix')->
                            defaultValue(null)->
                        end()->
                    end()->
                end()->
                arrayNode('keywords')->
                    ignoreExtraKeys(false)->
                end()->
            end()->
        end();

        return $builder;
    }
505724
public function getNodeBuilder()
    {
        if (!isset($this->nodeBuilder)) {
            $this->nodeBuilder = $this->getGeneratorConfig()->getConfiguredBuilder($this->getTable(), 'node');
        }

        return $this->nodeBuilder;
    }
1146973
function getConfig(ArrayNodeDefinition $builder)
    {
        $builder->
            children()->
                scalarNode('framework_path')->
                    defaultValue('framework')->
                end()->
                scalarNode('screenshot_path')->
                    defaultNull()->
                end()->
                arrayNode('region_map')->
                    useAttributeAsKey('key')->
                    prototype('variable')->end()->
                end()->
                scalarNode('admin_url')->
                    defaultValue('/admin/')->
                end()->
                scalarNode('login_url')->
                    defaultValue('/Security/login')->
                end()->
                scalarNode('ajax_timeout')->
                    defaultValue(5000)->
                end()->
                arrayNode('ajax_steps')->
                    defaultValue(array(
                        'go to',
                        'follow',
                        'press',
                        'click',
                        'submit'
                    ))->
                    prototype('scalar')->
                end()->
            end()->
        end();
    }
1255600
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('m6web_cassandra');

        $rootNode
            ->children()
                ->booleanNode('dispatch_events')->defaultValue(true)->end()
                ->arrayNode('clients')
                    ->isRequired()
                    ->requiresAtLeastOneElement()
                    ->useAttributeAsKey('id', false)
                    ->prototype('array')
                        ->beforeNormalization()
                            ->ifTrue(function ($v) {
                                return (array_key_exists('load_balancing', $v) &&   $v['load_balancing'] === 'dc-aware-round-robin') && !array_key_exists('dc_options', $v);
                            })
                            ->thenInvalid('"dc-aware-round-robin" load balancing option require a "dc_options" entry in your configuration')
                        ->end()
                        ->children()
                            ->booleanNode('persistent_sessions')->defaultValue(true)->end()
                            ->scalarNode('keyspace')->defaultValue(null)->end()
                            ->scalarNode('load_balancing')
                                ->defaultValue('round-robin')
                                ->validate()
                                    ->ifNotInArray(['round-robin', 'dc-aware-round-robin'])
                                    ->thenInvalid('Invalid load balancing value "%s"')
                                ->end()
                            ->end()
                            ->arrayNode('dc_options')
                                ->children()
                                    ->scalarNode('local_dc_name')->isRequired()->cannotBeEmpty()->end()
                                    ->integerNode('host_per_remote_dc')->isRequired()->min(1)->end()
                                    ->booleanNode('remote_dc_for_local_consistency')->isRequired()->end()
                                ->end()
                            ->end()
                            ->scalarNode('default_consistency')
                                ->defaultValue('one')
                                ->validate()
                                    ->ifNotInArray(['one', 'any', 'two', 'three', 'quorum', 'all', 'local_quorum', 'each_quorum', 'serial', 'local_serial', 'local_one'])
                                    ->thenInvalid('Invalid consistency value "%s"')
                                ->end()
                            ->end()
                            ->scalarNode('default_pagesize')
                                ->defaultValue(10000)
                                ->validate()
                                    ->ifTrue(function ($v) {
                                        return !is_null($v) && (!is_int($v) || $v <= 0);
                                    })
                                    ->thenInvalid('Expected positive integer or null value')
                                ->end()
                            ->end()
                            ->arrayNode('contact_endpoints')->isRequired()->requiresAtLeastOneElement()->performNoDeepMerging()
                                ->prototype('scalar')->end()
                            ->end()
                            ->arrayNode('contact_whitelist')
                                ->addDefaultsIfNotSet()
                                ->children()
                                    ->arrayNode('dc')->defaultValue([])->prototype('scalar')->end()->end()
                                    ->arrayNode('host')->defaultValue([])->prototype('scalar')->end()->end()
                                ->end()
                            ->end()
                            ->arrayNode('contact_blacklist')
                                ->addDefaultsIfNotSet()
                                ->children()
                                    ->arrayNode('dc')->defaultValue([])->prototype('scalar')->end()->end()
                                    ->arrayNode('host')->defaultValue([])->prototype('scalar')->end()->end()
                                ->end()
                            ->end()
                            ->integerNode('port_endpoint')->defaultValue(9042)->end()
                            ->booleanNode('token_aware_routing')->defaultValue(true)->end()
                            ->arrayNode('credentials')
                                ->children()
                                    ->scalarNode('username')->isRequired()->cannotBeEmpty()->end()
                                    ->scalarNode('password')->isRequired()->cannotBeEmpty()->end()
                                ->end()
                            ->end()
                            ->booleanNode('ssl')->defaultValue(false)->end()
                            ->integerNode('default_timeout')->min(1)->end()
                            ->arrayNode('timeout')
                                ->addDefaultsIfNotSet()
                                ->children()
                                    ->integerNode('connect')->isRequired()->defaultValue(5)->min(1)->end()
                                    ->integerNode('request')->isRequired()->defaultValue(5)->min(1)->end()
                                ->end()
                            ->end()
                            ->arrayNode('retries')
                                ->addDefaultsIfNotSet()
                                ->children()
                                    ->integerNode('sync_requests')->defaultValue(0)->end()
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
            ->end();

        return $treeBuilder;
    }
164795
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('ezpublish');

        $this->addRepositoriesSection($rootNode);
        $this->addSiteaccessSection($rootNode);
        $this->addImageMagickSection($rootNode);
        $this->addHttpCacheSection($rootNode);
        $this->addPageSection($rootNode);
        $this->addRouterSection($rootNode);
        $this->addRichTextSection($rootNode);
        $this->addUrlAliasSection($rootNode);
        $this->addImagePlaceholderSection($rootNode);

        // Delegate SiteAccess config to configuration parsers
        $this->mainConfigParser->addSemanticConfig($this->generateScopeBaseNode($rootNode));

        return $treeBuilder;
    }
775874
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root('nucleus_core');

        $rootNode
            ->fixXmlConfig('annotation_container_generator')
            ->children()
                ->arrayNode('annotation_container_generators')
                    ->prototype('array')
                        ->children()
                            ->scalarNode('annotationClass')
                                ->isRequired()
                                ->validate()
                                ->ifTrue(function($value) {return !class_exists($value,true);})
                                    ->thenInvalid('Class not found annotation [%s]')
                                ->end()
                            ->end()
                            ->scalarNode('generatorClass')
                                ->isRequired()
                                ->validate()
                                ->ifTrue(function($value) {return !class_exists($value,true);})
                                    ->thenInvalid('Class not found as annotation container generator [%s]')
                                ->ifTrue(function($value) {
                                        $reflection = new \ReflectionClass($value);
                                        return !$reflection->isSubclassOf(
                                            '\Nucleus\Bundle\CoreBundle\DependencyInjection\IAnnotationContainerGenerator'
                                        );
                                    })
                                    ->thenInvalid('Class [%s] must implement [Nucleus\Bundle\CoreBundle\DependencyInjection\IAnnotationContainerGenerator]')
                                ->end()
                            ->end()
                         ->end()
                    ->end()
                ->end()
            ->end();

        return $treeBuilder;
    }
1077024
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root($this->alias);
        $rootNode
            ->validate()
                ->ifTrue(function($v) {
                    return !empty($v['enabled']) && empty($v['pools']);
                })
                ->thenInvalid('The child node "pools" at path "'.$this->alias.'" must be configured.')
            ->end()
            ->children()
                ->scalarNode('enabled')
                    ->defaultTrue()
                ->end()
                ->arrayNode('listeners')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->booleanNode('clear_entity_managers')->defaultTrue()->end()
                        ->booleanNode('clear_logs')->defaultTrue()->end()
                    ->end()
                ->end()
                ->arrayNode('pools')
                    ->requiresAtLeastOneElement()
                    ->validate()
                    ->ifTrue(function (array $value) {
                            return !array_key_exists('default', $value);
                    })
                        ->thenInvalid('Default service not present')
                    ->end()
                    ->prototype('array')
                        ->children()
                            ->scalarNode('send_driver')
                                ->isRequired()
                                ->validate()
                                ->ifTrue(function ($value) {
                                        return !preg_match('/^@[a-zA-Z\.\-0-9\_]+$/', $value);
                                })
                                    ->thenInvalid('Malformed service ID "%s"')
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('routes')
                    ->normalizeKeys(false)
                    ->prototype('scalar')
                        ->isRequired()
                    ->end()
                ->end()
            ->end()
            ;

        return $treeBuilder;
    }
342739
public function getConfigTreeBuilder()
    {
        $treeBuilder = new TreeBuilder();
        $rootNode = $treeBuilder->root($this->alias);

        $rootNode
            ->children()
                ->arrayNode('services')
                    ->children()
                        ->arrayNode('blob')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('table')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('queue')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('service_bus')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                        ->arrayNode('management')
                            ->useAttributeAsKey('name')
                            ->prototype('scalar')->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('deployment')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->arrayNode('roleFiles')
                            ->children()
                                ->scalarNode('ignoreVCS')
                                    ->defaultValue(true)
                                ->end()
                                ->variableNode('include')
                                    ->defaultValue(array())
                                ->end()
                                ->variableNode('exclude')
                                    ->defaultValue(array())
                                ->end()
                                ->variableNode('ignorePatterns')
                                    ->defaultValue(array())
                                ->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('streams')
                    ->useAttributeAsKey('name')
                    ->prototype('scalar')->end()
                ->end()
                ->arrayNode('key_value_store')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('connection_name')
                            ->defaultValue('')
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('session')
                    ->children()
                        ->scalarNode('type')
                            ->validate()
                                ->ifNotInArray(array('pdo'))
                                ->thenInvalid('Only pdo allowed here.')
                            ->end()
                        ->end()
                        ->arrayNode('database')
                            ->children()
                                ->scalarNode('host')->isRequired()->end()
                                ->scalarNode('username')->isRequired()->end()
                                ->scalarNode('password')->isRequired()->end()
                                ->scalarNode('database')->isRequired()->end()
                                ->scalarNode('table')->defaultValue('azure_sessions')->end()
                            ->end()
                        ->end()
                    ->end()
                ->end()
                ->arrayNode('assets')
                    ->addDefaultsIfNotSet()
                    ->children()
                        ->scalarNode('type')
                            ->defaultValue('local')
                            ->validate()
                                ->ifNotInArray(array(
                                    'local',
                                    'blob',
                                    'service'
                                ))
                                ->thenInvalid('Assets can either deployed on local "webrole" or in "blob" storage.')
                            ->end()
                        ->end()
                        ->scalarNode('id')->end()
                        ->scalarNode('connection_name')->end()
                    ->end()
                ->end()
                ->arrayNode('federations')
                    ->useAttributeAsKey('name')
                    ->prototype('array')
                    ->children()
                        ->scalarNode('federationName')->isRequired()->end()
                        ->scalarNode('distributionKey')->isRequired()->end()
                        ->scalarNode('distributionType')->isRequired()->end()
                        ->scalarNode('filteringEnabled')->defaultValue(false)->end()
                    ->end()
                ->end()
            ->end()
        ->end();

        return $treeBuilder;
    }
1349291
public function getConfigTreeBuilder()
    {
        $builder = new TreeBuilder();

        $node = $builder->root('rocketeer')->children();
        foreach ($this->definitions as $definition) {
            /** @var AbstractDefinition $definition */
            $definition = new $definition();
            $definition->setValues($this->values);
            $definition = $definition->getConfigTreeBuilder();

            $node = $node->append($definition);
        }
        $node = $node->end();

        return $builder;
    }