<?php

namespace App\Entity;

use App\Repository\ClassificationEnergetiqueRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass=ClassificationEnergetiqueRepository::class)
 * @ORM\Table(schema="sav")
 */
class ClassificationEnergetique
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\ManyToOne(targetEntity=EquipementType::class, inversedBy="classificationEnergetiques")
     * @ORM\JoinColumn(name="idequipement_type")
     */
    private $equipement_type;

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

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

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

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

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

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

    /**
     * @ORM\ManyToOne(targetEntity=ClasseRendement::class, inversedBy="classificationEnergetiques")
     * @ORM\JoinColumn(name="idclasse_rendement")
     */
    private $classe_rendement;

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

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

    /**
     * @ORM\ManyToOne(targetEntity=ClasseEnergetique::class, inversedBy="classificationEnergetiques")
     * @ORM\JoinColumn(name="idclasse_energetique")
     */
    private $classe_energetique;

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

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

    public function __construct()
    {
        $this->equipement_type = new ArrayCollection();
        $this->classe_rendement = new ArrayCollection();
        $this->classe_energetique = new ArrayCollection();
    }

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

    public function getDebutFabrication(): ?\DateTimeInterface
    {
        return $this->debut_fabrication;
    }

    public function setDebutFabrication(?\DateTimeInterface $debut_fabrication): self
    {
        $this->debut_fabrication = $debut_fabrication;

        return $this;
    }

    public function getFinFabrication(): ?\DateTimeInterface
    {
        return $this->fin_fabrication;
    }

    public function setFinFabrication(?\DateTimeInterface $fin_fabrication): self
    {
        $this->fin_fabrication = $fin_fabrication;

        return $this;
    }

    public function getRendement(): ?int
    {
        return $this->rendement;
    }

    public function setRendement(?int $rendement): self
    {
        $this->rendement = $rendement;

        return $this;
    }

    public function getNox(): ?int
    {
        return $this->nox;
    }

    public function setNox(?int $nox): self
    {
        $this->nox = $nox;

        return $this;
    }

    public function getEvacuationEtanche(): ?int
    {
        return $this->evacuation_etanche;
    }

    public function setEvacuationEtanche(?int $evacuation_etanche): self
    {
        $this->evacuation_etanche = $evacuation_etanche;

        return $this;
    }

    public function getBallonIntegre(): ?int
    {
        return $this->ballon_integre;
    }

    public function setBallonIntegre(?int $ballon_integre): self
    {
        $this->ballon_integre = $ballon_integre;

        return $this;
    }

    public function getDebutClasseEnergetique(): ?\DateTimeInterface
    {
        return $this->debut_classe_energetique;
    }

    public function setDebutClasseEnergetique(?\DateTimeInterface $debut_classe_energetique): self
    {
        $this->debut_classe_energetique = $debut_classe_energetique;

        return $this;
    }

    public function getFinClasseEnergetique(): ?\DateTimeInterface
    {
        return $this->fin_classe_energetique;
    }

    public function setFinClasseEnergetique(?\DateTimeInterface $fin_classe_energetique): self
    {
        $this->fin_classe_energetique = $fin_classe_energetique;

        return $this;
    }

    public function getRendementReference(): ?int
    {
        return $this->rendement_reference;
    }

    public function setRendementReference(?int $rendement_reference): self
    {
        $this->rendement_reference = $rendement_reference;

        return $this;
    }

    public function getNoxReference(): ?int
    {
        return $this->nox_reference;
    }

    public function setNoxReference(?int $nox_reference): self
    {
        $this->nox_reference = $nox_reference;

        return $this;
    }

    public function getEquipementType(): ?EquipementType
    {
        return $this->equipement_type;
    }

    public function setEquipementType(?EquipementType $equipement_type): self
    {
        $this->equipement_type = $equipement_type;

        return $this;
    }

    public function getClasseRendement(): ?ClasseRendement
    {
        return $this->classe_rendement;
    }

    public function setClasseRendement(?ClasseRendement $classe_rendement): self
    {
        $this->classe_rendement = $classe_rendement;

        return $this;
    }

    public function getClasseEnergetique(): ?ClasseEnergetique
    {
        return $this->classe_energetique;
    }

    public function setClasseEnergetique(?ClasseEnergetique $classe_energetique): self
    {
        $this->classe_energetique = $classe_energetique;

        return $this;
    }
}
