1: <?php
2:
3: namespace SellerLabs\Snagshout\Normalizer;
4:
5: use Joli\Jane\Runtime\Reference;
6: use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
7: use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
8: use Symfony\Component\Serializer\Normalizer\SerializerAwareNormalizer;
9: class V1GetCategoriesResponseNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
10: {
11: public function supportsDenormalization($data, $type, $format = null)
12: {
13: if ($type !== 'SellerLabs\\Snagshout\\Model\\V1GetCategoriesResponse') {
14: return false;
15: }
16: return true;
17: }
18: public function supportsNormalization($data, $format = null)
19: {
20: if ($data instanceof \SellerLabs\Snagshout\Model\V1GetCategoriesResponse) {
21: return true;
22: }
23: return false;
24: }
25: public function denormalize($data, $class, $format = null, array $context = array())
26: {
27: $object = new \SellerLabs\Snagshout\Model\V1GetCategoriesResponse();
28: if (property_exists($data, 'errors')) {
29: $values = array();
30: foreach ($data->{'errors'} as $value) {
31: $values[] = $value;
32: }
33: $object->setErrors($values);
34: }
35: if (property_exists($data, 'error')) {
36: $object->setError($data->{'error'});
37: }
38: if (property_exists($data, 'code')) {
39: $object->setCode($data->{'code'});
40: }
41: if (property_exists($data, 'status')) {
42: $object->setStatus($data->{'status'});
43: }
44: if (property_exists($data, 'message')) {
45: $object->setMessage($data->{'message'});
46: }
47: if (property_exists($data, 'success')) {
48: $object->setSuccess($data->{'success'});
49: }
50: if (property_exists($data, 'data')) {
51: $values_1 = array();
52: foreach ($data->{'data'} as $value_1) {
53: $values_1[] = $this->serializer->deserialize($value_1, 'SellerLabs\\Snagshout\\Model\\Category', 'raw', $context);
54: }
55: $object->setData($values_1);
56: }
57: if (property_exists($data, 'links')) {
58: $object->setLinks($this->serializer->deserialize($data->{'links'}, 'SellerLabs\\Snagshout\\Model\\Links', 'raw', $context));
59: }
60: return $object;
61: }
62: public function normalize($object, $format = null, array $context = array())
63: {
64: $data = new \stdClass();
65: if (null !== $object->getErrors()) {
66: $values = array();
67: foreach ($object->getErrors() as $value) {
68: $values[] = $value;
69: }
70: $data->{'errors'} = $values;
71: }
72: if (null !== $object->getError()) {
73: $data->{'error'} = $object->getError();
74: }
75: if (null !== $object->getCode()) {
76: $data->{'code'} = $object->getCode();
77: }
78: if (null !== $object->getStatus()) {
79: $data->{'status'} = $object->getStatus();
80: }
81: if (null !== $object->getMessage()) {
82: $data->{'message'} = $object->getMessage();
83: }
84: if (null !== $object->getSuccess()) {
85: $data->{'success'} = $object->getSuccess();
86: }
87: if (null !== $object->getData()) {
88: $values_1 = array();
89: foreach ($object->getData() as $value_1) {
90: $values_1[] = $this->serializer->serialize($value_1, 'raw', $context);
91: }
92: $data->{'data'} = $values_1;
93: }
94: if (null !== $object->getLinks()) {
95: $data->{'links'} = $this->serializer->serialize($object->getLinks(), 'raw', $context);
96: }
97: return $data;
98: }
99: }