|
|
|
|
@ -36,38 +36,4 @@ readonly class DataToEntityMapper
|
|
|
|
|
/** @var E */
|
|
|
|
|
return new $this->entityResult->classFqcn(...$params);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param E $entity
|
|
|
|
|
* @param EntityField<object> $field
|
|
|
|
|
* @param object $value
|
|
|
|
|
*/
|
|
|
|
|
private function getsetWrite(object $entity, EntityField $field, mixed $value): void
|
|
|
|
|
{
|
|
|
|
|
$setter = FieldAccess::setterName($field->name);
|
|
|
|
|
$entity->$setter($value);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param E $entity
|
|
|
|
|
* @param EntityField<object> $field
|
|
|
|
|
* @param object $value
|
|
|
|
|
*/
|
|
|
|
|
private function publicWrite(object $entity, EntityField $field, mixed $value): void
|
|
|
|
|
{
|
|
|
|
|
$entity->{$field->name} = $value;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param E $entity
|
|
|
|
|
* @param EntityField<object> $field
|
|
|
|
|
* @param object $value
|
|
|
|
|
* @return E
|
|
|
|
|
*/
|
|
|
|
|
private function witherWrite(object $entity, EntityField $field, mixed $value): object
|
|
|
|
|
{
|
|
|
|
|
$wither = FieldAccess::witherName($field->name);
|
|
|
|
|
/** @var E */
|
|
|
|
|
return $entity->$wither($value);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|