<?php

namespace App\Proxies\__CG__\Application\Models;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class Personne extends \Application\Models\Personne implements \Doctrine\ORM\Proxy\Proxy
{
    private $_entityPersister;
    private $_identifier;
    public $__isInitialized__ = false;
    public function __construct($entityPersister, $identifier)
    {
        $this->_entityPersister = $entityPersister;
        $this->_identifier = $identifier;
    }
    /** @private */
    public function __load()
    {
        if (!$this->__isInitialized__ && $this->_entityPersister) {
            $this->__isInitialized__ = true;

            if (method_exists($this, "__wakeup")) {
                // call this after __isInitialized__to avoid infinite recursion
                // but before loading to emulate what ClassMetadata::newInstance()
                // provides.
                $this->__wakeup();
            }

            if ($this->_entityPersister->load($this->_identifier, $this) === null) {
                throw new \Doctrine\ORM\EntityNotFoundException();
            }
            unset($this->_entityPersister, $this->_identifier);
        }
    }

    /** @private */
    public function __isInitialized()
    {
        return $this->__isInitialized__;
    }

    
    public function getIdpersonne()
    {
        if ($this->__isInitialized__ === false) {
            return $this->_identifier["idpersonne"];
        }
        $this->__load();
        return parent::getIdpersonne();
    }

    public function setNom($nom)
    {
        $this->__load();
        return parent::setNom($nom);
    }

    public function getNom()
    {
        $this->__load();
        return parent::getNom();
    }

    public function setPrenom($prenom)
    {
        $this->__load();
        return parent::setPrenom($prenom);
    }

    public function getPrenom()
    {
        $this->__load();
        return parent::getPrenom();
    }

    public function setSexe($sexe)
    {
        $this->__load();
        return parent::setSexe($sexe);
    }

    public function getSexe()
    {
        $this->__load();
        return parent::getSexe();
    }

    public function setTelephone($telephone)
    {
        $this->__load();
        return parent::setTelephone($telephone);
    }

    public function getTelephone()
    {
        $this->__load();
        return parent::getTelephone();
    }

    public function setNumcarte($numcarte)
    {
        $this->__load();
        return parent::setNumcarte($numcarte);
    }

    public function getNumcarte()
    {
        $this->__load();
        return parent::getNumcarte();
    }

    public function setVille($ville)
    {
        $this->__load();
        return parent::setVille($ville);
    }

    public function getVille()
    {
        $this->__load();
        return parent::getVille();
    }

    public function setDatenaissance($datenaissance)
    {
        $this->__load();
        return parent::setDatenaissance($datenaissance);
    }

    public function getDatenaissance()
    {
        $this->__load();
        return parent::getDatenaissance();
    }

    public function setNomjeunefille($nomjeunefille)
    {
        $this->__load();
        return parent::setNomjeunefille($nomjeunefille);
    }

    public function getNomjeunefille()
    {
        $this->__load();
        return parent::getNomjeunefille();
    }

    public function setNationalite($nationalite)
    {
        $this->__load();
        return parent::setNationalite($nationalite);
    }

    public function getNationalite()
    {
        $this->__load();
        return parent::getNationalite();
    }

    public function setLieunaissance($lieunaissance)
    {
        $this->__load();
        return parent::setLieunaissance($lieunaissance);
    }

    public function getLieunaissance()
    {
        $this->__load();
        return parent::getLieunaissance();
    }

    public function setPaysresidence($paysresidence)
    {
        $this->__load();
        return parent::setPaysresidence($paysresidence);
    }

    public function getPaysresidence()
    {
        $this->__load();
        return parent::getPaysresidence();
    }

    public function setProfession($profession)
    {
        $this->__load();
        return parent::setProfession($profession);
    }

    public function getProfession()
    {
        $this->__load();
        return parent::getProfession();
    }

    public function setVenantde($venantde)
    {
        $this->__load();
        return parent::setVenantde($venantde);
    }

    public function getVenantde()
    {
        $this->__load();
        return parent::getVenantde();
    }

    public function setSerendant($serendant)
    {
        $this->__load();
        return parent::setSerendant($serendant);
    }

    public function getSerendant()
    {
        $this->__load();
        return parent::getSerendant();
    }

    public function setStatut($statut)
    {
        $this->__load();
        return parent::setStatut($statut);
    }

    public function getStatut()
    {
        $this->__load();
        return parent::getStatut();
    }

    public function setDatedelivrancecni($datedelivrancecni)
    {
        $this->__load();
        return parent::setDatedelivrancecni($datedelivrancecni);
    }

    public function getDatedelivrancecni()
    {
        $this->__load();
        return parent::getDatedelivrancecni();
    }

    public function setLieudelivrancecni($lieudelivrancecni)
    {
        $this->__load();
        return parent::setLieudelivrancecni($lieudelivrancecni);
    }

    public function getLieudelivrancecni()
    {
        $this->__load();
        return parent::getLieudelivrancecni();
    }

    public function setModetransport($modetransport)
    {
        $this->__load();
        return parent::setModetransport($modetransport);
    }

    public function getModetransport()
    {
        $this->__load();
        return parent::getModetransport();
    }

    public function setImmatriculation($immatriculation)
    {
        $this->__load();
        return parent::setImmatriculation($immatriculation);
    }

    public function getImmatriculation()
    {
        $this->__load();
        return parent::getImmatriculation();
    }


    public function __sleep()
    {
        return array('__isInitialized__', 'idpersonne', 'nom', 'prenom', 'sexe', 'telephone', 'numcarte', 'ville', 'datenaissance', 'nomjeunefille', 'nationalite', 'lieunaissance', 'paysresidence', 'profession', 'venantde', 'serendant', 'statut', 'datedelivrancecni', 'lieudelivrancecni', 'modetransport', 'immatriculation');
    }

    public function __clone()
    {
        if (!$this->__isInitialized__ && $this->_entityPersister) {
            $this->__isInitialized__ = true;
            $class = $this->_entityPersister->getClassMetadata();
            $original = $this->_entityPersister->load($this->_identifier);
            if ($original === null) {
                throw new \Doctrine\ORM\EntityNotFoundException();
            }
            foreach ($class->reflFields as $field => $reflProperty) {
                $reflProperty->setValue($this, $reflProperty->getValue($original));
            }
            unset($this->_entityPersister, $this->_identifier);
        }
        
    }
}