Passed
Push — master ( 85dfa5...b7b55a )
by SignpostMarv
04:48
created

DataFeedItem::GetDateDeleted()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 12
ccs 6
cts 6
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;
8
9
use SignpostMarv\DaftObject\SchemaOrg\DataTypes;
10
use SignpostMarv\DaftObject\SchemaOrg\Intangible as Base;
11
use SignpostMarv\DaftObject\SchemaOrg\Thing;
12
use SignpostMarv\DaftObject\SchemaOrg\TypeUtilities;
13
14
class DataFeedItem extends Base
15
{
16
    const SCHEMA_ORG_TYPE = 'DataFeedItem';
17
18
    const PROPERTIES = [
19
        'dateCreated',
20
        'dateDeleted',
21
        'dateModified',
22
        'item',
23
    ];
24
25
    /**
26
    * @return array<int, DataTypes\Date|DataTypes\DateTime>
27
    */
28 3
    public function GetDateCreated() : array
29
    {
30
        /**
31
        * @var array<int, DataTypes\Date|DataTypes\DateTime>
32
        */
33 3
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
34 3
            'dateCreated',
35 3
            $this->RetrievePropertyValueFromData('dateCreated'),
36 3
            static::class
37
        );
38
39 3
        return $out;
40
    }
41
42
    /**
43
    * @param array<int, DataTypes\Date|DataTypes\DateTime> $value
44
    */
45 1
    public function SetDateCreated(array $value) : void
46
    {
47 1
        $this->NudgePropertyWithUniqueValuesOfThings(
48 1
            'dateCreated',
49 1
            __METHOD__,
50 1
            $value,
51 1
            DataTypes\Date::class,
52 1
            DataTypes\DateTime::class
53
        );
54 1
    }
55
56
    /**
57
    * @return array<int, DataTypes\Date|DataTypes\DateTime>
58
    */
59 3
    public function GetDateDeleted() : array
60
    {
61
        /**
62
        * @var array<int, DataTypes\Date|DataTypes\DateTime>
63
        */
64 3
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
65 3
            'dateDeleted',
66 3
            $this->RetrievePropertyValueFromData('dateDeleted'),
67 3
            static::class
68
        );
69
70 3
        return $out;
71
    }
72
73
    /**
74
    * @param array<int, DataTypes\Date|DataTypes\DateTime> $value
75
    */
76 1
    public function SetDateDeleted(array $value) : void
77
    {
78 1
        $this->NudgePropertyWithUniqueValuesOfThings(
79 1
            'dateDeleted',
80 1
            __METHOD__,
81 1
            $value,
82 1
            DataTypes\Date::class,
83 1
            DataTypes\DateTime::class
84
        );
85 1
    }
86
87
    /**
88
    * @return array<int, DataTypes\Date|DataTypes\DateTime>
89
    */
90 3
    public function GetDateModified() : array
91
    {
92
        /**
93
        * @var array<int, DataTypes\Date|DataTypes\DateTime>
94
        */
95 3
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
96 3
            'dateModified',
97 3
            $this->RetrievePropertyValueFromData('dateModified'),
98 3
            static::class
99
        );
100
101 3
        return $out;
102
    }
103
104
    /**
105
    * @param array<int, DataTypes\Date|DataTypes\DateTime> $value
106
    */
107 1
    public function SetDateModified(array $value) : void
108
    {
109 1
        $this->NudgePropertyWithUniqueValuesOfThings(
110 1
            'dateModified',
111 1
            __METHOD__,
112 1
            $value,
113 1
            DataTypes\Date::class,
114 1
            DataTypes\DateTime::class
115
        );
116 1
    }
117
118
    /**
119
    * @return array<int, Thing>
120
    */
121 3
    public function GetItem() : array
122
    {
123
        /**
124
        * @var array<int, Thing>
125
        */
126 3
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
127 3
            'item',
128 3
            $this->RetrievePropertyValueFromData('item'),
129 3
            static::class
130
        );
131
132 3
        return $out;
133
    }
134
135
    /**
136
    * @param array<int, Thing> $value
137
    */
138 1
    public function SetItem(array $value) : void
139
    {
140 1
        $this->NudgePropertyWithUniqueValuesOfThings(
141 1
            'item',
142 1
            __METHOD__,
143 1
            $value,
144 1
            Thing::class
145
        );
146 1
    }
147
}
148