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; | |
| } | |
| } |