<?php

namespace Proxies\__CG__\Fishman\AuthBundle\Entity;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 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 setCompany(\Fishman\EntityBundle\Entity\Company $company = NULL)
    {
        $this->__load();
        return parent::setCompany($company);
    }

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

    public function setCompanycharge(\Fishman\EntityBundle\Entity\Companycharge $companycharge = NULL)
    {
        $this->__load();
        return parent::setCompanycharge($companycharge);
    }

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

    public function setUser(\Fishman\AuthBundle\Entity\User $user = NULL)
    {
        $this->__load();
        return parent::setUser($user);
    }

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

    public function setCompanyorganizationalunit(\Fishman\EntityBundle\Entity\Companyorganizationalunit $companyorganizationalunit = NULL)
    {
        $this->__load();
        return parent::setCompanyorganizationalunit($companyorganizationalunit);
    }

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

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

    public function addWorkshopapplication(\Fishman\WorkshopBundle\Entity\Workshopapplication $workshopapplications)
    {
        $this->__load();
        return parent::addWorkshopapplication($workshopapplications);
    }

    public function removeWorkshopapplication(\Fishman\WorkshopBundle\Entity\Workshopapplication $workshopapplications)
    {
        $this->__load();
        return parent::removeWorkshopapplication($workshopapplications);
    }

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

    public function setDoctrineRegistry(\Doctrine\Bundle\DoctrineBundle\Registry $doctrineRegistry)
    {
        $this->__load();
        return parent::setDoctrineRegistry($doctrineRegistry);
    }

    public function uniqueEmployeeCode(\Symfony\Component\Validator\ExecutionContext $context)
    {
        $this->__load();
        return parent::uniqueEmployeeCode($context);
    }

    public function addPollschedulingpeople(\Fishman\PollBundle\Entity\Pollschedulingpeople $pollschedulingpeoples)
    {
        $this->__load();
        return parent::addPollschedulingpeople($pollschedulingpeoples);
    }

    public function removePollschedulingpeople(\Fishman\PollBundle\Entity\Pollschedulingpeople $pollschedulingpeoples)
    {
        $this->__load();
        return parent::removePollschedulingpeople($pollschedulingpeoples);
    }

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

    public function setHeadquarter(\Fishman\EntityBundle\Entity\Headquarter $headquarter = NULL)
    {
        $this->__load();
        return parent::setHeadquarter($headquarter);
    }

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

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

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

    public function setCompanyfaculty(\Fishman\EntityBundle\Entity\Companyfaculty $companyfaculty = NULL)
    {
        $this->__load();
        return parent::setCompanyfaculty($companyfaculty);
    }

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

    public function setCompanycareer(\Fishman\EntityBundle\Entity\Companycareer $companycareer = NULL)
    {
        $this->__load();
        return parent::setCompanycareer($companycareer);
    }

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'code', 'datein', 'dateout', 'email', 'unit_type', 'boss', 'type', 'grade', 'study_year', 'academic_year', 'status', 'created', 'changed', 'created_by', 'modified_by', 'workshopapplications', 'pollschedulingpeoples', 'user', 'company', 'companyorganizationalunit', 'companycharge', 'companyfaculty', 'companycareer', 'headquarter');
    }

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