<?php
 
 
 

namespace PhpWA\Protocol\Proto\ContextInfo;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\GPBUtil;
use Google\Protobuf\RepeatedField;




class ExternalAdReplyInfo extends \Google\Protobuf\Internal\Message
{
    


    protected $title = null;
    


    protected $body = null;
    


    protected $mediaType = null;
    


    protected $thumbnailUrl = null;
    


    protected $mediaUrl = null;
    


    protected $thumbnail = null;
    


    protected $sourceType = null;
    


    protected $sourceId = null;
    


    protected $sourceUrl = null;
    


    protected $containsAutoReply = null;
    


    protected $renderLargerThumbnail = null;
    


    protected $showAdAttribution = null;
    


    protected $ctwaClid = null;
    


    protected $ref = null;
    


    protected $clickToWhatsappCall = null;
    


    protected $adContextPreviewDismissed = null;
    


    protected $sourceApp = null;
    


    protected $automatedGreetingMessageShown = null;
    


    protected $greetingMessageBody = null;
    


    protected $ctaPayload = null;
    


    protected $disableNudge = null;
    


    protected $originalImageUrl = null;
    


    protected $automatedGreetingMessageCtaType = null;
    


    protected $wtwaAdFormat = null;
    


    protected $adType = null;
    


    protected $wtwaWebsiteUrl = null;
    


    protected $adPreviewUrl = null;

    


































    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    



    public function getTitle()
    {
        return isset($this->title) ? $this->title : '';
    }

    public function hasTitle()
    {
        return isset($this->title);
    }

    public function clearTitle()
    {
        unset($this->title);
    }

    




    public function setTitle($var)
    {
        GPBUtil::checkString($var, True);
        $this->title = $var;

        return $this;
    }

    



    public function getBody()
    {
        return isset($this->body) ? $this->body : '';
    }

    public function hasBody()
    {
        return isset($this->body);
    }

    public function clearBody()
    {
        unset($this->body);
    }

    




    public function setBody($var)
    {
        GPBUtil::checkString($var, True);
        $this->body = $var;

        return $this;
    }

    



    public function getMediaType()
    {
        return isset($this->mediaType) ? $this->mediaType : 0;
    }

    public function hasMediaType()
    {
        return isset($this->mediaType);
    }

    public function clearMediaType()
    {
        unset($this->mediaType);
    }

    




    public function setMediaType($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\ContextInfo\ExternalAdReplyInfo\MediaType::class);
        $this->mediaType = $var;

        return $this;
    }

    



    public function getThumbnailUrl()
    {
        return isset($this->thumbnailUrl) ? $this->thumbnailUrl : '';
    }

    public function hasThumbnailUrl()
    {
        return isset($this->thumbnailUrl);
    }

    public function clearThumbnailUrl()
    {
        unset($this->thumbnailUrl);
    }

    




    public function setThumbnailUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->thumbnailUrl = $var;

        return $this;
    }

    



    public function getMediaUrl()
    {
        return isset($this->mediaUrl) ? $this->mediaUrl : '';
    }

    public function hasMediaUrl()
    {
        return isset($this->mediaUrl);
    }

    public function clearMediaUrl()
    {
        unset($this->mediaUrl);
    }

    




    public function setMediaUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->mediaUrl = $var;

        return $this;
    }

    



    public function getThumbnail()
    {
        return isset($this->thumbnail) ? $this->thumbnail : '';
    }

    public function hasThumbnail()
    {
        return isset($this->thumbnail);
    }

    public function clearThumbnail()
    {
        unset($this->thumbnail);
    }

    




    public function setThumbnail($var)
    {
        GPBUtil::checkString($var, False);
        $this->thumbnail = $var;

        return $this;
    }

    



    public function getSourceType()
    {
        return isset($this->sourceType) ? $this->sourceType : '';
    }

    public function hasSourceType()
    {
        return isset($this->sourceType);
    }

    public function clearSourceType()
    {
        unset($this->sourceType);
    }

    




    public function setSourceType($var)
    {
        GPBUtil::checkString($var, True);
        $this->sourceType = $var;

        return $this;
    }

    



    public function getSourceId()
    {
        return isset($this->sourceId) ? $this->sourceId : '';
    }

    public function hasSourceId()
    {
        return isset($this->sourceId);
    }

    public function clearSourceId()
    {
        unset($this->sourceId);
    }

    




    public function setSourceId($var)
    {
        GPBUtil::checkString($var, True);
        $this->sourceId = $var;

        return $this;
    }

    



    public function getSourceUrl()
    {
        return isset($this->sourceUrl) ? $this->sourceUrl : '';
    }

    public function hasSourceUrl()
    {
        return isset($this->sourceUrl);
    }

    public function clearSourceUrl()
    {
        unset($this->sourceUrl);
    }

    




    public function setSourceUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->sourceUrl = $var;

        return $this;
    }

    



    public function getContainsAutoReply()
    {
        return isset($this->containsAutoReply) ? $this->containsAutoReply : false;
    }

    public function hasContainsAutoReply()
    {
        return isset($this->containsAutoReply);
    }

    public function clearContainsAutoReply()
    {
        unset($this->containsAutoReply);
    }

    




    public function setContainsAutoReply($var)
    {
        GPBUtil::checkBool($var);
        $this->containsAutoReply = $var;

        return $this;
    }

    



    public function getRenderLargerThumbnail()
    {
        return isset($this->renderLargerThumbnail) ? $this->renderLargerThumbnail : false;
    }

    public function hasRenderLargerThumbnail()
    {
        return isset($this->renderLargerThumbnail);
    }

    public function clearRenderLargerThumbnail()
    {
        unset($this->renderLargerThumbnail);
    }

    




    public function setRenderLargerThumbnail($var)
    {
        GPBUtil::checkBool($var);
        $this->renderLargerThumbnail = $var;

        return $this;
    }

    



    public function getShowAdAttribution()
    {
        return isset($this->showAdAttribution) ? $this->showAdAttribution : false;
    }

    public function hasShowAdAttribution()
    {
        return isset($this->showAdAttribution);
    }

    public function clearShowAdAttribution()
    {
        unset($this->showAdAttribution);
    }

    




    public function setShowAdAttribution($var)
    {
        GPBUtil::checkBool($var);
        $this->showAdAttribution = $var;

        return $this;
    }

    



    public function getCtwaClid()
    {
        return isset($this->ctwaClid) ? $this->ctwaClid : '';
    }

    public function hasCtwaClid()
    {
        return isset($this->ctwaClid);
    }

    public function clearCtwaClid()
    {
        unset($this->ctwaClid);
    }

    




    public function setCtwaClid($var)
    {
        GPBUtil::checkString($var, True);
        $this->ctwaClid = $var;

        return $this;
    }

    



    public function getRef()
    {
        return isset($this->ref) ? $this->ref : '';
    }

    public function hasRef()
    {
        return isset($this->ref);
    }

    public function clearRef()
    {
        unset($this->ref);
    }

    




    public function setRef($var)
    {
        GPBUtil::checkString($var, True);
        $this->ref = $var;

        return $this;
    }

    



    public function getClickToWhatsappCall()
    {
        return isset($this->clickToWhatsappCall) ? $this->clickToWhatsappCall : false;
    }

    public function hasClickToWhatsappCall()
    {
        return isset($this->clickToWhatsappCall);
    }

    public function clearClickToWhatsappCall()
    {
        unset($this->clickToWhatsappCall);
    }

    




    public function setClickToWhatsappCall($var)
    {
        GPBUtil::checkBool($var);
        $this->clickToWhatsappCall = $var;

        return $this;
    }

    



    public function getAdContextPreviewDismissed()
    {
        return isset($this->adContextPreviewDismissed) ? $this->adContextPreviewDismissed : false;
    }

    public function hasAdContextPreviewDismissed()
    {
        return isset($this->adContextPreviewDismissed);
    }

    public function clearAdContextPreviewDismissed()
    {
        unset($this->adContextPreviewDismissed);
    }

    




    public function setAdContextPreviewDismissed($var)
    {
        GPBUtil::checkBool($var);
        $this->adContextPreviewDismissed = $var;

        return $this;
    }

    



    public function getSourceApp()
    {
        return isset($this->sourceApp) ? $this->sourceApp : '';
    }

    public function hasSourceApp()
    {
        return isset($this->sourceApp);
    }

    public function clearSourceApp()
    {
        unset($this->sourceApp);
    }

    




    public function setSourceApp($var)
    {
        GPBUtil::checkString($var, True);
        $this->sourceApp = $var;

        return $this;
    }

    



    public function getAutomatedGreetingMessageShown()
    {
        return isset($this->automatedGreetingMessageShown) ? $this->automatedGreetingMessageShown : false;
    }

    public function hasAutomatedGreetingMessageShown()
    {
        return isset($this->automatedGreetingMessageShown);
    }

    public function clearAutomatedGreetingMessageShown()
    {
        unset($this->automatedGreetingMessageShown);
    }

    




    public function setAutomatedGreetingMessageShown($var)
    {
        GPBUtil::checkBool($var);
        $this->automatedGreetingMessageShown = $var;

        return $this;
    }

    



    public function getGreetingMessageBody()
    {
        return isset($this->greetingMessageBody) ? $this->greetingMessageBody : '';
    }

    public function hasGreetingMessageBody()
    {
        return isset($this->greetingMessageBody);
    }

    public function clearGreetingMessageBody()
    {
        unset($this->greetingMessageBody);
    }

    




    public function setGreetingMessageBody($var)
    {
        GPBUtil::checkString($var, True);
        $this->greetingMessageBody = $var;

        return $this;
    }

    



    public function getCtaPayload()
    {
        return isset($this->ctaPayload) ? $this->ctaPayload : '';
    }

    public function hasCtaPayload()
    {
        return isset($this->ctaPayload);
    }

    public function clearCtaPayload()
    {
        unset($this->ctaPayload);
    }

    




    public function setCtaPayload($var)
    {
        GPBUtil::checkString($var, True);
        $this->ctaPayload = $var;

        return $this;
    }

    



    public function getDisableNudge()
    {
        return isset($this->disableNudge) ? $this->disableNudge : false;
    }

    public function hasDisableNudge()
    {
        return isset($this->disableNudge);
    }

    public function clearDisableNudge()
    {
        unset($this->disableNudge);
    }

    




    public function setDisableNudge($var)
    {
        GPBUtil::checkBool($var);
        $this->disableNudge = $var;

        return $this;
    }

    



    public function getOriginalImageUrl()
    {
        return isset($this->originalImageUrl) ? $this->originalImageUrl : '';
    }

    public function hasOriginalImageUrl()
    {
        return isset($this->originalImageUrl);
    }

    public function clearOriginalImageUrl()
    {
        unset($this->originalImageUrl);
    }

    




    public function setOriginalImageUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->originalImageUrl = $var;

        return $this;
    }

    



    public function getAutomatedGreetingMessageCtaType()
    {
        return isset($this->automatedGreetingMessageCtaType) ? $this->automatedGreetingMessageCtaType : '';
    }

    public function hasAutomatedGreetingMessageCtaType()
    {
        return isset($this->automatedGreetingMessageCtaType);
    }

    public function clearAutomatedGreetingMessageCtaType()
    {
        unset($this->automatedGreetingMessageCtaType);
    }

    




    public function setAutomatedGreetingMessageCtaType($var)
    {
        GPBUtil::checkString($var, True);
        $this->automatedGreetingMessageCtaType = $var;

        return $this;
    }

    



    public function getWtwaAdFormat()
    {
        return isset($this->wtwaAdFormat) ? $this->wtwaAdFormat : false;
    }

    public function hasWtwaAdFormat()
    {
        return isset($this->wtwaAdFormat);
    }

    public function clearWtwaAdFormat()
    {
        unset($this->wtwaAdFormat);
    }

    




    public function setWtwaAdFormat($var)
    {
        GPBUtil::checkBool($var);
        $this->wtwaAdFormat = $var;

        return $this;
    }

    



    public function getAdType()
    {
        return isset($this->adType) ? $this->adType : 0;
    }

    public function hasAdType()
    {
        return isset($this->adType);
    }

    public function clearAdType()
    {
        unset($this->adType);
    }

    




    public function setAdType($var)
    {
        GPBUtil::checkEnum($var, \PhpWA\Protocol\Proto\ContextInfo\ExternalAdReplyInfo\AdType::class);
        $this->adType = $var;

        return $this;
    }

    



    public function getWtwaWebsiteUrl()
    {
        return isset($this->wtwaWebsiteUrl) ? $this->wtwaWebsiteUrl : '';
    }

    public function hasWtwaWebsiteUrl()
    {
        return isset($this->wtwaWebsiteUrl);
    }

    public function clearWtwaWebsiteUrl()
    {
        unset($this->wtwaWebsiteUrl);
    }

    




    public function setWtwaWebsiteUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->wtwaWebsiteUrl = $var;

        return $this;
    }

    



    public function getAdPreviewUrl()
    {
        return isset($this->adPreviewUrl) ? $this->adPreviewUrl : '';
    }

    public function hasAdPreviewUrl()
    {
        return isset($this->adPreviewUrl);
    }

    public function clearAdPreviewUrl()
    {
        unset($this->adPreviewUrl);
    }

    




    public function setAdPreviewUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->adPreviewUrl = $var;

        return $this;
    }

}

