Overview

Namespaces

  • SellerLabs
    • Snagshout
      • Model
      • Normalizer
      • Resource
      • Utils

Classes

  • SellerLabs\Snagshout\Client
  • SellerLabs\Snagshout\Model\AmazonData
  • SellerLabs\Snagshout\Model\Attribute
  • SellerLabs\Snagshout\Model\BookmarkMetadata
  • SellerLabs\Snagshout\Model\Campaign
  • SellerLabs\Snagshout\Model\Category
  • SellerLabs\Snagshout\Model\Image
  • SellerLabs\Snagshout\Model\ImageMetadata
  • SellerLabs\Snagshout\Model\Links
  • SellerLabs\Snagshout\Model\Product
  • SellerLabs\Snagshout\Model\PromoCode
  • SellerLabs\Snagshout\Model\Promotion
  • SellerLabs\Snagshout\Model\Shipping
  • SellerLabs\Snagshout\Model\V1GetCampaignsResponse
  • SellerLabs\Snagshout\Model\V1GetCategoriesResponse
  • SellerLabs\Snagshout\Model\V1GetStatus
  • SellerLabs\Snagshout\Model\V1GetStatusResponse
  • SellerLabs\Snagshout\Normalizer\AmazonDataNormalizer
  • SellerLabs\Snagshout\Normalizer\AttributeNormalizer
  • SellerLabs\Snagshout\Normalizer\BookmarkMetadataNormalizer
  • SellerLabs\Snagshout\Normalizer\CampaignNormalizer
  • SellerLabs\Snagshout\Normalizer\CategoryNormalizer
  • SellerLabs\Snagshout\Normalizer\ImageMetadataNormalizer
  • SellerLabs\Snagshout\Normalizer\ImageNormalizer
  • SellerLabs\Snagshout\Normalizer\LinksNormalizer
  • SellerLabs\Snagshout\Normalizer\NormalizerFactory
  • SellerLabs\Snagshout\Normalizer\ProductNormalizer
  • SellerLabs\Snagshout\Normalizer\PromoCodeNormalizer
  • SellerLabs\Snagshout\Normalizer\PromotionNormalizer
  • SellerLabs\Snagshout\Normalizer\ShippingNormalizer
  • SellerLabs\Snagshout\Normalizer\V1GetCampaignsResponseNormalizer
  • SellerLabs\Snagshout\Normalizer\V1GetCategoriesResponseNormalizer
  • SellerLabs\Snagshout\Normalizer\V1GetStatusNormalizer
  • SellerLabs\Snagshout\Normalizer\V1GetStatusResponseNormalizer
  • SellerLabs\Snagshout\Resource\CampaignResource
  • SellerLabs\Snagshout\Resource\CategoryResource
  • SellerLabs\Snagshout\Resource\FrontResource
  • SellerLabs\Snagshout\SyndicationClient
  • SellerLabs\Snagshout\Utils\NormalizerFactory
  • SellerLabs\Snagshout\Utils\NullNormalizer
  • Overview
  • Namespace
  • Class
  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 ProductNormalizer extends SerializerAwareNormalizer implements DenormalizerInterface, NormalizerInterface
 10: {
 11:     public function supportsDenormalization($data, $type, $format = null)
 12:     {
 13:         if ($type !== 'SellerLabs\\Snagshout\\Model\\Product') {
 14:             return false;
 15:         }
 16:         return true;
 17:     }
 18:     public function supportsNormalization($data, $format = null)
 19:     {
 20:         if ($data instanceof \SellerLabs\Snagshout\Model\Product) {
 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\Product();
 28:         if (property_exists($data, 'externalUrl')) {
 29:             $object->setExternalUrl($data->{'externalUrl'});
 30:         }
 31:         if (property_exists($data, 'marketplace')) {
 32:             $object->setMarketplace($data->{'marketplace'});
 33:         }
 34:         if (property_exists($data, 'name')) {
 35:             $object->setName($data->{'name'});
 36:         }
 37:         if (property_exists($data, 'keywords')) {
 38:             $object->setKeywords($data->{'keywords'});
 39:         }
 40:         if (property_exists($data, 'description')) {
 41:             $object->setDescription($data->{'description'});
 42:         }
 43:         if (property_exists($data, 'url')) {
 44:             $object->setUrl($data->{'url'});
 45:         }
 46:         if (property_exists($data, 'ean')) {
 47:             $object->setEan($data->{'ean'});
 48:         }
 49:         if (property_exists($data, 'currency')) {
 50:             $object->setCurrency($data->{'currency'});
 51:         }
 52:         if (property_exists($data, 'price')) {
 53:             $object->setPrice($data->{'price'});
 54:         }
 55:         if (property_exists($data, 'id')) {
 56:             $object->setId($data->{'id'});
 57:         }
 58:         if (property_exists($data, 'amazonData')) {
 59:             $object->setAmazonData($this->serializer->deserialize($data->{'amazonData'}, 'SellerLabs\\Snagshout\\Model\\AmazonData', 'raw', $context));
 60:         }
 61:         if (property_exists($data, 'mainCategory')) {
 62:             $object->setMainCategory($this->serializer->deserialize($data->{'mainCategory'}, 'SellerLabs\\Snagshout\\Model\\Category', 'raw', $context));
 63:         }
 64:         if (property_exists($data, 'featuredImage')) {
 65:             $object->setFeaturedImage($this->serializer->deserialize($data->{'featuredImage'}, 'SellerLabs\\Snagshout\\Model\\Image', 'raw', $context));
 66:         }
 67:         if (property_exists($data, 'media')) {
 68:             $values = array();
 69:             foreach ($data->{'media'} as $value) {
 70:                 $values[] = $this->serializer->deserialize($value, 'SellerLabs\\Snagshout\\Model\\Image', 'raw', $context);
 71:             }
 72:             $object->setMedia($values);
 73:         }
 74:         if (property_exists($data, 'shipping')) {
 75:             $values_1 = array();
 76:             foreach ($data->{'shipping'} as $value_1) {
 77:                 $values_1[] = $this->serializer->deserialize($value_1, 'SellerLabs\\Snagshout\\Model\\Shipping', 'raw', $context);
 78:             }
 79:             $object->setShipping($values_1);
 80:         }
 81:         if (property_exists($data, 'attributes')) {
 82:             $values_2 = array();
 83:             foreach ($data->{'attributes'} as $value_2) {
 84:                 $values_2[] = $this->serializer->deserialize($value_2, 'SellerLabs\\Snagshout\\Model\\Attribute', 'raw', $context);
 85:             }
 86:             $object->setAttributes($values_2);
 87:         }
 88:         if (property_exists($data, 'bookmarkedBy')) {
 89:             $object->setBookmarkedBy($this->serializer->deserialize($data->{'bookmarkedBy'}, 'SellerLabs\\Snagshout\\Model\\BookmarkMetadata', 'raw', $context));
 90:         }
 91:         return $object;
 92:     }
 93:     public function normalize($object, $format = null, array $context = array())
 94:     {
 95:         $data = new \stdClass();
 96:         if (null !== $object->getExternalUrl()) {
 97:             $data->{'externalUrl'} = $object->getExternalUrl();
 98:         }
 99:         if (null !== $object->getMarketplace()) {
100:             $data->{'marketplace'} = $object->getMarketplace();
101:         }
102:         if (null !== $object->getName()) {
103:             $data->{'name'} = $object->getName();
104:         }
105:         if (null !== $object->getKeywords()) {
106:             $data->{'keywords'} = $object->getKeywords();
107:         }
108:         if (null !== $object->getDescription()) {
109:             $data->{'description'} = $object->getDescription();
110:         }
111:         if (null !== $object->getUrl()) {
112:             $data->{'url'} = $object->getUrl();
113:         }
114:         if (null !== $object->getEan()) {
115:             $data->{'ean'} = $object->getEan();
116:         }
117:         if (null !== $object->getCurrency()) {
118:             $data->{'currency'} = $object->getCurrency();
119:         }
120:         if (null !== $object->getPrice()) {
121:             $data->{'price'} = $object->getPrice();
122:         }
123:         if (null !== $object->getId()) {
124:             $data->{'id'} = $object->getId();
125:         }
126:         if (null !== $object->getAmazonData()) {
127:             $data->{'amazonData'} = $this->serializer->serialize($object->getAmazonData(), 'raw', $context);
128:         }
129:         if (null !== $object->getMainCategory()) {
130:             $data->{'mainCategory'} = $this->serializer->serialize($object->getMainCategory(), 'raw', $context);
131:         }
132:         if (null !== $object->getFeaturedImage()) {
133:             $data->{'featuredImage'} = $this->serializer->serialize($object->getFeaturedImage(), 'raw', $context);
134:         }
135:         if (null !== $object->getMedia()) {
136:             $values = array();
137:             foreach ($object->getMedia() as $value) {
138:                 $values[] = $this->serializer->serialize($value, 'raw', $context);
139:             }
140:             $data->{'media'} = $values;
141:         }
142:         if (null !== $object->getShipping()) {
143:             $values_1 = array();
144:             foreach ($object->getShipping() as $value_1) {
145:                 $values_1[] = $this->serializer->serialize($value_1, 'raw', $context);
146:             }
147:             $data->{'shipping'} = $values_1;
148:         }
149:         if (null !== $object->getAttributes()) {
150:             $values_2 = array();
151:             foreach ($object->getAttributes() as $value_2) {
152:                 $values_2[] = $this->serializer->serialize($value_2, 'raw', $context);
153:             }
154:             $data->{'attributes'} = $values_2;
155:         }
156:         if (null !== $object->getBookmarkedBy()) {
157:             $data->{'bookmarkedBy'} = $this->serializer->serialize($object->getBookmarkedBy(), 'raw', $context);
158:         }
159:         return $data;
160:     }
161: }
API documentation generated by ApiGen