<?php

namespace App\Entity;

use App\Repository\PerformanceRepository;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=PerformanceRepository::class)
 */
class Performance
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity=Year::class)
     */
    private $year;

    /**
     * @ORM\ManyToOne(targetEntity=Desagregation::class)
     */
    private $desagregation;

    /**
     * @ORM\Column(type="integer", nullable=true)
     */
    private $modalite;

    /**
     * @ORM\ManyToOne(targetEntity=Mainstay::class)
     */
    private $mainstay;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $performance;

    /**
     * @ORM\Column(type="text", nullable=true)
     */
    private $analyse;

    /**
     * @ORM\ManyToOne(targetEntity=Goal::class)
     */
    private $goal;

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

    public function getYear(): ?Year
    {
        return $this->year;
    }

    public function setYear(?Year $year): self
    {
        $this->year = $year;

        return $this;
    }

    public function getDesagregation(): ?Desagregation
    {
        return $this->desagregation;
    }

    public function setDesagregation(?Desagregation $desagregation): self
    {
        $this->desagregation = $desagregation;

        return $this;
    }

    public function getModalite(): ?int
    {
        return $this->modalite;
    }

    public function setModalite(?int $modalite): self
    {
        $this->modalite = $modalite;

        return $this;
    }

    public function getMainstay(): ?Mainstay
    {
        return $this->mainstay;
    }

    public function setMainstay(?Mainstay $mainstay): self
    {
        $this->mainstay = $mainstay;

        return $this;
    }

    public function getPerformance(): ?string
    {
        return $this->performance;
    }

    public function setPerformance(?string $performance): self
    {
        $this->performance = $performance;

        return $this;
    }

    public function getAnalyse(): ?string
    {
        return $this->analyse;
    }

    public function setAnalyse(?string $analyse): self
    {
        $this->analyse = $analyse;

        return $this;
    }

    public function getGoal(): ?Goal
    {
        return $this->goal;
    }

    public function setGoal(?Goal $goal): self
    {
        $this->goal = $goal;

        return $this;
    }
}
