CollectionDoc::setMinItem()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 1
rs 10
1
<?php
2
namespace Yoanm\JsonRpcServerDoc\Domain\Model\Type;
3
4
/**
5
 * Class CollectionDoc
6
 */
7
class CollectionDoc extends TypeDoc
8
{
9
    /*** Validation ***/
10
    /** @var TypeDoc[] */
11
    private $siblingList = [];
12
    /** @var null|int */
13
    private $minItem = null;
14
    /** @var null|int */
15
    private $maxItem = null;
16
    /** @var bool */
17
    private $allowExtraSibling = false;
18
    /** @var bool */
19
    private $allowMissingSibling = false;
20
21
    /**
22
     * @param TypeDoc $doc
23
     *
24
     * @return self
25
     */
26 4
    public function addSibling(TypeDoc $doc) : self
27
    {
28 4
        $this->siblingList[] = $doc;
29
30 4
        return $this;
31
    }
32
33
    /**
34
     * @param int $minItem
35
     *
36
     * @return self
37
     */
38 4
    public function setMinItem(int $minItem) : self
39
    {
40 4
        $this->minItem = $minItem;
41
42 4
        return $this;
43
    }
44
45
    /**
46
     * @param int $maxItem
47
     *
48
     * @return self
49
     */
50 4
    public function setMaxItem(int $maxItem) : self
51
    {
52 4
        $this->maxItem = $maxItem;
53
54 4
        return $this;
55
    }
56
57
    /**
58
     * @param bool $allowExtraSibling
59
     *
60
     * @return self
61
     */
62 4
    public function setAllowExtraSibling(bool $allowExtraSibling) : self
63
    {
64 4
        $this->allowExtraSibling = $allowExtraSibling;
65
66 4
        return $this;
67
    }
68
69
    /**
70
     * @param bool $allowMissingSibling
71
     *
72
     * @return self
73
     */
74 4
    public function setAllowMissingSibling(bool $allowMissingSibling) : self
75
    {
76 4
        $this->allowMissingSibling = $allowMissingSibling;
77
78 4
        return $this;
79
    }
80
81
    /**
82
     * @return null|int
83
     */
84 10
    public function getMinItem() : ?int
85
    {
86 10
        return $this->minItem;
87
    }
88
89
    /**
90
     * @return null|int
91
     */
92 10
    public function getMaxItem() : ?int
93
    {
94 10
        return $this->maxItem;
95
    }
96
97
    /**
98
     * @return bool
99
     */
100 10
    public function isAllowExtraSibling() : bool
101
    {
102 10
        return $this->allowExtraSibling;
103
    }
104
105
    /**
106
     * @return bool
107
     */
108 10
    public function isAllowMissingSibling() : bool
109
    {
110 10
        return $this->allowMissingSibling;
111
    }
112
113
    /**
114
     * @return TypeDoc[]
115
     */
116 10
    public function getSiblingList() : array
117
    {
118 10
        return $this->siblingList;
119
    }
120
}
121