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 CategoryNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
10: {
11:     public function supportsDenormalization($data, $type, $format = null)
12:     {
13:         if ($type !== 'SellerLabs\\Snagshout\\Model\\Category') {
14:             return false;
15:         }
16:         return true;
17:     }
18:     public function supportsNormalization($data, $format = null)
19:     {
20:         if ($data instanceof \SellerLabs\Snagshout\Model\Category) {
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\Category();
28:         if (property_exists($data, 'id')) {
29:             $object->setId($data->{'id'});
30:         }
31:         if (property_exists($data, 'name')) {
32:             $object->setName($data->{'name'});
33:         }
34:         if (property_exists($data, 'shortName')) {
35:             $object->setShortName($data->{'shortName'});
36:         }
37:         if (property_exists($data, 'imageUrl')) {
38:             $object->setImageUrl($data->{'imageUrl'});
39:         }
40:         if (property_exists($data, 'totalOffers')) {
41:             $object->setTotalOffers($data->{'totalOffers'});
42:         }
43:         return $object;
44:     }
45:     public function normalize($object, $format = null, array $context = array())
46:     {
47:         $data = new \stdClass();
48:         if (null !== $object->getId()) {
49:             $data->{'id'} = $object->getId();
50:         }
51:         if (null !== $object->getName()) {
52:             $data->{'name'} = $object->getName();
53:         }
54:         if (null !== $object->getShortName()) {
55:             $data->{'shortName'} = $object->getShortName();
56:         }
57:         if (null !== $object->getImageUrl()) {
58:             $data->{'imageUrl'} = $object->getImageUrl();
59:         }
60:         if (null !== $object->getTotalOffers()) {
61:             $data->{'totalOffers'} = $object->getTotalOffers();
62:         }
63:         return $data;
64:     }
65: }