for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is part of the xAPI package.
*
* (c) Christian Flothmann <[email protected]>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Xabbuh\XApi\Serializer\Normalizer;
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
use Symfony\Component\Serializer\Normalizer\NormalizerInterface;
use Xabbuh\XApi\Model\LanguageMap;
/**
* Normalizes and denormalizes {@link LanguageMap} instances.
* @author Christian Flothmann <[email protected]>
final class LanguageMapNormalizer implements DenormalizerInterface, NormalizerInterface
{
* {@inheritdoc}
public function normalize($object, $format = null, array $context = array())
if (!$object instanceof LanguageMap) {
return;
}
$map = array();
foreach ($object->languageTags() as $languageTag) {
$map[$languageTag] = $object[$languageTag];
return $map;
public function supportsNormalization($data, $format = null)
return $data instanceof LanguageMap;
public function denormalize($data, $class, $format = null, array $context = array())
return LanguageMap::create($data);
public function supportsDenormalization($data, $type, $format = null)
return 'Xabbuh\XApi\Model\LanguageMap' === $type;