<?php

namespace Proxies\__CG__\Fishman\NotificationBundle\Entity;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    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 setNotificationType($notificationType)
    {
        $this->__load();
        return parent::setNotificationType($notificationType);
    }

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

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

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

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

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

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

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

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

    public function addNotificationscheduling(\Fishman\NotificationBundle\Entity\Notificationscheduling $notificationschedulings)
    {
        $this->__load();
        return parent::addNotificationscheduling($notificationschedulings);
    }

    public function removeNotificationscheduling(\Fishman\NotificationBundle\Entity\Notificationscheduling $notificationschedulings)
    {
        $this->__load();
        return parent::removeNotificationscheduling($notificationschedulings);
    }

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'head', 'name', 'entity_type', 'entity_id', 'entity_name', 'entity_status', 'entity_poll_id', 'notification_type', 'notification_type_id', 'notification_type_name', 'notification_type_status', 'subject', 'message', 'predecessor', 'ejecution_type', 'selected_trigger', 'since', 'replay', 'repeat_period', 'repeat_range', 'finish', 'repetition_number', 'asigned', 'sequence', 'status', 'created', 'changed', 'created_by', 'modified_by', 'one_per_evaluator', 'notificationschedulings');
    }

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