<?php

namespace Proxies\__CG__\Fishman\PollBundle\Entity;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class Pollpersonimport extends \Fishman\PollBundle\Entity\Pollpersonimport 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 getId()
    {
        if ($this->__isInitialized__ === false) {
            return (int) $this->_identifier["id"];
        }
        $this->__load();
        return parent::getId();
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'type', 'rol', 'code', 'names', 'surname', 'lastname', 'sex', 'identity', 'numberidentity', 'email', 'birthday', 'company_id', 'headquarter_id', 'email_information', 'organizationalunit_id', 'charge_id', 'faculty_id', 'career_id', 'academic_year', 'grade', 'study_year');
    }

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