<?php

namespace Proxies\__CG__\Fishman\WorkshopBundle\Entity;

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

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

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

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

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

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

    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 setWorkshopapplicationactivity(\Fishman\WorkshopBundle\Entity\Workshopapplicationactivity $workshopapplicationactivity = NULL)
    {
        $this->__load();
        return parent::setWorkshopapplicationactivity($workshopapplicationactivity);
    }

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

    public function setMyerbriggs(\Fishman\WorkshopBundle\Entity\Myerbriggs $myerbriggs = NULL)
    {
        $this->__load();
        return parent::setMyerbriggs($myerbriggs);
    }

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

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

    public function addWorkbooktalent(\Fishman\WorkshopBundle\Entity\Workbooktalent $workbooktalents)
    {
        $this->__load();
        return parent::addWorkbooktalent($workbooktalents);
    }

    public function removeWorkbooktalent(\Fishman\WorkshopBundle\Entity\Workbooktalent $workbooktalents)
    {
        $this->__load();
        return parent::removeWorkbooktalent($workbooktalents);
    }

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

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

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'evaluated', 'myerbriggs_status', 'talents_status', 'created', 'changed', 'myerbriggs', 'workbooktalents', 'workshopapplicationactivity');
    }

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