VariableNodeDefinition

class VariableNodeDefinition extends NodeDefinition

This class provides a fluent interface for defining a node.

Methods

__construct(string $name, NodeParentInterface $parent = null)

Constructor.

from NodeDefinition
$this setParent(NodeParentInterface $parent)

Sets the parent node.

from NodeDefinition
$this info(string $info)

Sets info message.

from NodeDefinition
$this example(string|array $example)

Sets example configuration.

from NodeDefinition
$this attribute(string $key, mixed $value)

Sets an attribute on the node.

from NodeDefinition
NodeParentInterface|NodeBuilder|NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition|null end()

Returns the parent node.

from NodeDefinition
NodeInterface getNode(bool $forceRootNode = false)

Creates the node.

from NodeDefinition
$this defaultValue(mixed $value)

Sets the default value.

from NodeDefinition
$this isRequired()

Sets the node as required.

from NodeDefinition
$this setDeprecated(string $message = 'The child node "%node%" at path "%path%" is deprecated.')

Sets the node as deprecated.

from NodeDefinition
$this treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

from NodeDefinition
$this treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

from NodeDefinition
$this treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

from NodeDefinition
$this defaultNull()

Sets null as the default value.

from NodeDefinition
$this defaultTrue()

Sets true as the default value.

from NodeDefinition
$this defaultFalse()

Sets false as the default value.

from NodeDefinition
ExprBuilder beforeNormalization()

Sets an expression to run before the normalization.

from NodeDefinition
$this cannotBeEmpty()

Denies the node value being empty.

from NodeDefinition
ExprBuilder validate()

Sets an expression to run for the validation.

from NodeDefinition
$this cannotBeOverwritten(bool $deny = true)

Sets whether the node can be overwritten.

from NodeDefinition

Details

__construct(string $name, NodeParentInterface $parent = null)

Constructor.

Parameters

string $name The name of the node
NodeParentInterface $parent The parent

$this setParent(NodeParentInterface $parent)

Sets the parent node.

Parameters

NodeParentInterface $parent The parent

Return Value

$this

$this info(string $info)

Sets info message.

Parameters

string $info The info text

Return Value

$this

$this example(string|array $example)

Sets example configuration.

Parameters

string|array $example

Return Value

$this

$this attribute(string $key, mixed $value)

Sets an attribute on the node.

Parameters

string $key
mixed $value

Return Value

$this

NodeParentInterface|NodeBuilder|NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition|null end()

Returns the parent node.

Return Value

NodeParentInterface|NodeBuilder|NodeDefinition|ArrayNodeDefinition|VariableNodeDefinition|null The builder of the parent node

NodeInterface getNode(bool $forceRootNode = false)

Creates the node.

Parameters

bool $forceRootNode Whether to force this node as the root node

Return Value

NodeInterface

$this defaultValue(mixed $value)

Sets the default value.

Parameters

mixed $value The default value

Return Value

$this

$this isRequired()

Sets the node as required.

Return Value

$this

$this setDeprecated(string $message = 'The child node "%node%" at path "%path%" is deprecated.')

Sets the node as deprecated.

You can use %node% and %path% placeholders in your message to display, respectively, the node name and its complete path.

Parameters

string $message Deprecation message

Return Value

$this

$this treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

Parameters

mixed $value

Return Value

$this

$this treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

Parameters

mixed $value

Return Value

$this

$this treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

Parameters

mixed $value

Return Value

$this

$this defaultNull()

Sets null as the default value.

Return Value

$this

$this defaultTrue()

Sets true as the default value.

Return Value

$this

$this defaultFalse()

Sets false as the default value.

Return Value

$this

ExprBuilder beforeNormalization()

Sets an expression to run before the normalization.

Return Value

ExprBuilder

$this cannotBeEmpty()

Denies the node value being empty.

Return Value

$this

ExprBuilder validate()

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 Value

ExprBuilder

$this cannotBeOverwritten(bool $deny = true)

Sets whether the node can be overwritten.

Parameters

bool $deny Whether the overwriting is forbidden or not

Return Value

$this