/** * Transforms a hash into a FieldType Value using `FieldType::fromHash()`. * The FieldValue is compatible with `transform()`. * * @param array $value * * @return \eZ\Publish\SPI\FieldType\Value */ public function reverseTransform($value) { if (!$value) { return $this->fieldType->getEmptyValue(); } return $this->fieldType->fromHash($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 the given $validatorConfigurationHash to a validator * configuration of the type * * @param array|hash|scalar|null $validatorConfigurationHash * * @return mixed */ public function validatorConfigurationFromHash($validatorConfigurationHash) { return $this->innerFieldType->validatorConfigurationFromHash($validatorConfigurationHash); }
/** * Validates a field value based on the validator configuration in the field definition. * * @param \eZ\Publish\API\Repository\Values\ContentType\FieldDefinition $fieldDef The field definition of the field * @param \eZ\Publish\SPI\FieldType\Value $value The field value for which an action is performed * * @return \eZ\Publish\SPI\FieldType\ValidationError[] */ public function validateValue(FieldDefinition $fieldDef, Value $value) { return $this->innerFieldType->validate($fieldDef, $value); }