Completed
Push — master ( 373aee...88365a )
by Dominik
02:29
created

AbstractNode::getDefault()

Size

Total Lines 1

Duplication

Lines 0
Ratio 0 %
Metric Value
dl 0
loc 1
ccs 0
cts 0
cp 0
nc 1
1
<?php
2
3
namespace Saxulum\ElasticSearchQueryBuilder\Node;
4
5
abstract class AbstractNode
6
{
7
    /**
8
     * @var AbstractParentNode
9
     */
10
    protected $parent;
11
12
    /**
13
     * @param AbstractParentNode $parent
14
     *
15
     * @throws \InvalidArgumentException
16
     */
17 13
    public function setParent(AbstractParentNode $parent)
18
    {
19 13
        if (null !== $this->parent) {
20 2
            throw new \InvalidArgumentException('Node already got a parent!');
21
        }
22
23 13
        $this->parent = $parent;
24 13
    }
25
26
    /**
27
     * @return AbstractParentNode
28
     */
29 4
    public function getParent()
30
    {
31 4
        return $this->parent;
32
    }
33
34
    /**
35
     * @return \stdClass|array|null
36
     */
37
    abstract public function getDefault();
38
39
    /**
40
     * @return \stdClass|array|string|float|int|bool|null
41
     */
42
    abstract public function serialize();
43
}
44