/**
  * 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);
 }
Пример #3
0
 /**
  * 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);
 }
Пример #4
0
 /**
  * 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);
 }