class NodeBuilder implements NodeParentInterface

This class provides a fluent interface for building a node.

Properties

protected $parent
protected $nodeMapping

Methods

__construct()

No description

$this
setParent(ParentNodeDefinitionInterface $parent = null)

Set the parent node.

arrayNode(string $name)

Creates a child array node.

scalarNode(string $name)

Creates a child scalar node.

booleanNode(string $name)

Creates a child Boolean node.

integerNode(string $name)

Creates a child integer node.

floatNode(string $name)

Creates a child float node.

enumNode(string $name)

Creates a child EnumNode.

variableNode(string $name)

Creates a child variable node.

NodeDefinition&ParentNodeDefinitionInterface
end()

Returns the parent node.

node(string|null $name, string $type)

Creates a child node.

$this
append(NodeDefinition $node)

Appends a node definition.

$this
setNodeClass(string $type, string $class)

Adds or overrides a node Type.

string
getNodeClass(string $type)

Returns the class name of the node definition.

Details

__construct()

$this setParent(ParentNodeDefinitionInterface $parent = null)

Set the parent node.

Parameters

ParentNodeDefinitionInterface $parent

Return Value

$this

ArrayNodeDefinition arrayNode(string $name)

Creates a child array node.

Parameters

string $name The name of the node

Return Value

ArrayNodeDefinition The child node

ScalarNodeDefinition scalarNode(string $name)

Creates a child scalar node.

Parameters

string $name The name of the node

Return Value

ScalarNodeDefinition The child node

BooleanNodeDefinition booleanNode(string $name)

Creates a child Boolean node.

Parameters

string $name The name of the node

Return Value

BooleanNodeDefinition The child node

IntegerNodeDefinition integerNode(string $name)

Creates a child integer node.

Parameters

string $name The name of the node

Return Value

IntegerNodeDefinition The child node

FloatNodeDefinition floatNode(string $name)

Creates a child float node.

Parameters

string $name The name of the node

Return Value

FloatNodeDefinition The child node

EnumNodeDefinition enumNode(string $name)

Creates a child EnumNode.

Parameters

string $name

Return Value

EnumNodeDefinition

VariableNodeDefinition variableNode(string $name)

Creates a child variable node.

Parameters

string $name The name of the node

Return Value

VariableNodeDefinition The builder of the child node

NodeDefinition&ParentNodeDefinitionInterface end()

Returns the parent node.

Return Value

NodeDefinition&ParentNodeDefinitionInterface The parent node

NodeDefinition node(string|null $name, string $type)

Creates a child node.

Parameters

string|null $name The name of the node
string $type The type of the node

Return Value

NodeDefinition The child node

Exceptions

RuntimeException When the node type is not registered
RuntimeException When the node class is not found

$this append(NodeDefinition $node)

Appends a node definition.

Usage:

$node = new ArrayNodeDefinition('name')
    ->children()
        ->scalarNode('foo')->end()
        ->scalarNode('baz')->end()
        ->append($this->getBarNodeDefinition())
    ->end()
;

Parameters

NodeDefinition $node

Return Value

$this

$this setNodeClass(string $type, string $class)

Adds or overrides a node Type.

Parameters

string $type The name of the type
string $class The fully qualified name the node definition class

Return Value

$this

protected string getNodeClass(string $type)

Returns the class name of the node definition.

Parameters

string $type The node type

Return Value

string The node definition class name

Exceptions

RuntimeException When the node type is not registered
RuntimeException When the node class is not found