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: }