Implements \Symfony\Component\Serializer\Normalizer\DenormalizerInterface::denormalize()
Overrides DenormalizerInterface::denormalize
public function denormalize($data, $class, $format = NULL, array $context = array()) {
if (!isset($context['target_instance'])) {
throw new LogicException('$context[\'target_instance\'] must be set to denormalize with the FieldItemNormalizer');
}
if ($context['target_instance']
->getParent() == NULL) {
throw new LogicException('The field item passed in via $context[\'target_instance\'] must have a parent set.');
}
$field_item = $context['target_instance'];
// If this field is translatable, we need to create a translated instance.
if (isset($data['lang'])) {
$langcode = $data['lang'];
unset($data['lang']);
$field_definition = $field_item
->getDefinition();
if ($field_definition['translatable']) {
$field_item = $this
->createTranslatedInstance($field_item, $langcode);
}
}
$field_item
->setValue($this
->constructValue($data, $context));
return $field_item;
}