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 LinksNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
10: {
11: public function supportsDenormalization($data, $type, $format = null)
12: {
13: if ($type !== 'SellerLabs\\Snagshout\\Model\\Links') {
14: return false;
15: }
16: return true;
17: }
18: public function supportsNormalization($data, $format = null)
19: {
20: if ($data instanceof \SellerLabs\Snagshout\Model\Links) {
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\Links();
28: if (property_exists($data, 'prev')) {
29: $object->setPrev($data->{'prev'});
30: }
31: if (property_exists($data, 'next')) {
32: $object->setNext($data->{'next'});
33: }
34: if (property_exists($data, 'page')) {
35: $object->setPage($data->{'page'});
36: }
37: if (property_exists($data, 'last')) {
38: $object->setLast($data->{'last'});
39: }
40: if (property_exists($data, 'limit')) {
41: $object->setLimit($data->{'limit'});
42: }
43: if (property_exists($data, 'total')) {
44: $object->setTotal($data->{'total'});
45: }
46: return $object;
47: }
48: public function normalize($object, $format = null, array $context = array())
49: {
50: $data = new \stdClass();
51: if (null !== $object->getPrev()) {
52: $data->{'prev'} = $object->getPrev();
53: }
54: if (null !== $object->getNext()) {
55: $data->{'next'} = $object->getNext();
56: }
57: if (null !== $object->getPage()) {
58: $data->{'page'} = $object->getPage();
59: }
60: if (null !== $object->getLast()) {
61: $data->{'last'} = $object->getLast();
62: }
63: if (null !== $object->getLimit()) {
64: $data->{'limit'} = $object->getLimit();
65: }
66: if (null !== $object->getTotal()) {
67: $data->{'total'} = $object->getTotal();
68: }
69: return $data;
70: }
71: }