class NodeDefinition implements NodeParentInterface

This class provides a fluent interface for defining a node.

Methods

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

Constructor.

setParent(NodeParentInterface $parent)

Sets the parent node.

info(string $info)

Sets info message.

example(string|array $example)

Sets example configuration.

attribute(string $key, mixed $value)

Sets an attribute on the node.

end()

Returns the parent node.

getNode(bool $forceRootNode = false)

Creates the node.

defaultValue(mixed $value)

Sets the default value.

isRequired()

Sets the node as required.

treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

defaultNull()

Sets null as the default value.

defaultTrue()

Sets true as the default value.

defaultFalse()

Sets false as the default value.

beforeNormalization()

Sets an expression to run before the normalization.

cannotBeEmpty()

Denies the node value being empty.

validate()

Sets an expression to run for the validation.

cannotBeOverwritten(bool $deny = true)

Sets whether the node can be overwritten.

Details

at line line 48
__construct(string $name, NodeParentInterface $parent = null)

Constructor.

Parameters

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

at line line 61
NodeDefinition|$this setParent(NodeParentInterface $parent)

Sets the parent node.

Parameters

NodeParentInterface $parent The parent

Return Value

NodeDefinition|$this

at line line 75
NodeDefinition|$this info(string $info)

Sets info message.

Parameters

string $info The info text

Return Value

NodeDefinition|$this

at line line 87
NodeDefinition|$this example(string|array $example)

Sets example configuration.

Parameters

string|array $example

Return Value

NodeDefinition|$this

at line line 100
NodeDefinition|$this attribute(string $key, mixed $value)

Sets an attribute on the node.

Parameters

string $key
mixed $value

Return Value

NodeDefinition|$this

at line line 112
NodeParentInterface|NodeBuilder|NodeDefinition|null end()

Returns the parent node.

Return Value

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

at line line 124
NodeInterface getNode(bool $forceRootNode = false)

Creates the node.

Parameters

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

Return Value

NodeInterface

at line line 151
NodeDefinition|$this defaultValue(mixed $value)

Sets the default value.

Parameters

mixed $value The default value

Return Value

NodeDefinition|$this

at line line 164
NodeDefinition|$this isRequired()

Sets the node as required.

Return Value

NodeDefinition|$this

at line line 178
NodeDefinition|$this treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

Parameters

mixed $value

Return Value

NodeDefinition|$this

at line line 192
NodeDefinition|$this treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

Parameters

mixed $value

Return Value

NodeDefinition|$this

at line line 206
NodeDefinition|$this treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

Parameters

mixed $value

Return Value

NodeDefinition|$this

at line line 218
NodeDefinition|$this defaultNull()

Sets null as the default value.

Return Value

NodeDefinition|$this

at line line 228
NodeDefinition|$this defaultTrue()

Sets true as the default value.

Return Value

NodeDefinition|$this

at line line 238
NodeDefinition|$this defaultFalse()

Sets false as the default value.

Return Value

NodeDefinition|$this

at line line 248
ExprBuilder beforeNormalization()

Sets an expression to run before the normalization.

Return Value

ExprBuilder

at line line 258
NodeDefinition|$this cannotBeEmpty()

Denies the node value being empty.

Return Value

NodeDefinition|$this

at line line 274
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

at line line 286
NodeDefinition|$this cannotBeOverwritten(bool $deny = true)

Sets whether the node can be overwritten.

Parameters

bool $deny Whether the overwriting is forbidden or not

Return Value

NodeDefinition|$this