<?php

namespace Proxies\__CG__\App\Entity;

/**
 * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR
 */
class Zak extends \App\Entity\Zak implements \Doctrine\ORM\Proxy\Proxy
{
    /**
     * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with
     *      three parameters, being respectively the proxy object to be initialized, the method that triggered the
     *      initialization process and an array of ordered parameters that were passed to that method.
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setInitializer
     */
    public $__initializer__;

    /**
     * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setCloner
     */
    public $__cloner__;

    /**
     * @var boolean flag indicating if this object was already initialized
     *
     * @see \Doctrine\Common\Persistence\Proxy::__isInitialized
     */
    public $__isInitialized__ = false;

    /**
     * @var array<string, null> properties to be lazy loaded, indexed by property name
     */
    public static $lazyPropertiesNames = array (
);

    /**
     * @var array<string, mixed> default values of properties to be lazy loaded, with keys being the property names
     *
     * @see \Doctrine\Common\Proxy\Proxy::__getLazyProperties
     */
    public static $lazyPropertiesDefaults = array (
);



    public function __construct(?\Closure $initializer = null, ?\Closure $cloner = null)
    {

        $this->__initializer__ = $initializer;
        $this->__cloner__      = $cloner;
    }







    /**
     * 
     * @return array
     */
    public function __sleep()
    {
        if ($this->__isInitialized__) {
            return ['__isInitialized__', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'id', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'jmeno', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prijmeni', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'datNar', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'image', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'stat', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'okres', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'ulice', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'cisPop', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'trida', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'skola', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'znamka', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'psc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'poznamka', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'tel', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'user', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'historie', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'Rod_cis', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pohlavi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'obcanstvi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'OP', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pas', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'email', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'm_cast', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pred_skol', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zah', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_uk', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zd_poj', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'ind_stud_plan', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'znevyhodneni', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'nadani', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'upr_vzd_program', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'odl_kult_prostredi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prodl_delka_vzd', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'uprava_vyst_vzdel', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'Dat_vyd_Doporuc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_konce_doporuc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'norm_fin_narocnost', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'forma_poriz_pomucky', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'fin_narocnost', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zah_PO', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_uk_PO', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'absence', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'rodic', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kv_st_obc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zah_doc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kod_uk', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prizn', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zpusob', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'fin', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zmen', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kod_zmen', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kat_znev', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pspo'];
        }

        return ['__isInitialized__', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'id', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'jmeno', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prijmeni', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'datNar', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'image', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'stat', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'okres', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'ulice', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'cisPop', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'trida', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'skola', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'znamka', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'psc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'poznamka', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'tel', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'user', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'historie', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'Rod_cis', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pohlavi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'obcanstvi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'OP', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pas', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'email', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'm_cast', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pred_skol', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zah', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_uk', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zd_poj', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'ind_stud_plan', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'znevyhodneni', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'nadani', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'upr_vzd_program', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'odl_kult_prostredi', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prodl_delka_vzd', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'uprava_vyst_vzdel', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'Dat_vyd_Doporuc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_konce_doporuc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'norm_fin_narocnost', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'forma_poriz_pomucky', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'fin_narocnost', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zah_PO', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_uk_PO', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'absence', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'rodic', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kv_st_obc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zah_doc', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kod_uk', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'prizn', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'zpusob', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'fin', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'dat_zmen', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kod_zmen', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'kat_znev', '' . "\0" . 'App\\Entity\\Zak' . "\0" . 'pspo'];
    }

    /**
     * 
     */
    public function __wakeup()
    {
        if ( ! $this->__isInitialized__) {
            $this->__initializer__ = function (Zak $proxy) {
                $proxy->__setInitializer(null);
                $proxy->__setCloner(null);

                $existingProperties = get_object_vars($proxy);

                foreach ($proxy::$lazyPropertiesDefaults as $property => $defaultValue) {
                    if ( ! array_key_exists($property, $existingProperties)) {
                        $proxy->$property = $defaultValue;
                    }
                }
            };

        }
    }

    /**
     * 
     */
    public function __clone()
    {
        $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []);
    }

    /**
     * Forces initialization of the proxy
     */
    public function __load()
    {
        $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []);
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __isInitialized()
    {
        return $this->__isInitialized__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitialized($initialized)
    {
        $this->__isInitialized__ = $initialized;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitializer(\Closure $initializer = null)
    {
        $this->__initializer__ = $initializer;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __getInitializer()
    {
        return $this->__initializer__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setCloner(\Closure $cloner = null)
    {
        $this->__cloner__ = $cloner;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific cloning logic
     */
    public function __getCloner()
    {
        return $this->__cloner__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     * @deprecated no longer in use - generated code now relies on internal components rather than generated public API
     * @static
     */
    public function __getLazyProperties()
    {
        return self::$lazyPropertiesDefaults;
    }

    
    /**
     * {@inheritDoc}
     */
    public function __toString()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, '__toString', []);

        return parent::__toString();
    }

    /**
     * {@inheritDoc}
     */
    public function getId(): ?int
    {
        if ($this->__isInitialized__ === false) {
            return (int)  parent::getId();
        }


        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []);

        return parent::getId();
    }

    /**
     * {@inheritDoc}
     */
    public function getJmeno(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getJmeno', []);

        return parent::getJmeno();
    }

    /**
     * {@inheritDoc}
     */
    public function setJmeno(string $jmeno): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setJmeno', [$jmeno]);

        return parent::setJmeno($jmeno);
    }

    /**
     * {@inheritDoc}
     */
    public function getPrijmeni(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPrijmeni', []);

        return parent::getPrijmeni();
    }

    /**
     * {@inheritDoc}
     */
    public function setPrijmeni(string $prijmeni): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPrijmeni', [$prijmeni]);

        return parent::setPrijmeni($prijmeni);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatNar(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatNar', []);

        return parent::getDatNar();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatNar(\DateTimeInterface $datNar): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatNar', [$datNar]);

        return parent::setDatNar($datNar);
    }

    /**
     * {@inheritDoc}
     */
    public function getImage(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getImage', []);

        return parent::getImage();
    }

    /**
     * {@inheritDoc}
     */
    public function setImage(?string $image): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setImage', [$image]);

        return parent::setImage($image);
    }

    /**
     * {@inheritDoc}
     */
    public function getStat(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStat', []);

        return parent::getStat();
    }

    /**
     * {@inheritDoc}
     */
    public function setStat(?string $stat): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStat', [$stat]);

        return parent::setStat($stat);
    }

    /**
     * {@inheritDoc}
     */
    public function getOkres(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOkres', []);

        return parent::getOkres();
    }

    /**
     * {@inheritDoc}
     */
    public function setOkres(?string $okres): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOkres', [$okres]);

        return parent::setOkres($okres);
    }

    /**
     * {@inheritDoc}
     */
    public function getUlice(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUlice', []);

        return parent::getUlice();
    }

    /**
     * {@inheritDoc}
     */
    public function setUlice(?string $ulice): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUlice', [$ulice]);

        return parent::setUlice($ulice);
    }

    /**
     * {@inheritDoc}
     */
    public function getCisPop(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCisPop', []);

        return parent::getCisPop();
    }

    /**
     * {@inheritDoc}
     */
    public function setCisPop(?string $cisPop): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCisPop', [$cisPop]);

        return parent::setCisPop($cisPop);
    }

    /**
     * {@inheritDoc}
     */
    public function getTrida(): ?\App\Entity\Trida
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTrida', []);

        return parent::getTrida();
    }

    /**
     * {@inheritDoc}
     */
    public function setTrida(?\App\Entity\Trida $trida): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTrida', [$trida]);

        return parent::setTrida($trida);
    }

    /**
     * {@inheritDoc}
     */
    public function getSkola(): ?\App\Entity\Skola
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSkola', []);

        return parent::getSkola();
    }

    /**
     * {@inheritDoc}
     */
    public function setSkola(?\App\Entity\Skola $skola): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSkola', [$skola]);

        return parent::setSkola($skola);
    }

    /**
     * {@inheritDoc}
     */
    public function getZnamka(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZnamka', []);

        return parent::getZnamka();
    }

    /**
     * {@inheritDoc}
     */
    public function addZnamka(\App\Entity\Znamka $znamka): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addZnamka', [$znamka]);

        return parent::addZnamka($znamka);
    }

    /**
     * {@inheritDoc}
     */
    public function removeZnamka(\App\Entity\Znamka $znamka): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeZnamka', [$znamka]);

        return parent::removeZnamka($znamka);
    }

    /**
     * {@inheritDoc}
     */
    public function getPsc(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPsc', []);

        return parent::getPsc();
    }

    /**
     * {@inheritDoc}
     */
    public function setPsc(?int $psc): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPsc', [$psc]);

        return parent::setPsc($psc);
    }

    /**
     * {@inheritDoc}
     */
    public function getPoznamka(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPoznamka', []);

        return parent::getPoznamka();
    }

    /**
     * {@inheritDoc}
     */
    public function setPoznamka(?string $poznamka): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPoznamka', [$poznamka]);

        return parent::setPoznamka($poznamka);
    }

    /**
     * {@inheritDoc}
     */
    public function getTel(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTel', []);

        return parent::getTel();
    }

    /**
     * {@inheritDoc}
     */
    public function setTel(?string $tel): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTel', [$tel]);

        return parent::setTel($tel);
    }

    /**
     * {@inheritDoc}
     */
    public function getUser(): ?\App\Entity\User
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUser', []);

        return parent::getUser();
    }

    /**
     * {@inheritDoc}
     */
    public function setUser(?\App\Entity\User $user): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUser', [$user]);

        return parent::setUser($user);
    }

    /**
     * {@inheritDoc}
     */
    public function getHistorie(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getHistorie', []);

        return parent::getHistorie();
    }

    /**
     * {@inheritDoc}
     */
    public function addHistorie(\App\Entity\Historie $historie): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addHistorie', [$historie]);

        return parent::addHistorie($historie);
    }

    /**
     * {@inheritDoc}
     */
    public function removeHistorie(\App\Entity\Historie $historie): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeHistorie', [$historie]);

        return parent::removeHistorie($historie);
    }

    /**
     * {@inheritDoc}
     */
    public function getRodCis(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRodCis', []);

        return parent::getRodCis();
    }

    /**
     * {@inheritDoc}
     */
    public function setRodCis(string $Rod_cis): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRodCis', [$Rod_cis]);

        return parent::setRodCis($Rod_cis);
    }

    /**
     * {@inheritDoc}
     */
    public function getPohlavi(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPohlavi', []);

        return parent::getPohlavi();
    }

    /**
     * {@inheritDoc}
     */
    public function setPohlavi(bool $pohlavi): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPohlavi', [$pohlavi]);

        return parent::setPohlavi($pohlavi);
    }

    /**
     * {@inheritDoc}
     */
    public function getObcanstvi(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getObcanstvi', []);

        return parent::getObcanstvi();
    }

    /**
     * {@inheritDoc}
     */
    public function setObcanstvi(string $obcanstvi): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setObcanstvi', [$obcanstvi]);

        return parent::setObcanstvi($obcanstvi);
    }

    /**
     * {@inheritDoc}
     */
    public function getOP(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOP', []);

        return parent::getOP();
    }

    /**
     * {@inheritDoc}
     */
    public function setOP(?int $OP): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOP', [$OP]);

        return parent::setOP($OP);
    }

    /**
     * {@inheritDoc}
     */
    public function getPas(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPas', []);

        return parent::getPas();
    }

    /**
     * {@inheritDoc}
     */
    public function setPas(?int $pas): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPas', [$pas]);

        return parent::setPas($pas);
    }

    /**
     * {@inheritDoc}
     */
    public function getEmail(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEmail', []);

        return parent::getEmail();
    }

    /**
     * {@inheritDoc}
     */
    public function setEmail(?string $email): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setEmail', [$email]);

        return parent::setEmail($email);
    }

    /**
     * {@inheritDoc}
     */
    public function getMCast(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getMCast', []);

        return parent::getMCast();
    }

    /**
     * {@inheritDoc}
     */
    public function setMCast(?string $m_cast): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setMCast', [$m_cast]);

        return parent::setMCast($m_cast);
    }

    /**
     * {@inheritDoc}
     */
    public function getPredSkol(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPredSkol', []);

        return parent::getPredSkol();
    }

    /**
     * {@inheritDoc}
     */
    public function setPredSkol(?string $pred_skol): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPredSkol', [$pred_skol]);

        return parent::setPredSkol($pred_skol);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatZah(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatZah', []);

        return parent::getDatZah();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatZah(\DateTimeInterface $dat_zah): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatZah', [$dat_zah]);

        return parent::setDatZah($dat_zah);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatUk(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatUk', []);

        return parent::getDatUk();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatUk(?\DateTimeInterface $dat_uk): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatUk', [$dat_uk]);

        return parent::setDatUk($dat_uk);
    }

    /**
     * {@inheritDoc}
     */
    public function getZdPoj(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZdPoj', []);

        return parent::getZdPoj();
    }

    /**
     * {@inheritDoc}
     */
    public function setZdPoj(?int $zd_poj): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setZdPoj', [$zd_poj]);

        return parent::setZdPoj($zd_poj);
    }

    /**
     * {@inheritDoc}
     */
    public function getIndStudPlan(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getIndStudPlan', []);

        return parent::getIndStudPlan();
    }

    /**
     * {@inheritDoc}
     */
    public function setIndStudPlan(int $ind_stud_plan): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setIndStudPlan', [$ind_stud_plan]);

        return parent::setIndStudPlan($ind_stud_plan);
    }

    /**
     * {@inheritDoc}
     */
    public function getZnevyhodneni(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZnevyhodneni', []);

        return parent::getZnevyhodneni();
    }

    /**
     * {@inheritDoc}
     */
    public function setZnevyhodneni(?string $znevyhodneni): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setZnevyhodneni', [$znevyhodneni]);

        return parent::setZnevyhodneni($znevyhodneni);
    }

    /**
     * {@inheritDoc}
     */
    public function getNadani(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNadani', []);

        return parent::getNadani();
    }

    /**
     * {@inheritDoc}
     */
    public function setNadani(?int $nadani): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNadani', [$nadani]);

        return parent::setNadani($nadani);
    }

    /**
     * {@inheritDoc}
     */
    public function getUprVzdProgram(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUprVzdProgram', []);

        return parent::getUprVzdProgram();
    }

    /**
     * {@inheritDoc}
     */
    public function setUprVzdProgram(?int $upr_vzd_program): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUprVzdProgram', [$upr_vzd_program]);

        return parent::setUprVzdProgram($upr_vzd_program);
    }

    /**
     * {@inheritDoc}
     */
    public function getOdlKultProstredi(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOdlKultProstredi', []);

        return parent::getOdlKultProstredi();
    }

    /**
     * {@inheritDoc}
     */
    public function setOdlKultProstredi(?string $odl_kult_prostredi): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setOdlKultProstredi', [$odl_kult_prostredi]);

        return parent::setOdlKultProstredi($odl_kult_prostredi);
    }

    /**
     * {@inheritDoc}
     */
    public function getProdlDelkaVzd(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getProdlDelkaVzd', []);

        return parent::getProdlDelkaVzd();
    }

    /**
     * {@inheritDoc}
     */
    public function setProdlDelkaVzd(?string $prodl_delka_vzd): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setProdlDelkaVzd', [$prodl_delka_vzd]);

        return parent::setProdlDelkaVzd($prodl_delka_vzd);
    }

    /**
     * {@inheritDoc}
     */
    public function getUpravaVystVzdel(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUpravaVystVzdel', []);

        return parent::getUpravaVystVzdel();
    }

    /**
     * {@inheritDoc}
     */
    public function setUpravaVystVzdel(?bool $uprava_vyst_vzdel): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setUpravaVystVzdel', [$uprava_vyst_vzdel]);

        return parent::setUpravaVystVzdel($uprava_vyst_vzdel);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatVydDoporuc(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatVydDoporuc', []);

        return parent::getDatVydDoporuc();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatVydDoporuc(?\DateTimeInterface $Dat_vyd_Doporuc): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatVydDoporuc', [$Dat_vyd_Doporuc]);

        return parent::setDatVydDoporuc($Dat_vyd_Doporuc);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatKonceDoporuc(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatKonceDoporuc', []);

        return parent::getDatKonceDoporuc();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatKonceDoporuc(?\DateTimeInterface $dat_konce_doporuc): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatKonceDoporuc', [$dat_konce_doporuc]);

        return parent::setDatKonceDoporuc($dat_konce_doporuc);
    }

    /**
     * {@inheritDoc}
     */
    public function getNormFinNarocnost(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getNormFinNarocnost', []);

        return parent::getNormFinNarocnost();
    }

    /**
     * {@inheritDoc}
     */
    public function setNormFinNarocnost(?string $norm_fin_narocnost): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setNormFinNarocnost', [$norm_fin_narocnost]);

        return parent::setNormFinNarocnost($norm_fin_narocnost);
    }

    /**
     * {@inheritDoc}
     */
    public function getFormaPorizPomucky(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFormaPorizPomucky', []);

        return parent::getFormaPorizPomucky();
    }

    /**
     * {@inheritDoc}
     */
    public function setFormaPorizPomucky(?string $forma_poriz_pomucky): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFormaPorizPomucky', [$forma_poriz_pomucky]);

        return parent::setFormaPorizPomucky($forma_poriz_pomucky);
    }

    /**
     * {@inheritDoc}
     */
    public function getFinNarocnost(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFinNarocnost', []);

        return parent::getFinNarocnost();
    }

    /**
     * {@inheritDoc}
     */
    public function setFinNarocnost(?bool $fin_narocnost): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFinNarocnost', [$fin_narocnost]);

        return parent::setFinNarocnost($fin_narocnost);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatZahPO(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatZahPO', []);

        return parent::getDatZahPO();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatZahPO(?\DateTimeInterface $dat_zah_PO): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatZahPO', [$dat_zah_PO]);

        return parent::setDatZahPO($dat_zah_PO);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatUkPO(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatUkPO', []);

        return parent::getDatUkPO();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatUkPO(?\DateTimeInterface $dat_uk_PO): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatUkPO', [$dat_uk_PO]);

        return parent::setDatUkPO($dat_uk_PO);
    }

    /**
     * {@inheritDoc}
     */
    public function getAbsence(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getAbsence', []);

        return parent::getAbsence();
    }

    /**
     * {@inheritDoc}
     */
    public function addAbsence(\App\Entity\Absence $absence): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addAbsence', [$absence]);

        return parent::addAbsence($absence);
    }

    /**
     * {@inheritDoc}
     */
    public function removeAbsence(\App\Entity\Absence $absence): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeAbsence', [$absence]);

        return parent::removeAbsence($absence);
    }

    /**
     * {@inheritDoc}
     */
    public function getRodic(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRodic', []);

        return parent::getRodic();
    }

    /**
     * {@inheritDoc}
     */
    public function addRodic(\App\Entity\Rodic $rodic): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addRodic', [$rodic]);

        return parent::addRodic($rodic);
    }

    /**
     * {@inheritDoc}
     */
    public function removeRodic(\App\Entity\Rodic $rodic): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeRodic', [$rodic]);

        return parent::removeRodic($rodic);
    }

    /**
     * {@inheritDoc}
     */
    public function getKvStObc(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getKvStObc', []);

        return parent::getKvStObc();
    }

    /**
     * {@inheritDoc}
     */
    public function setKvStObc(int $kv_st_obc): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setKvStObc', [$kv_st_obc]);

        return parent::setKvStObc($kv_st_obc);
    }

    /**
     * {@inheritDoc}
     */
    public function getZahDoc(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZahDoc', []);

        return parent::getZahDoc();
    }

    /**
     * {@inheritDoc}
     */
    public function setZahDoc(string $zah_doc): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setZahDoc', [$zah_doc]);

        return parent::setZahDoc($zah_doc);
    }

    /**
     * {@inheritDoc}
     */
    public function getKodUk(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getKodUk', []);

        return parent::getKodUk();
    }

    /**
     * {@inheritDoc}
     */
    public function setKodUk(?string $kod_uk): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setKodUk', [$kod_uk]);

        return parent::setKodUk($kod_uk);
    }

    /**
     * {@inheritDoc}
     */
    public function getPrizn(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPrizn', []);

        return parent::getPrizn();
    }

    /**
     * {@inheritDoc}
     */
    public function setPrizn(?int $prizn): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPrizn', [$prizn]);

        return parent::setPrizn($prizn);
    }

    /**
     * {@inheritDoc}
     */
    public function getZpusob(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getZpusob', []);

        return parent::getZpusob();
    }

    /**
     * {@inheritDoc}
     */
    public function setZpusob(int $zpusob): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setZpusob', [$zpusob]);

        return parent::setZpusob($zpusob);
    }

    /**
     * {@inheritDoc}
     */
    public function getFin(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFin', []);

        return parent::getFin();
    }

    /**
     * {@inheritDoc}
     */
    public function setFin(int $fin): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setFin', [$fin]);

        return parent::setFin($fin);
    }

    /**
     * {@inheritDoc}
     */
    public function getDatZmen(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDatZmen', []);

        return parent::getDatZmen();
    }

    /**
     * {@inheritDoc}
     */
    public function setDatZmen(?\DateTimeInterface $dat_zmen): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDatZmen', [$dat_zmen]);

        return parent::setDatZmen($dat_zmen);
    }

    /**
     * {@inheritDoc}
     */
    public function getKodZmen(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getKodZmen', []);

        return parent::getKodZmen();
    }

    /**
     * {@inheritDoc}
     */
    public function setKodZmen(?int $kod_zmen): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setKodZmen', [$kod_zmen]);

        return parent::setKodZmen($kod_zmen);
    }

    /**
     * {@inheritDoc}
     */
    public function getKatZnev(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getKatZnev', []);

        return parent::getKatZnev();
    }

    /**
     * {@inheritDoc}
     */
    public function setKatZnev(?string $kat_znev): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setKatZnev', [$kat_znev]);

        return parent::setKatZnev($kat_znev);
    }

    /**
     * {@inheritDoc}
     */
    public function getPspo(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPspo', []);

        return parent::getPspo();
    }

    /**
     * {@inheritDoc}
     */
    public function setPspo(?int $pspo): \App\Entity\Zak
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPspo', [$pspo]);

        return parent::setPspo($pspo);
    }

}
