<?php

namespace Proxies\__CG__\App\Entity;

/**
 * DO NOT EDIT THIS FILE - IT WAS CREATED BY DOCTRINE'S PROXY GENERATOR
 */
class Campaign extends \App\Entity\Campaign implements \Doctrine\ORM\Proxy\Proxy
{
    /**
     * @var \Closure the callback responsible for loading properties in the proxy object. This callback is called with
     *      three parameters, being respectively the proxy object to be initialized, the method that triggered the
     *      initialization process and an array of ordered parameters that were passed to that method.
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setInitializer
     */
    public $__initializer__;

    /**
     * @var \Closure the callback responsible of loading properties that need to be copied in the cloned object
     *
     * @see \Doctrine\Common\Proxy\Proxy::__setCloner
     */
    public $__cloner__;

    /**
     * @var boolean flag indicating if this object was already initialized
     *
     * @see \Doctrine\Persistence\Proxy::__isInitialized
     */
    public $__isInitialized__ = false;

    /**
     * @var array<string, null> properties to be lazy loaded, indexed by property name
     */
    public static $lazyPropertiesNames = array (
);

    /**
     * @var array<string, mixed> default values of properties to be lazy loaded, with keys being the property names
     *
     * @see \Doctrine\Common\Proxy\Proxy::__getLazyProperties
     */
    public static $lazyPropertiesDefaults = array (
);



    public function __construct(?\Closure $initializer = null, ?\Closure $cloner = null)
    {

        $this->__initializer__ = $initializer;
        $this->__cloner__      = $cloner;
    }







    /**
     * 
     * @return array
     */
    public function __sleep()
    {
        if ($this->__isInitialized__) {
            return ['__isInitialized__', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'id', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'title', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'description', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'domain', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'client', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'level', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'boltons', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'approvement', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'startDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'endDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'ppc', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'randomContentAssignment', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsProfileId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'semrushId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'assignedContentWriter', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'contentWriter', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'schedules', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'tasklists', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'notices', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'contents', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'negotiations', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'socialLinks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'credentials', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'files', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'timelogs', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'keywords', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'reports', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'teamMembers', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'targetedCountry', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'campaignStartDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'paused', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'landingPages', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'robotsChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'sitemapChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'organicOverviewChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'pageSpeedChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'statusCakeId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'uptimeChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsDropThreshold', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsMonitorTimeframe', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestOrganicOverview', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestPageSpeedCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestRobotsCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestSitemapCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestUptimeCheck'];
        }

        return ['__isInitialized__', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'id', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'title', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'description', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'domain', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'client', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'level', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'boltons', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'approvement', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'startDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'endDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'ppc', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'randomContentAssignment', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsProfileId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'semrushId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'assignedContentWriter', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'contentWriter', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'schedules', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'tasklists', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'notices', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'contents', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'negotiations', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'socialLinks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'credentials', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'files', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'timelogs', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'keywords', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'reports', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'teamMembers', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'targetedCountry', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'campaignStartDate', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'paused', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'landingPages', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'robotsChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'sitemapChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'organicOverviewChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'pageSpeedChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'statusCakeId', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'uptimeChecks', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsDropThreshold', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'googleAnalyticsMonitorTimeframe', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestOrganicOverview', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestPageSpeedCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestRobotsCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestSitemapCheck', '' . "\0" . 'App\\Entity\\Campaign' . "\0" . 'latestUptimeCheck'];
    }

    /**
     * 
     */
    public function __wakeup()
    {
        if ( ! $this->__isInitialized__) {
            $this->__initializer__ = function (Campaign $proxy) {
                $proxy->__setInitializer(null);
                $proxy->__setCloner(null);

                $existingProperties = get_object_vars($proxy);

                foreach ($proxy::$lazyPropertiesDefaults as $property => $defaultValue) {
                    if ( ! array_key_exists($property, $existingProperties)) {
                        $proxy->$property = $defaultValue;
                    }
                }
            };

        }
    }

    /**
     * 
     */
    public function __clone()
    {
        $this->__cloner__ && $this->__cloner__->__invoke($this, '__clone', []);
    }

    /**
     * Forces initialization of the proxy
     */
    public function __load()
    {
        $this->__initializer__ && $this->__initializer__->__invoke($this, '__load', []);
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __isInitialized()
    {
        return $this->__isInitialized__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitialized($initialized)
    {
        $this->__isInitialized__ = $initialized;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setInitializer(\Closure $initializer = null)
    {
        $this->__initializer__ = $initializer;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __getInitializer()
    {
        return $this->__initializer__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     */
    public function __setCloner(\Closure $cloner = null)
    {
        $this->__cloner__ = $cloner;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific cloning logic
     */
    public function __getCloner()
    {
        return $this->__cloner__;
    }

    /**
     * {@inheritDoc}
     * @internal generated method: use only when explicitly handling proxy specific loading logic
     * @deprecated no longer in use - generated code now relies on internal components rather than generated public API
     * @static
     */
    public function __getLazyProperties()
    {
        return self::$lazyPropertiesDefaults;
    }

    
    /**
     * {@inheritDoc}
     */
    public function getId(): ?int
    {
        if ($this->__isInitialized__ === false) {
            return (int)  parent::getId();
        }


        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getId', []);

        return parent::getId();
    }

    /**
     * {@inheritDoc}
     */
    public function getTitle(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTitle', []);

        return parent::getTitle();
    }

    /**
     * {@inheritDoc}
     */
    public function setTitle(string $title): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTitle', [$title]);

        return parent::setTitle($title);
    }

    /**
     * {@inheritDoc}
     */
    public function getDescription(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDescription', []);

        return parent::getDescription();
    }

    /**
     * {@inheritDoc}
     */
    public function setDescription(?string $description): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDescription', [$description]);

        return parent::setDescription($description);
    }

    /**
     * {@inheritDoc}
     */
    public function getDomain(): ?\App\Entity\Domain
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDomain', []);

        return parent::getDomain();
    }

    /**
     * {@inheritDoc}
     */
    public function setDomain(\App\Entity\Domain $domain): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setDomain', [$domain]);

        return parent::setDomain($domain);
    }

    /**
     * {@inheritDoc}
     */
    public function getClient(): ?\App\Entity\Client
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getClient', []);

        return parent::getClient();
    }

    /**
     * {@inheritDoc}
     */
    public function setClient(?\App\Entity\Client $client): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setClient', [$client]);

        return parent::setClient($client);
    }

    /**
     * {@inheritDoc}
     */
    public function getLevel(): ?\App\Entity\Campaign\Level
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLevel', []);

        return parent::getLevel();
    }

    /**
     * {@inheritDoc}
     */
    public function setLevel(?\App\Entity\Campaign\Level $level): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLevel', [$level]);

        return parent::setLevel($level);
    }

    /**
     * {@inheritDoc}
     */
    public function getBoltons(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getBoltons', []);

        return parent::getBoltons();
    }

    /**
     * {@inheritDoc}
     */
    public function addBolton(\App\Entity\Campaign\Bolton $bolton): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addBolton', [$bolton]);

        return parent::addBolton($bolton);
    }

    /**
     * {@inheritDoc}
     */
    public function removeBolton(\App\Entity\Campaign\Bolton $bolton): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeBolton', [$bolton]);

        return parent::removeBolton($bolton);
    }

    /**
     * {@inheritDoc}
     */
    public function getApprovement()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getApprovement', []);

        return parent::getApprovement();
    }

    /**
     * {@inheritDoc}
     */
    public function setApprovement($approvement): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setApprovement', [$approvement]);

        return parent::setApprovement($approvement);
    }

    /**
     * {@inheritDoc}
     */
    public function getStartDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStartDate', []);

        return parent::getStartDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setStartDate($startDate): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStartDate', [$startDate]);

        return parent::setStartDate($startDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getEndDate()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getEndDate', []);

        return parent::getEndDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setEndDate($endDate): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setEndDate', [$endDate]);

        return parent::setEndDate($endDate);
    }

    /**
     * {@inheritDoc}
     */
    public function hasPpc(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasPpc', []);

        return parent::hasPpc();
    }

    /**
     * {@inheritDoc}
     */
    public function setPpc(bool $ppc): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPpc', [$ppc]);

        return parent::setPpc($ppc);
    }

    /**
     * {@inheritDoc}
     */
    public function hasRandomContentAssignment(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasRandomContentAssignment', []);

        return parent::hasRandomContentAssignment();
    }

    /**
     * {@inheritDoc}
     */
    public function setRandomContentAssignment(bool $randomContentAssignment): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setRandomContentAssignment', [$randomContentAssignment]);

        return parent::setRandomContentAssignment($randomContentAssignment);
    }

    /**
     * {@inheritDoc}
     */
    public function hasAssignedContentWriter(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'hasAssignedContentWriter', []);

        return parent::hasAssignedContentWriter();
    }

    /**
     * {@inheritDoc}
     */
    public function setAssignedContentWriter(bool $assignedContentWriter): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setAssignedContentWriter', [$assignedContentWriter]);

        return parent::setAssignedContentWriter($assignedContentWriter);
    }

    /**
     * {@inheritDoc}
     */
    public function getContentWriter(): ?\App\Entity\User
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getContentWriter', []);

        return parent::getContentWriter();
    }

    /**
     * {@inheritDoc}
     */
    public function setContentWriter(?\App\Entity\User $contentWriter): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setContentWriter', [$contentWriter]);

        return parent::setContentWriter($contentWriter);
    }

    /**
     * {@inheritDoc}
     */
    public function getSchedules(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSchedules', []);

        return parent::getSchedules();
    }

    /**
     * {@inheritDoc}
     */
    public function addSchedule(\App\Entity\Campaign\Schedule $schedule): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addSchedule', [$schedule]);

        return parent::addSchedule($schedule);
    }

    /**
     * {@inheritDoc}
     */
    public function removeSchedule(\App\Entity\Campaign\Schedule $schedule): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeSchedule', [$schedule]);

        return parent::removeSchedule($schedule);
    }

    /**
     * {@inheritDoc}
     */
    public function getTasklists(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTasklists', []);

        return parent::getTasklists();
    }

    /**
     * {@inheritDoc}
     */
    public function addTasklist(\App\Entity\Campaign\Tasklist\Tasklist $tasklist): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTasklist', [$tasklist]);

        return parent::addTasklist($tasklist);
    }

    /**
     * {@inheritDoc}
     */
    public function removeTasklist(\App\Entity\Campaign\Tasklist\Tasklist $tasklist): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeTasklist', [$tasklist]);

        return parent::removeTasklist($tasklist);
    }

    /**
     * {@inheritDoc}
     */
    public function getContents(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getContents', []);

        return parent::getContents();
    }

    /**
     * {@inheritDoc}
     */
    public function getContentsNo(): int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getContentsNo', []);

        return parent::getContentsNo();
    }

    /**
     * {@inheritDoc}
     */
    public function addNegotiation(\App\Entity\Negotiation $negotiation): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addNegotiation', [$negotiation]);

        return parent::addNegotiation($negotiation);
    }

    /**
     * {@inheritDoc}
     */
    public function removeNegotiation(\App\Entity\Negotiation $negotiation): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeNegotiation', [$negotiation]);

        return parent::removeNegotiation($negotiation);
    }

    /**
     * {@inheritDoc}
     */
    public function getSocialLinks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSocialLinks', []);

        return parent::getSocialLinks();
    }

    /**
     * {@inheritDoc}
     */
    public function addSocialLink(\App\Entity\Campaign\SocialLink $socialLink): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addSocialLink', [$socialLink]);

        return parent::addSocialLink($socialLink);
    }

    /**
     * {@inheritDoc}
     */
    public function removeSocialLink(\App\Entity\Campaign\SocialLink $socialLink): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeSocialLink', [$socialLink]);

        return parent::removeSocialLink($socialLink);
    }

    /**
     * {@inheritDoc}
     */
    public function getCredentials(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCredentials', []);

        return parent::getCredentials();
    }

    /**
     * {@inheritDoc}
     */
    public function addCredential(\App\Entity\Campaign\Credential $credential): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addCredential', [$credential]);

        return parent::addCredential($credential);
    }

    /**
     * {@inheritDoc}
     */
    public function removeCredential(\App\Entity\Campaign\Credential $credential): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeCredential', [$credential]);

        return parent::removeCredential($credential);
    }

    /**
     * {@inheritDoc}
     */
    public function getFiles()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getFiles', []);

        return parent::getFiles();
    }

    /**
     * {@inheritDoc}
     */
    public function setGoogleAnalyticsProfileId($googleAnalyticsProfileId)
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGoogleAnalyticsProfileId', [$googleAnalyticsProfileId]);

        return parent::setGoogleAnalyticsProfileId($googleAnalyticsProfileId);
    }

    /**
     * {@inheritDoc}
     */
    public function getGoogleAnalyticsProfileId()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGoogleAnalyticsProfileId', []);

        return parent::getGoogleAnalyticsProfileId();
    }

    /**
     * {@inheritDoc}
     */
    public function setSemrushId($semrushId)
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setSemrushId', [$semrushId]);

        return parent::setSemrushId($semrushId);
    }

    /**
     * {@inheritDoc}
     */
    public function getSemrushId()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSemrushId', []);

        return parent::getSemrushId();
    }

    /**
     * {@inheritDoc}
     */
    public function getTimelogs(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTimelogs', []);

        return parent::getTimelogs();
    }

    /**
     * {@inheritDoc}
     */
    public function addTimelog(\App\Entity\Timelog $timelog): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTimelog', [$timelog]);

        return parent::addTimelog($timelog);
    }

    /**
     * {@inheritDoc}
     */
    public function removeTimelog(\App\Entity\Timelog $timelog): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeTimelog', [$timelog]);

        return parent::removeTimelog($timelog);
    }

    /**
     * {@inheritDoc}
     */
    public function getKeywords()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getKeywords', []);

        return parent::getKeywords();
    }

    /**
     * {@inheritDoc}
     */
    public function getReports()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getReports', []);

        return parent::getReports();
    }

    /**
     * {@inheritDoc}
     */
    public function getTeamMembers()
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTeamMembers', []);

        return parent::getTeamMembers();
    }

    /**
     * {@inheritDoc}
     */
    public function addTeamMember(\App\Entity\Campaign\TeamMember $teamMember): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addTeamMember', [$teamMember]);

        return parent::addTeamMember($teamMember);
    }

    /**
     * {@inheritDoc}
     */
    public function removeTeamMember(\App\Entity\Campaign\TeamMember $teamMember): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeTeamMember', [$teamMember]);

        return parent::removeTeamMember($teamMember);
    }

    /**
     * {@inheritDoc}
     */
    public function getTargetedCountry(): ?\App\Entity\Country
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getTargetedCountry', []);

        return parent::getTargetedCountry();
    }

    /**
     * {@inheritDoc}
     */
    public function setTargetedCountry(?\App\Entity\Country $targetedCountry): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setTargetedCountry', [$targetedCountry]);

        return parent::setTargetedCountry($targetedCountry);
    }

    /**
     * {@inheritDoc}
     */
    public function getCampaignStartDate(): ?\DateTimeInterface
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getCampaignStartDate', []);

        return parent::getCampaignStartDate();
    }

    /**
     * {@inheritDoc}
     */
    public function setCampaignStartDate(?\DateTimeInterface $campaignStartDate): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setCampaignStartDate', [$campaignStartDate]);

        return parent::setCampaignStartDate($campaignStartDate);
    }

    /**
     * {@inheritDoc}
     */
    public function getDataType(): string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getDataType', []);

        return parent::getDataType();
    }

    /**
     * {@inheritDoc}
     */
    public function isPaused(): ?bool
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'isPaused', []);

        return parent::isPaused();
    }

    /**
     * {@inheritDoc}
     */
    public function setPaused(bool $paused): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setPaused', [$paused]);

        return parent::setPaused($paused);
    }

    /**
     * {@inheritDoc}
     */
    public function getLandingPages(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLandingPages', []);

        return parent::getLandingPages();
    }

    /**
     * {@inheritDoc}
     */
    public function addLandingPage(\App\Entity\Campaign\LandingPage $landingPage): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addLandingPage', [$landingPage]);

        return parent::addLandingPage($landingPage);
    }

    /**
     * {@inheritDoc}
     */
    public function removeLandingPage(\App\Entity\Campaign\LandingPage $landingPage): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeLandingPage', [$landingPage]);

        return parent::removeLandingPage($landingPage);
    }

    /**
     * {@inheritDoc}
     */
    public function getRobotsChecks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getRobotsChecks', []);

        return parent::getRobotsChecks();
    }

    /**
     * {@inheritDoc}
     */
    public function addRobotsCheck(\App\Entity\Campaign\RobotsCheck $robotsCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addRobotsCheck', [$robotsCheck]);

        return parent::addRobotsCheck($robotsCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function removeRobotsCheck(\App\Entity\Campaign\RobotsCheck $robotsCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeRobotsCheck', [$robotsCheck]);

        return parent::removeRobotsCheck($robotsCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getSitemapChecks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getSitemapChecks', []);

        return parent::getSitemapChecks();
    }

    /**
     * {@inheritDoc}
     */
    public function addSitemapCheck(\App\Entity\Campaign\SitemapCheck $sitemapCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addSitemapCheck', [$sitemapCheck]);

        return parent::addSitemapCheck($sitemapCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function removeSitemapCheck(\App\Entity\Campaign\SitemapCheck $sitemapCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeSitemapCheck', [$sitemapCheck]);

        return parent::removeSitemapCheck($sitemapCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getOrganicOverviewChecks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getOrganicOverviewChecks', []);

        return parent::getOrganicOverviewChecks();
    }

    /**
     * {@inheritDoc}
     */
    public function addOrganicOverviewCheck(\App\Entity\Campaign\OrganicOverviewCheck $organicOverviewCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addOrganicOverviewCheck', [$organicOverviewCheck]);

        return parent::addOrganicOverviewCheck($organicOverviewCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function removeOrganicOverviewCheck(\App\Entity\Campaign\OrganicOverviewCheck $organicOverviewCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeOrganicOverviewCheck', [$organicOverviewCheck]);

        return parent::removeOrganicOverviewCheck($organicOverviewCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getPageSpeedChecks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getPageSpeedChecks', []);

        return parent::getPageSpeedChecks();
    }

    /**
     * {@inheritDoc}
     */
    public function addPageSpeedCheck(\App\Entity\Campaign\PageSpeedCheck $pageSpeedCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addPageSpeedCheck', [$pageSpeedCheck]);

        return parent::addPageSpeedCheck($pageSpeedCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function removePageSpeedCheck(\App\Entity\Campaign\PageSpeedCheck $pageSpeedCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removePageSpeedCheck', [$pageSpeedCheck]);

        return parent::removePageSpeedCheck($pageSpeedCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getStatusCakeId(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getStatusCakeId', []);

        return parent::getStatusCakeId();
    }

    /**
     * {@inheritDoc}
     */
    public function setStatusCakeId(?int $statusCakeId): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setStatusCakeId', [$statusCakeId]);

        return parent::setStatusCakeId($statusCakeId);
    }

    /**
     * {@inheritDoc}
     */
    public function getUptimeChecks(): \Doctrine\Common\Collections\Collection
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getUptimeChecks', []);

        return parent::getUptimeChecks();
    }

    /**
     * {@inheritDoc}
     */
    public function addUptimeCheck(\App\Entity\Campaign\UptimeCheck $uptimeCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'addUptimeCheck', [$uptimeCheck]);

        return parent::addUptimeCheck($uptimeCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function removeUptimeCheck(\App\Entity\Campaign\UptimeCheck $uptimeCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'removeUptimeCheck', [$uptimeCheck]);

        return parent::removeUptimeCheck($uptimeCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getGoogleAnalyticsDropThreshold(): ?int
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGoogleAnalyticsDropThreshold', []);

        return parent::getGoogleAnalyticsDropThreshold();
    }

    /**
     * {@inheritDoc}
     */
    public function setGoogleAnalyticsDropThreshold(?int $googleAnalyticsDropThreshold): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGoogleAnalyticsDropThreshold', [$googleAnalyticsDropThreshold]);

        return parent::setGoogleAnalyticsDropThreshold($googleAnalyticsDropThreshold);
    }

    /**
     * {@inheritDoc}
     */
    public function getGoogleAnalyticsMonitorTimeframe(): ?string
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getGoogleAnalyticsMonitorTimeframe', []);

        return parent::getGoogleAnalyticsMonitorTimeframe();
    }

    /**
     * {@inheritDoc}
     */
    public function setGoogleAnalyticsMonitorTimeframe(?string $googleAnalyticsMonitorTimeframe): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setGoogleAnalyticsMonitorTimeframe', [$googleAnalyticsMonitorTimeframe]);

        return parent::setGoogleAnalyticsMonitorTimeframe($googleAnalyticsMonitorTimeframe);
    }

    /**
     * {@inheritDoc}
     */
    public function getLatestOrganicOverview(): ?\App\Entity\Campaign\OrganicOverviewCheck
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLatestOrganicOverview', []);

        return parent::getLatestOrganicOverview();
    }

    /**
     * {@inheritDoc}
     */
    public function setLatestOrganicOverview(?\App\Entity\Campaign\OrganicOverviewCheck $latestOrganicOverview): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLatestOrganicOverview', [$latestOrganicOverview]);

        return parent::setLatestOrganicOverview($latestOrganicOverview);
    }

    /**
     * {@inheritDoc}
     */
    public function getLatestPageSpeedCheck(): ?\App\Entity\Campaign\PageSpeedCheck
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLatestPageSpeedCheck', []);

        return parent::getLatestPageSpeedCheck();
    }

    /**
     * {@inheritDoc}
     */
    public function setLatestPageSpeedCheck(?\App\Entity\Campaign\PageSpeedCheck $latestPageSpeedCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLatestPageSpeedCheck', [$latestPageSpeedCheck]);

        return parent::setLatestPageSpeedCheck($latestPageSpeedCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getLatestRobotsCheck(): ?\App\Entity\Campaign\RobotsCheck
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLatestRobotsCheck', []);

        return parent::getLatestRobotsCheck();
    }

    /**
     * {@inheritDoc}
     */
    public function setLatestRobotsCheck(?\App\Entity\Campaign\RobotsCheck $latestRobotsCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLatestRobotsCheck', [$latestRobotsCheck]);

        return parent::setLatestRobotsCheck($latestRobotsCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getLatestSitemapCheck(): ?\App\Entity\Campaign\SitemapCheck
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLatestSitemapCheck', []);

        return parent::getLatestSitemapCheck();
    }

    /**
     * {@inheritDoc}
     */
    public function setLatestSitemapCheck(?\App\Entity\Campaign\SitemapCheck $latestSitemapCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLatestSitemapCheck', [$latestSitemapCheck]);

        return parent::setLatestSitemapCheck($latestSitemapCheck);
    }

    /**
     * {@inheritDoc}
     */
    public function getLatestUptimeCheck(): ?\App\Entity\Campaign\UptimeCheck
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'getLatestUptimeCheck', []);

        return parent::getLatestUptimeCheck();
    }

    /**
     * {@inheritDoc}
     */
    public function setLatestUptimeCheck(?\App\Entity\Campaign\UptimeCheck $latestUptimeCheck): \App\Entity\Campaign
    {

        $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLatestUptimeCheck', [$latestUptimeCheck]);

        return parent::setLatestUptimeCheck($latestUptimeCheck);
    }

}
