Test Setup Failed
Push — master ( b50703...9d91c5 )
by Dominik
06:16
created

FieldDenormalizer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 41
c 0
b 0
f 0
wmc 3
lcom 1
cbo 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A denormalizeField() 0 4 1
A getGroups() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Chubbyphp\Deserialization\Denormalizer;
6
7
use Chubbyphp\Deserialization\Accessor\AccessorInterface;
8
9
final class FieldDenormalizer implements FieldDenormalizerInterface
10
{
11
    /**
12
     * @var AccessorInterface
13
     */
14
    private $accessor;
15
16
    /**
17
     * @var array
18
     */
19
    private $groups;
20
21
    /**
22
     * @param AccessorInterface $accessor
23
     * @param array             $groups
24
     */
25
    public function __construct(AccessorInterface $accessor = null, array $groups = [])
26
    {
27
        $this->accessor = $accessor;
28
        $this->groups = $groups;
29
    }
30
31
    /**
32
     * @param string                     $path
33
     * @param object                     $object
34
     * @param mixed                      $value
35
     * @param DenormalizerInterface|null $denormalizer
36
     */
37
    public function denormalizeField(string $path, $object, $value, DenormalizerInterface $denormalizer = null)
38
    {
39
        $this->accessor->setValue($object, $value);
40
    }
41
42
    /**
43
     * @return array
44
     */
45
    public function getGroups(): array
46
    {
47
        return $this->groups;
48
    }
49
}
50