class NodeDefinition implements NodeParentInterface

This class provides a fluent interface for defining a node.

Methods

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

No description

$this
setParent(NodeParentInterface $parent)

Sets the parent node.

$this
info(string $info)

Sets info message.

$this
example(string|array $example)

Sets example configuration.

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

Sets an attribute on the node.

getNode(bool $forceRootNode = false)

Creates the node.

$this
defaultValue(mixed $value)

Sets the default value.

$this
isRequired()

Sets the node as required.

$this
treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

$this
treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

$this
treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

$this
defaultNull()

Sets null as the default value.

$this
defaultTrue()

Sets true as the default value.

$this
defaultFalse()

Sets false as the default value.

beforeNormalization()

Sets an expression to run before the normalization.

$this
cannotBeEmpty()

Denies the node value being empty.

validate()

Sets an expression to run for the validation.

$this
cannotBeOverwritten(bool $deny = true)

Sets whether the node can be overwritten.

Details

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

Parameters

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

at line line 53
$this setParent(NodeParentInterface $parent)

Sets the parent node.

Parameters

NodeParentInterface $parent

Return Value

$this

at line line 67
$this info(string $info)

Sets info message.

Parameters

string $info The info text

Return Value

$this

at line line 79
$this example(string|array $example)

Sets example configuration.

Parameters

string|array $example

Return Value

$this

at line line 92
$this attribute(string $key, mixed $value)

Sets an attribute on the node.

Parameters

string $key
mixed $value

Return Value

$this

at line line 116
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 143
$this defaultValue(mixed $value)

Sets the default value.

Parameters

mixed $value The default value

Return Value

$this

at line line 156
$this isRequired()

Sets the node as required.

Return Value

$this

at line line 170
$this treatNullLike(mixed $value)

Sets the equivalent value used when the node contains null.

Parameters

mixed $value

Return Value

$this

at line line 184
$this treatTrueLike(mixed $value)

Sets the equivalent value used when the node contains true.

Parameters

mixed $value

Return Value

$this

at line line 198
$this treatFalseLike(mixed $value)

Sets the equivalent value used when the node contains false.

Parameters

mixed $value

Return Value

$this

at line line 210
$this defaultNull()

Sets null as the default value.

Return Value

$this

at line line 220
$this defaultTrue()

Sets true as the default value.

Return Value

$this

at line line 230
$this defaultFalse()

Sets false as the default value.

Return Value

$this

at line line 240
ExprBuilder beforeNormalization()

Sets an expression to run before the normalization.

Return Value

ExprBuilder

at line line 250
$this cannotBeEmpty()

Denies the node value being empty.

Return Value

$this

at line line 266
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 278
$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