You are here

class CustomNormalizer in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/serializer/Normalizer/CustomNormalizer.php \Symfony\Component\Serializer\Normalizer\CustomNormalizer

@author Jordi Boggiano <j.boggiano@seld.be>

Hierarchy

Expanded class hierarchy of CustomNormalizer

4 files declare their use of CustomNormalizer
CustomNormalizerTest.php in vendor/symfony/serializer/Tests/Normalizer/CustomNormalizerTest.php
JsonEncoderTest.php in vendor/symfony/serializer/Tests/Encoder/JsonEncoderTest.php
SerializerTest.php in vendor/symfony/serializer/Tests/SerializerTest.php
XmlEncoderTest.php in vendor/symfony/serializer/Tests/Encoder/XmlEncoderTest.php

File

vendor/symfony/serializer/Normalizer/CustomNormalizer.php, line 17

Namespace

Symfony\Component\Serializer\Normalizer
View source
class CustomNormalizer extends SerializerAwareNormalizer implements NormalizerInterface, DenormalizerInterface {

  /**
   * {@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) {
    $class = new \ReflectionClass($type);
    return $class
      ->isSubclassOf('Symfony\\Component\\Serializer\\Normalizer\\DenormalizableInterface');
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CustomNormalizer::denormalize public function Denormalizes data back into an object of the given class. Overrides DenormalizerInterface::denormalize
CustomNormalizer::normalize public function Normalizes an object into a set of arrays/scalars. Overrides NormalizerInterface::normalize
CustomNormalizer::supportsDenormalization public function Checks if the given class implements the NormalizableInterface. Overrides DenormalizerInterface::supportsDenormalization
CustomNormalizer::supportsNormalization public function Checks if the given class implements the NormalizableInterface. Overrides NormalizerInterface::supportsNormalization
SerializerAwareNormalizer::$serializer protected property
SerializerAwareNormalizer::setSerializer public function Sets the owning Serializer object. Overrides SerializerAwareInterface::setSerializer