QualitativeValue::SetNonEqual()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
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 7
    public function GetEqual() : array
72
    {
73
        /**
74
        * @var array<int, QualitativeValue>
75
        */
76 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
77 7
            'equal',
78 7
            $this->RetrievePropertyValueFromData('equal'),
79 7
            static::class
80
        );
81
82 7
        return $out;
83
    }
84
85
    /**
86
    * @param array<int, QualitativeValue> $value
87
    */
88 1
    public function SetEqual(array $value) : void
89
    {
90 1
        $this->NudgePropertyValue('equal', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
91 1
    }
92
93
    /**
94
    * @return array<int, QualitativeValue>
95
    */
96 7
    public function GetGreater() : array
97
    {
98
        /**
99
        * @var array<int, QualitativeValue>
100
        */
101 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
102 7
            'greater',
103 7
            $this->RetrievePropertyValueFromData('greater'),
104 7
            static::class
105
        );
106
107 7
        return $out;
108
    }
109
110
    /**
111
    * @param array<int, QualitativeValue> $value
112
    */
113 1
    public function SetGreater(array $value) : void
114
    {
115 1
        $this->NudgePropertyValue('greater', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
116 1
    }
117
118
    /**
119
    * @return array<int, QualitativeValue>
120
    */
121 7
    public function GetGreaterOrEqual() : array
122
    {
123
        /**
124
        * @var array<int, QualitativeValue>
125
        */
126 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
127 7
            'greaterOrEqual',
128 7
            $this->RetrievePropertyValueFromData('greaterOrEqual'),
129 7
            static::class
130
        );
131
132 7
        return $out;
133
    }
134
135
    /**
136
    * @param array<int, QualitativeValue> $value
137
    */
138 1
    public function SetGreaterOrEqual(array $value) : void
139
    {
140 1
        $this->NudgePropertyValue('greaterOrEqual', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
141 1
    }
142
143
    /**
144
    * @return array<int, QualitativeValue>
145
    */
146 7
    public function GetLesser() : array
147
    {
148
        /**
149
        * @var array<int, QualitativeValue>
150
        */
151 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
152 7
            'lesser',
153 7
            $this->RetrievePropertyValueFromData('lesser'),
154 7
            static::class
155
        );
156
157 7
        return $out;
158
    }
159
160
    /**
161
    * @param array<int, QualitativeValue> $value
162
    */
163 1
    public function SetLesser(array $value) : void
164
    {
165 1
        $this->NudgePropertyValue('lesser', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
166 1
    }
167
168
    /**
169
    * @return array<int, QualitativeValue>
170
    */
171 7
    public function GetLesserOrEqual() : array
172
    {
173
        /**
174
        * @var array<int, QualitativeValue>
175
        */
176 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
177 7
            'lesserOrEqual',
178 7
            $this->RetrievePropertyValueFromData('lesserOrEqual'),
179 7
            static::class
180
        );
181
182 7
        return $out;
183
    }
184
185
    /**
186
    * @param array<int, QualitativeValue> $value
187
    */
188 1
    public function SetLesserOrEqual(array $value) : void
189
    {
190 1
        $this->NudgePropertyValue('lesserOrEqual', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
191 1
    }
192
193
    /**
194
    * @return array<int, QualitativeValue>
195
    */
196 7
    public function GetNonEqual() : array
197
    {
198
        /**
199
        * @var array<int, QualitativeValue>
200
        */
201 7
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
202 7
            'nonEqual',
203 7
            $this->RetrievePropertyValueFromData('nonEqual'),
204 7
            static::class
205
        );
206
207 7
        return $out;
208
    }
209
210
    /**
211
    * @param array<int, QualitativeValue> $value
212
    */
213 1
    public function SetNonEqual(array $value) : void
214
    {
215 1
        $this->NudgePropertyValue('nonEqual', $value, self::BOOL_DEFAULT_AUTOTRIMSTRINGS);
216 1
    }
217
}
218