/** * Transforms a FieldType Value into a hash using `FieldTpe::toHash()`. * This hash is compatible with `reverseTransform()`. * * @param \eZ\Publish\SPI\FieldType\Value $value * * @return array|null the value's hash, or null if $value was not a FieldType Value */ public function transform($value) { if (!$value instanceof Value) { return null; } return $this->fieldType->toHash($value); }
/** * Serializes the given $value for $fieldType with $generator into * $elementName. * * @param string $elementName * @param \eZ\Publish\Core\REST\Common\Output\Generator $generator * @param \eZ\Publish\API\Repository\FieldType $fieldType * @param mixed $value */ protected function serializeValue($elementName, Generator $generator, FieldType $fieldType, $value) { $hash = $fieldType->toHash($value); $fieldTypeIdentifier = $fieldType->getFieldTypeIdentifier(); if ($this->fieldTypeProcessorRegistry->hasProcessor($fieldTypeIdentifier)) { $processor = $this->fieldTypeProcessorRegistry->getProcessor($fieldTypeIdentifier); $hash = $processor->postProcessValueHash($hash); } $this->serializeHash($elementName, $generator, $hash); }
/** * Converts a Value to a hash * * @param mixed $value * * @return mixed */ public function toHash($value) { return $this->innerFieldType->toHash($value); }