Mercurial > hg > isophonics-drupal-site
view vendor/symfony/serializer/Normalizer/CustomNormalizer.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line source
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Normalizer; use Symfony\Component\Serializer\SerializerAwareInterface; use Symfony\Component\Serializer\SerializerAwareTrait; /** * @author Jordi Boggiano <j.boggiano@seld.be> */ class CustomNormalizer implements NormalizerInterface, DenormalizerInterface, SerializerAwareInterface { use SerializerAwareTrait; /** * {@inheritdoc} */ public function normalize($object, $format = null, array $context = array()) { return $object->normalize($this->serializer, $format, $context); } /** * {@inheritdoc} */ public function denormalize($data, $class, $format = null, array $context = array()) { $object = new $class(); $object->denormalize($this->serializer, $data, $format, $context); return $object; } /** * Checks if the given class implements the NormalizableInterface. * * @param mixed $data Data to normalize * @param string $format The format being (de-)serialized from or into * * @return bool */ public function supportsNormalization($data, $format = null) { return $data instanceof NormalizableInterface; } /** * Checks if the given class implements the NormalizableInterface. * * @param mixed $data Data to denormalize from * @param string $type The class to which the data should be denormalized * @param string $format The format being deserialized from * * @return bool */ public function supportsDenormalization($data, $type, $format = null) { if (!class_exists($type)) { return false; } return is_subclass_of($type, 'Symfony\Component\Serializer\Normalizer\DenormalizableInterface'); } }