<?php

namespace Proxies\__CG__\Fishman\EntityBundle\Entity;

/**
 * THIS CLASS WAS GENERATED BY THE DOCTRINE ORM. DO NOT EDIT THIS FILE.
 */
class Company extends \Fishman\EntityBundle\Entity\Company 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 getAbsolutePath()
    {
        $this->__load();
        return parent::getAbsolutePath();
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public function setIndustry(\Fishman\EntityBundle\Entity\Industry $industry = NULL)
    {
        $this->__load();
        return parent::setIndustry($industry);
    }

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

    public function setNature(\Fishman\EntityBundle\Entity\Nature $nature = NULL)
    {
        $this->__load();
        return parent::setNature($nature);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public function addHeadquarter(\Fishman\EntityBundle\Entity\Headquarter $headquarters)
    {
        $this->__load();
        return parent::addHeadquarter($headquarters);
    }

    public function removeHeadquarter(\Fishman\EntityBundle\Entity\Headquarter $headquarters)
    {
        $this->__load();
        return parent::removeHeadquarter($headquarters);
    }

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

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

    public function addCompanycharge(\Fishman\EntityBundle\Entity\Companycharge $companycharges)
    {
        $this->__load();
        return parent::addCompanycharge($companycharges);
    }

    public function removeCompanycharge(\Fishman\EntityBundle\Entity\Companycharge $companycharges)
    {
        $this->__load();
        return parent::removeCompanycharge($companycharges);
    }

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

    public function addCompanycourse(\Fishman\EntityBundle\Entity\Companycourse $companycourses)
    {
        $this->__load();
        return parent::addCompanycourse($companycourses);
    }

    public function removeCompanycourse(\Fishman\EntityBundle\Entity\Companycourse $companycourses)
    {
        $this->__load();
        return parent::removeCompanycourse($companycourses);
    }

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

    public function addCompanyorganizationalunit(\Fishman\EntityBundle\Entity\Companyorganizationalunit $companyorganizationalunits)
    {
        $this->__load();
        return parent::addCompanyorganizationalunit($companyorganizationalunits);
    }

    public function removeCompanyorganizationalunit(\Fishman\EntityBundle\Entity\Companyorganizationalunit $companyorganizationalunits)
    {
        $this->__load();
        return parent::removeCompanyorganizationalunit($companyorganizationalunits);
    }

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

    public function addWorkinginformation(\Fishman\AuthBundle\Entity\Workinginformation $workinginformations)
    {
        $this->__load();
        return parent::addWorkinginformation($workinginformations);
    }

    public function removeWorkinginformation(\Fishman\AuthBundle\Entity\Workinginformation $workinginformations)
    {
        $this->__load();
        return parent::removeWorkinginformation($workinginformations);
    }

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

    public function addPollscheduling(\Fishman\PollBundle\Entity\Pollscheduling $pollschedulings)
    {
        $this->__load();
        return parent::addPollscheduling($pollschedulings);
    }

    public function removePollscheduling(\Fishman\PollBundle\Entity\Pollscheduling $pollschedulings)
    {
        $this->__load();
        return parent::removePollscheduling($pollschedulings);
    }

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

    public function addWorkshopcheduling(\Fishman\WorkshopBundle\Entity\Workshopscheduling $workshopchedulings)
    {
        $this->__load();
        return parent::addWorkshopcheduling($workshopchedulings);
    }

    public function removeWorkshopcheduling(\Fishman\WorkshopBundle\Entity\Workshopscheduling $workshopchedulings)
    {
        $this->__load();
        return parent::removeWorkshopcheduling($workshopchedulings);
    }

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

    public function addCompanyfaculty(\Fishman\EntityBundle\Entity\Companyfaculty $companyfacultys)
    {
        $this->__load();
        return parent::addCompanyfaculty($companyfacultys);
    }

    public function removeCompanyfaculty(\Fishman\EntityBundle\Entity\Companyfaculty $companyfacultys)
    {
        $this->__load();
        return parent::removeCompanyfaculty($companyfacultys);
    }

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

    public function addCompanycareer(\Fishman\EntityBundle\Entity\Companycareer $companycareers)
    {
        $this->__load();
        return parent::addCompanycareer($companycareers);
    }

    public function removeCompanycareer(\Fishman\EntityBundle\Entity\Companycareer $companycareers)
    {
        $this->__load();
        return parent::removeCompanycareer($companycareers);
    }

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'code', 'company_type', 'name', 'document_type', 'ruc', 'contact', 'phone', 'annex', 'celphone', 'email', 'volume_business', 'number_employees', 'range_pension', 'type', 'gender', 'number_students', 'religious_affiliation_on', 'religious_affiliation', 'institutional_affiliation', 'education_system', 'internal_school', 'status', 'created', 'changed', 'created_by', 'modified_by', 'image', 'companyfacultys', 'companycareers', 'companycourses', 'companycharges', 'companyorganizationalunits', 'workinginformations', 'workshopchedulings', 'headquarters', 'industry', 'nature');
    }

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