<?php

namespace Proxies\__CG__\Fishman\NotificationBundle\Entity;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    public function setNotificationscheduling(\Fishman\NotificationBundle\Entity\Notificationscheduling $notificationscheduling = NULL)
    {
        $this->__load();
        return parent::setNotificationscheduling($notificationscheduling);
    }

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

    public function addNotificationsend(\Fishman\NotificationBundle\Entity\Notificationsend $notificationsends)
    {
        $this->__load();
        return parent::addNotificationsend($notificationsends);
    }

    public function removeNotificationsend(\Fishman\NotificationBundle\Entity\Notificationsend $notificationsends)
    {
        $this->__load();
        return parent::removeNotificationsend($notificationsends);
    }

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

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

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

    public function sendNotification(\Doctrine\Bundle\DoctrineBundle\Registry $doctrine, $mailer, $logger, $router, $templating, $type)
    {
        $this->__load();
        return parent::sendNotification($doctrine, $mailer, $logger, $router, $templating, $type);
    }

    public function reeplaceTokens($text, $doctrine, $router)
    {
        $this->__load();
        return parent::reeplaceTokens($text, $doctrine, $router);
    }

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

    public function addNotificationmanualdetail(\Fishman\NotificationBundle\Entity\Notificationmanualdetails $notificationmanualdetails)
    {
        $this->__load();
        return parent::addNotificationmanualdetail($notificationmanualdetails);
    }

    public function removeNotificationmanualdetail(\Fishman\NotificationBundle\Entity\Notificationmanualdetails $notificationmanualdetails)
    {
        $this->__load();
        return parent::removeNotificationmanualdetail($notificationmanualdetails);
    }

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


    public function __sleep()
    {
        return array('__isInitialized__', 'id', 'initdate', 'enddate', 'entity_type', 'entity_id', 'next_notification', 'status', 'workinginformation_id', 'profile', 'notificationmanualdetails', 'notificationsends', 'notificationscheduling');
    }

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