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 ImageNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
10: {
11: public function supportsDenormalization($data, $type, $format = null)
12: {
13: if ($type !== 'SellerLabs\\Snagshout\\Model\\Image') {
14: return false;
15: }
16: return true;
17: }
18: public function supportsNormalization($data, $format = null)
19: {
20: if ($data instanceof \SellerLabs\Snagshout\Model\Image) {
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\Image();
28: if (property_exists($data, 'url')) {
29: $object->setUrl($data->{'url'});
30: }
31: if (property_exists($data, 'title')) {
32: $object->setTitle($data->{'title'});
33: }
34: if (property_exists($data, 'type')) {
35: $object->setType($data->{'type'});
36: }
37: if (property_exists($data, 'id')) {
38: $object->setId($data->{'id'});
39: }
40: if (property_exists($data, 'sort')) {
41: $object->setSort($data->{'sort'});
42: }
43: if (property_exists($data, 'featured')) {
44: $object->setFeatured($data->{'featured'});
45: }
46: if (property_exists($data, 'metadata')) {
47: $object->setMetadata($this->serializer->deserialize($data->{'metadata'}, 'SellerLabs\\Snagshout\\Model\\ImageMetadata', 'raw', $context));
48: }
49: return $object;
50: }
51: public function normalize($object, $format = null, array $context = array())
52: {
53: $data = new \stdClass();
54: if (null !== $object->getUrl()) {
55: $data->{'url'} = $object->getUrl();
56: }
57: if (null !== $object->getTitle()) {
58: $data->{'title'} = $object->getTitle();
59: }
60: if (null !== $object->getType()) {
61: $data->{'type'} = $object->getType();
62: }
63: if (null !== $object->getId()) {
64: $data->{'id'} = $object->getId();
65: }
66: if (null !== $object->getSort()) {
67: $data->{'sort'} = $object->getSort();
68: }
69: if (null !== $object->getFeatured()) {
70: $data->{'featured'} = $object->getFeatured();
71: }
72: if (null !== $object->getMetadata()) {
73: $data->{'metadata'} = $this->serializer->serialize($object->getMetadata(), 'raw', $context);
74: }
75: return $data;
76: }
77: }