<?php
declare(strict_types=1);

namespace App\Entity\AccessWish;

use App\Entity\Education\Education;
use App\Entity\Education\EducationCurriculum;
use App\Entity\Education\EducationStudent;
use App\Entity\Education\EducationTiming;
//use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
use Doctrine\ORM\Mapping as ORM;

/**
 * Classe ... qui ...
 */
//#[Auditable]
#[ORM\Entity]
class EducationStudentWish
{
    #[ORM\Id]
    #[ORM\Column]
    #[ORM\GeneratedValue]
    private ?int $id = null;

    #[ORM\ManyToOne]
    #[ORM\JoinColumn(referencedColumnName: 'id' ,nullable: true, onDelete: 'SET NULL')]
    private Education $educationWish;

    #[ORM\ManyToOne(inversedBy: 'educationStudentWishes')]
    #[ORM\JoinColumn(referencedColumnName: 'id' ,nullable: true, onDelete: 'SET NULL')]
    private AccessWish $accessWish;

    #[ORM\ManyToOne(inversedBy: 'educationStudentReregistrationsWishes')]
    #[ORM\JoinColumn(referencedColumnName: 'id' ,nullable: true, onDelete: 'SET NULL')]
    private AccessWish $accessWishReregistrations;

    #[ORM\ManyToOne]
    private EducationCurriculum $educationCurriculum;

    #[ORM\ManyToOne]
    private EducationStudent $educationStudent;

    #[ORM\ManyToOne]
    #[ORM\JoinColumn(referencedColumnName: 'id' ,nullable: true, onDelete: 'SET NULL')]
    private EducationTiming $educationTiming;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getEducationWish(): ?Education
    {
        return $this->educationWish;
    }

    public function setEducationWish(?Education $educationWish): self
    {
        $this->educationWish = $educationWish;

        return $this;
    }

    public function getAccessWish(): ?AccessWish
    {
        return $this->accessWish;
    }

    public function setAccessWish(?AccessWish $accessWish): self
    {
        $this->accessWish = $accessWish;

        return $this;
    }

    public function getAccessWishReregistrations(): ?AccessWish
    {
        return $this->accessWishReregistrations;
    }

    public function setAccessWishReregistrations(?AccessWish $accessWishReregistrations): self
    {
        $this->accessWishReregistrations = $accessWishReregistrations;

        return $this;
    }

    public function getEducationCurriculum(): ?EducationCurriculum
    {
        return $this->educationCurriculum;
    }

    public function setEducationCurriculum(?EducationCurriculum $educationCurriculum): self
    {
        $this->educationCurriculum = $educationCurriculum;

        return $this;
    }

    public function getEducationStudent(): ?EducationStudent
    {
        return $this->educationStudent;
    }

    public function setEducationStudent(?EducationStudent $educationStudent): self
    {
        $this->educationStudent = $educationStudent;

        return $this;
    }

    public function getEducationTiming(): ?EducationTiming
    {
        return $this->educationTiming;
    }

    public function setEducationTiming(?EducationTiming $educationTiming): self
    {
        $this->educationTiming = $educationTiming;

        return $this;
    }
}