<?php

namespace App\Entity;

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

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

    /**
     * @ORM\ManyToOne(targetEntity=Commune::class, inversedBy="valeurSousIndicateurs")
     */
    private $commune;

    /**
     * @ORM\ManyToOne(targetEntity=SousIndicateur::class, inversedBy="valeurSousIndicateurs")
     */
    private $sousindicateur;

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

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    private $valeur;

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

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

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

    public function getCommune(): ?Commune
    {
        return $this->commune;
    }

    public function setCommune(?Commune $commune): self
    {
        $this->commune = $commune;

        return $this;
    }

    public function getSousindicateur(): ?SousIndicateur
    {
        return $this->sousindicateur;
    }

    public function setSousindicateur(?SousIndicateur $sousindicateur): self
    {
        $this->sousindicateur = $sousindicateur;

        return $this;
    }

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

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

        return $this;
    }

    public function getValeur(): ?string
    {
        return $this->valeur;
    }

    public function setValeur(?string $valeur): self
    {
        $this->valeur = $valeur;

        return $this;
    }

    public function getObservation(): ?string
    {
        return $this->observation;
    }

    public function setObservation(?string $observation): self
    {
        $this->observation = $observation;

        return $this;
    }

    public function getSource(): ?string
    {
        return $this->source;
    }

    public function setSource(?string $source): self
    {
        $this->source = $source;

        return $this;
    }
}
