<?php

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity(repositoryClass="App\Repository\AbsenceRepository")
 */
class Absence
{
    /**
     * @ORM\Id()
     * @ORM\GeneratedValue()
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="boolean")
     */
    private $pritomen;

    /**
     * @ORM\Column(type="date")
     */
    private $datum;

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

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Zak", inversedBy="absence")
     */
    private $zak;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Ucitele", inversedBy="absence")
     */
    private $ucitele;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Predmet", inversedBy="absence")
     */
    private $predmet;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Doba", inversedBy="absence")
     * @ORM\JoinColumn(nullable=false)
     */
    private $doba;

    /**
     * @ORM\ManyToOne(targetEntity="App\Entity\Cas", inversedBy="absence")
     */
    private $cas;



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

    public function getPritomen(): ?bool
    {
        return $this->pritomen;
    }

    public function setPritomen(bool $pritomen): self
    {
        $this->pritomen = $pritomen;

        return $this;
    }

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

    public function setDatum(\DateTimeInterface $datum): self
    {
        $this->datum = $datum;

        return $this;
    }

    public function getPoznamka(): ?string
    {
        return $this->poznamka;
    }

    public function setPoznamka(?string $poznamka): self
    {
        $this->poznamka = $poznamka;

        return $this;
    }

    public function getZak(): ?Zak
    {
        return $this->zak;
    }

    public function setZak(?Zak $zak): self
    {
        $this->zak = $zak;

        return $this;
    }

    public function getUcitele(): ?Ucitele
    {
        return $this->ucitele;
    }

    public function setUcitele(?Ucitele $ucitele): self
    {
        $this->ucitele = $ucitele;

        return $this;
    }

    public function getPredmet(): ?Predmet
    {
        return $this->predmet;
    }

    public function setPredmet(?Predmet $predmet): self
    {
        $this->predmet = $predmet;

        return $this;
    }

    public function getDoba(): ?Doba
    {
        return $this->doba;
    }

    public function setDoba(?Doba $doba): self
    {
        $this->doba = $doba;

        return $this;
    }

    public function getCas(): ?Cas
    {
        return $this->cas;
    }

    public function setCas(?Cas $cas): self
    {
        $this->cas = $cas;

        return $this;
    }

}
