Passed
Pull Request — master (#32)
by
unknown
18:56
created

ProductUnitModelUpdatableNormalizer   A

Complexity

Total Complexity 17

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 29
c 1
b 0
f 1
dl 0
loc 49
rs 10
wmc 17

4 Methods

Rating   Name   Duplication   Size   Complexity  
A supportsNormalization() 0 3 2
A supportsDenormalization() 0 3 1
B denormalize() 0 23 11
A normalize() 0 13 3
1
<?php
2
3
namespace Starweb\Api\Generated\Normalizer;
4
5
use Jane\JsonSchemaRuntime\Reference;
6
use Symfony\Component\Serializer\Exception\InvalidArgumentException;
7
use Symfony\Component\Serializer\Normalizer\DenormalizerAwareInterface;
8
use Symfony\Component\Serializer\Normalizer\DenormalizerAwareTrait;
9
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
10
use Symfony\Component\Serializer\Normalizer\NormalizerAwareInterface;
11
use Symfony\Component\Serializer\Normalizer\NormalizerAwareTrait;
12
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
13
class ProductUnitModelUpdatableNormalizer implements DenormalizerInterface, NormalizerInterface, DenormalizerAwareInterface, NormalizerAwareInterface
14
{
15
    use DenormalizerAwareTrait;
16
    use NormalizerAwareTrait;
17
    public function supportsDenormalization($data, $type, $format = null)
18
    {
19
        return $type === 'Starweb\\Api\\Generated\\Model\\ProductUnitModelUpdatable';
20
    }
21
    public function supportsNormalization($data, $format = null)
22
    {
23
        return is_object($data) && get_class($data) === 'Starweb\\Api\\Generated\\Model\\ProductUnitModelUpdatable';
24
    }
25
    public function denormalize($data, $class, $format = null, array $context = array())
26
    {
27
        if (!is_object($data)) {
28
            return null;
29
        }
30
        $object = new \Starweb\Api\Generated\Model\ProductUnitModelUpdatable();
31
        if (property_exists($data, 'unitId') && $data->{'unitId'} !== null) {
32
            $object->setUnitId($data->{'unitId'});
33
        }
34
        if (property_exists($data, 'externalId') && $data->{'externalId'} !== null) {
35
            $object->setExternalId($data->{'externalId'});
36
        }
37
        if (property_exists($data, 'externalIdType') && $data->{'externalIdType'} !== null) {
38
            $object->setExternalIdType($data->{'externalIdType'});
39
        }
40
        if (property_exists($data, 'languages') && $data->{'languages'} !== null) {
41
            $values = array();
42
            foreach ($data->{'languages'} as $value) {
43
                $values[] = $this->denormalizer->denormalize($value, 'Starweb\\Api\\Generated\\Model\\ProductUnitLanguageModel', 'json', $context);
44
            }
45
            $object->setLanguages($values);
46
        }
47
        return $object;
48
    }
49
    public function normalize($object, $format = null, array $context = array())
50
    {
51
        $data = new \stdClass();
52
        $data->{'externalId'} = $object->getExternalId();
53
        $data->{'externalIdType'} = $object->getExternalIdType();
54
        if (null !== $object->getLanguages()) {
55
            $values = array();
56
            foreach ($object->getLanguages() as $value) {
57
                $values[] = $this->normalizer->normalize($value, 'json', $context);
58
            }
59
            $data->{'languages'} = $values;
60
        }
61
        return $data;
62
    }
63
}