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 ImageMetadataNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
10: {
11: public function supportsDenormalization($data, $type, $format = null)
12: {
13: if ($type !== 'SellerLabs\\Snagshout\\Model\\ImageMetadata') {
14: return false;
15: }
16: return true;
17: }
18: public function supportsNormalization($data, $format = null)
19: {
20: if ($data instanceof \SellerLabs\Snagshout\Model\ImageMetadata) {
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\ImageMetadata();
28: if (property_exists($data, 'original_src')) {
29: $object->setOriginalSrc($data->{'original_src'});
30: }
31: if (property_exists($data, 'small')) {
32: $object->setSmall($data->{'small'});
33: }
34: if (property_exists($data, 'medium')) {
35: $object->setMedium($data->{'medium'});
36: }
37: return $object;
38: }
39: public function normalize($object, $format = null, array $context = array())
40: {
41: $data = new \stdClass();
42: if (null !== $object->getOriginalSrc()) {
43: $data->{'original_src'} = $object->getOriginalSrc();
44: }
45: if (null !== $object->getSmall()) {
46: $data->{'small'} = $object->getSmall();
47: }
48: if (null !== $object->getMedium()) {
49: $data->{'medium'} = $object->getMedium();
50: }
51: return $data;
52: }
53: }