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

DataCatalog::GetDataset()   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\CreativeWork;
8
9
use SignpostMarv\DaftObject\SchemaOrg\CreativeWork as Base;
10
use SignpostMarv\DaftObject\SchemaOrg\DaftObjectTraits;
11
use SignpostMarv\DaftObject\SchemaOrg\TypeUtilities;
12
13
/**
14
* @property array<int, Dataset> $dataset
15
* @property array<int, string> $measurementTechnique
16
*/
17
class DataCatalog extends Base
18
{
19
    use DaftObjectTraits\MeasurementTechnique;
20
21
    const SCHEMA_ORG_TYPE = 'DataCatalog';
22
23
    const PROPERTIES = [
24
        'dataset',
25
        'measurementTechnique',
26
    ];
27
28
    const PROPERTIES_WITH_MULTI_TYPED_ARRAYS = [
29
        'dataset' => [
30
            Dataset::class,
31
        ],
32
        'measurementTechnique' => TypeUtilities::MULTI_TYPE_DICT__measurementTechnique,
33
    ];
34
35
    /**
36
    * @return array<int, Dataset>
37
    */
38 4
    public function GetDataset() : array
39
    {
40
        /**
41
        * @var array<int, Dataset>
42
        */
43 4
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
44 4
            'dataset',
45 4
            $this->RetrievePropertyValueFromData('dataset'),
46 4
            static::class
47
        );
48
49 4
        return $out;
50
    }
51
52
    /**
53
    * @param array<int, Dataset> $value
54
    */
55 1
    public function SetDataset(array $value) : void
56
    {
57 1
        $this->NudgePropertyValue(
58 1
            'dataset',
59 1
            $value
60
        );
61 1
    }
62
}
63