Passed
Push — master ( 461a97...e7ae09 )
by SignpostMarv
02:31
created

TraitValueReference::SetValueReference()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 11
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 9
nc 1
nop 1
dl 0
loc 11
ccs 0
cts 11
cp 0
crap 2
rs 9.9666
c 0
b 0
f 0
1
<?php
2
/**
3
* @author SignpostMarv
4
*/
5
declare(strict_types=1);
6
7
namespace SignpostMarv\DaftObject\SchemaOrg\DaftObjectTraits;
8
9
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Enumeration;
10
use SignpostMarv\DaftObject\SchemaOrg\Intangible\Enumeration\QualitativeValue;
11
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue;
12
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\PropertyValue;
13
use SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue;
14
use SignpostMarv\DaftObject\SchemaOrg\TypeUtilities;
15
16
trait TraitValueReference
17
{
18
    use DaftObjectTrait;
19
20
    /**
21
    * @return array<int, Enumeration|PropertyValue|QualitativeValue|\SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue|StructuredValue>
22
    */
23
    public function GetValueReference() : array
24
    {
25
        /**
26
        * @var array<int, Enumeration|PropertyValue|QualitativeValue|\SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue|StructuredValue>
27
        */
28
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
29
            'valueReference',
30
            $this->RetrievePropertyValueFromData('valueReference'),
0 ignored issues
show
Bug introduced by
It seems like RetrievePropertyValueFromData() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

30
            $this->/** @scrutinizer ignore-call */ 
31
                   RetrievePropertyValueFromData('valueReference'),
Loading history...
31
            static::class
32
        );
33
34
        return $out;
35
    }
36
37
    /**
38
    * @param array<int, Enumeration|PropertyValue|QualitativeValue|\SignpostMarv\DaftObject\SchemaOrg\Intangible\StructuredValue\QuantitativeValue|StructuredValue> $value
39
    */
40
    public function SetValueReference(array $value) : void
41
    {
42
        $this->NudgePropertyWithUniqueValuesOfThings(
43
            'valueReference',
44
            __METHOD__,
45
            $value,
46
            QuantitativeValue::class,
47
            QualitativeValue::class,
48
            Enumeration::class,
49
            PropertyValue::class,
50
            StructuredValue::class
51
        );
52
    }
53
}
54