Passed
Push — master ( 90d129...206775 )
by SignpostMarv
03:53
created

QualitativeValue::GetNonEqual()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 12
ccs 0
cts 6
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
* @author SignpostMarv
4
*/
5
declare(strict_types=1);
6
7
namespace SignpostMarv\DaftObject\SchemaOrg\Intangible\Enumeration;
8
9
use SignpostMarv\DaftObject\SchemaOrg\DaftObjectTraits\TraitAdditionalProperty;
10
use SignpostMarv\DaftObject\SchemaOrg\DaftObjectTraits\TraitValueReference;
11
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Enumeration as Base;
12
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue;
13
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\PropertyValue;
14
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue;
15
use SignpostMarv\DaftObject\SchemaOrg\TypeUtilities;
16
17
/**
18
* @property array<int, PropertyValue> $additionalProperty
19
* @property array<int, QualitativeValue> $equal
20
* @property array<int, QualitativeValue> $greater
21
* @property array<int, QualitativeValue> $greaterOrEqual
22
* @property array<int, QualitativeValue> $lesser
23
* @property array<int, QualitativeValue> $lesserOrEqual
24
* @property array<int, QualitativeValue> $nonEqual
25
* @property array<int, QualitativeValue|Base|PropertyValue|QuantitativeValue|StructuredValue> $valueReference
26
*/
27
class QualitativeValue extends Base
28
{
29
    use TraitAdditionalProperty;
30
    use TraitValueReference;
31
32
    const SCHEMA_ORG_TYPE = 'QualitativeValue';
33
34
    const PROPERTIES = [
35
        'additionalProperty',
36
        'equal',
37
        'greater',
38
        'greaterOrEqual',
39
        'lesser',
40
        'lesserOrEqual',
41
        'nonEqual',
42
        'valueReference',
43
    ];
44
45
    const PROPERTIES_WITH_MULTI_TYPED_ARRAYS = [
46
        'additionalProperty' => TypeUtilities::MULTI_TYPE_DICT__additionalProperty,
47
        'equal' => [
48
            QualitativeValue::class,
49
        ],
50
        'greater' => [
51
            QualitativeValue::class,
52
        ],
53
        'greaterOrEqual' => [
54
            QualitativeValue::class,
55
        ],
56
        'lesser' => [
57
            QualitativeValue::class,
58
        ],
59
        'lesserOrEqual' => [
60
            QualitativeValue::class,
61
        ],
62
        'nonEqual' => [
63
            QualitativeValue::class,
64
        ],
65
        'valueReference' => TypeUtilities::MULTI_TYPE_DICT__valueReference,
66
    ];
67
68
    /**
69
    * @return array<int, QualitativeValue>
70
    */
71
    public function GetEqual() : array
72
    {
73
        /**
74
        * @var array<int, QualitativeValue>
75
        */
76
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
77
            'equal',
78
            $this->RetrievePropertyValueFromData('equal'),
79
            static::class
80
        );
81
82
        return $out;
83
    }
84
85
    /**
86
    * @param array<int, QualitativeValue> $value
87
    */
88
    public function SetEqual(array $value) : void
89
    {
90
        $this->NudgePropertyValue('equal', $value, true);
91
    }
92
93
    /**
94
    * @return array<int, QualitativeValue>
95
    */
96
    public function GetGreater() : array
97
    {
98
        /**
99
        * @var array<int, QualitativeValue>
100
        */
101
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
102
            'greater',
103
            $this->RetrievePropertyValueFromData('greater'),
104
            static::class
105
        );
106
107
        return $out;
108
    }
109
110
    /**
111
    * @param array<int, QualitativeValue> $value
112
    */
113
    public function SetGreater(array $value) : void
114
    {
115
        $this->NudgePropertyValue('greater', $value, true);
116
    }
117
118
    /**
119
    * @return array<int, QualitativeValue>
120
    */
121
    public function GetGreaterOrEqual() : array
122
    {
123
        /**
124
        * @var array<int, QualitativeValue>
125
        */
126
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
127
            'greaterOrEqual',
128
            $this->RetrievePropertyValueFromData('greaterOrEqual'),
129
            static::class
130
        );
131
132
        return $out;
133
    }
134
135
    /**
136
    * @param array<int, QualitativeValue> $value
137
    */
138
    public function SetGreaterOrEqual(array $value) : void
139
    {
140
        $this->NudgePropertyValue('greaterOrEqual', $value, true);
141
    }
142
143
    /**
144
    * @return array<int, QualitativeValue>
145
    */
146
    public function GetLesser() : array
147
    {
148
        /**
149
        * @var array<int, QualitativeValue>
150
        */
151
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
152
            'lesser',
153
            $this->RetrievePropertyValueFromData('lesser'),
154
            static::class
155
        );
156
157
        return $out;
158
    }
159
160
    /**
161
    * @param array<int, QualitativeValue> $value
162
    */
163
    public function SetLesser(array $value) : void
164
    {
165
        $this->NudgePropertyValue('lesser', $value, true);
166
    }
167
168
    /**
169
    * @return array<int, QualitativeValue>
170
    */
171
    public function GetLesserOrEqual() : array
172
    {
173
        /**
174
        * @var array<int, QualitativeValue>
175
        */
176
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
177
            'lesserOrEqual',
178
            $this->RetrievePropertyValueFromData('lesserOrEqual'),
179
            static::class
180
        );
181
182
        return $out;
183
    }
184
185
    /**
186
    * @param array<int, QualitativeValue> $value
187
    */
188
    public function SetLesserOrEqual(array $value) : void
189
    {
190
        $this->NudgePropertyValue('lesserOrEqual', $value, true);
191
    }
192
193
    /**
194
    * @return array<int, QualitativeValue>
195
    */
196
    public function GetNonEqual() : array
197
    {
198
        /**
199
        * @var array<int, QualitativeValue>
200
        */
201
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
202
            'nonEqual',
203
            $this->RetrievePropertyValueFromData('nonEqual'),
204
            static::class
205
        );
206
207
        return $out;
208
    }
209
210
    /**
211
    * @param array<int, QualitativeValue> $value
212
    */
213
    public function SetNonEqual(array $value) : void
214
    {
215
        $this->NudgePropertyValue('nonEqual', $value, true);
216
    }
217
}
218