<?php

declare(strict_types=1);

namespace App\Domain\Project;

use App\Domain\Project\ValueObject\Template;
use App\Domain\Shared\ValueObject\Locale;

final class ProjectTranslation
{
    # autogenerated
    private string $id;

    private Project $project;

    private Locale $locale;

    private Template $template;

    private function __construct() {}

    public static function create(Project $project, Locale $locale, Template $template): self
    {
        $projectTranslation = new self();
        $projectTranslation->project = $project;
        $projectTranslation->locale = $locale;
        $projectTranslation->template = $template;

        return $projectTranslation;
    }

    public function project(): Project
    {
        return $this->project;
    }

    public function locale(): Locale
    {
        return $this->locale;
    }

    public function template(): Template
    {
        return $this->template;
    }

    public function setTemplate(Template $template): void
    {
        $this->template = $template;
    }
}
