Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 8 |
NormalizerBase | |
0.00% |
0 / 1 |
|
0.00% |
0 / 2 |
72 | |
0.00% |
0 / 8 |
supportsNormalization | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 1 |
|||
supportsDenormalization | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 7 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\hal\Normalizer\NormalizerBase. | |
*/ | |
namespace Drupal\hal\Normalizer; | |
use Drupal\serialization\Normalizer\NormalizerBase as SerializationNormalizerBase; | |
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface; | |
/** | |
* Base class for Normalizers. | |
*/ | |
abstract class NormalizerBase extends SerializationNormalizerBase implements DenormalizerInterface { | |
/** | |
* The formats that the Normalizer can handle. | |
* | |
* @var array | |
*/ | |
protected $formats = array('hal_json'); | |
/** | |
* {@inheritdoc} | |
*/ | |
public function supportsNormalization($data, $format = NULL) { | |
return in_array($format, $this->formats) && parent::supportsNormalization($data, $format); | |
} | |
/** | |
* {@inheritdoc} | |
*/ | |
public function supportsDenormalization($data, $type, $format = NULL) { | |
if (in_array($format, $this->formats) && (class_exists($this->supportedInterfaceOrClass) || interface_exists($this->supportedInterfaceOrClass))) { | |
$target = new \ReflectionClass($type); | |
$supported = new \ReflectionClass($this->supportedInterfaceOrClass); | |
if ($supported->isInterface()) { | |
return $target->implementsInterface($this->supportedInterfaceOrClass); | |
} | |
else { | |
return ($target->getName() == $this->supportedInterfaceOrClass || $target->isSubclassOf($this->supportedInterfaceOrClass)); | |
} | |
} | |
return FALSE; | |
} | |
} |