<?php

namespace App\Proxies\__CG__\Application\Models;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class Menu extends \Application\Models\Menu 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 getIdmenu()
    {
        if ($this->__isInitialized__ === false) {
            return $this->_identifier["idmenu"];
        }
        $this->__load();
        return parent::getIdmenu();
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    public function __sleep()
    {
        return array('__isInitialized__', 'idmenu', 'nom', 'action', 'controller', 'ordreapparition', 'icon', 'statut', 'idparent');
    }

    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);
        }
        
    }
}