<?php
 
 
 

namespace PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata;

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




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


    protected $surveyId = null;
    


    protected $primaryResponseId = null;
    


    protected $testArmName = null;
    


    protected $timestampMsString = null;
    


    protected $ctaImpressionEvent = null;
    


    protected $ctaClickEvent = null;
    


    protected $cardImpressionEvent = null;
    


    protected $responseEvent = null;
    


    protected $abandonEvent = null;

    
















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

    



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

    public function hasSurveyId()
    {
        return isset($this->surveyId);
    }

    public function clearSurveyId()
    {
        unset($this->surveyId);
    }

    




    public function setSurveyId($var)
    {
        GPBUtil::checkUint32($var);
        $this->surveyId = $var;

        return $this;
    }

    



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

    public function hasPrimaryResponseId()
    {
        return isset($this->primaryResponseId);
    }

    public function clearPrimaryResponseId()
    {
        unset($this->primaryResponseId);
    }

    




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

        return $this;
    }

    



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

    public function hasTestArmName()
    {
        return isset($this->testArmName);
    }

    public function clearTestArmName()
    {
        unset($this->testArmName);
    }

    




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

        return $this;
    }

    



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

    public function hasTimestampMsString()
    {
        return isset($this->timestampMsString);
    }

    public function clearTimestampMsString()
    {
        unset($this->timestampMsString);
    }

    




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

        return $this;
    }

    



    public function getCtaImpressionEvent()
    {
        return $this->ctaImpressionEvent;
    }

    public function hasCtaImpressionEvent()
    {
        return isset($this->ctaImpressionEvent);
    }

    public function clearCtaImpressionEvent()
    {
        unset($this->ctaImpressionEvent);
    }

    




    public function setCtaImpressionEvent($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata\SidebySideSurveyMetaAiAnalyticsData\SideBySideSurveyCTAImpressionEventData::class);
        $this->ctaImpressionEvent = $var;

        return $this;
    }

    



    public function getCtaClickEvent()
    {
        return $this->ctaClickEvent;
    }

    public function hasCtaClickEvent()
    {
        return isset($this->ctaClickEvent);
    }

    public function clearCtaClickEvent()
    {
        unset($this->ctaClickEvent);
    }

    




    public function setCtaClickEvent($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata\SidebySideSurveyMetaAiAnalyticsData\SideBySideSurveyCTAClickEventData::class);
        $this->ctaClickEvent = $var;

        return $this;
    }

    



    public function getCardImpressionEvent()
    {
        return $this->cardImpressionEvent;
    }

    public function hasCardImpressionEvent()
    {
        return isset($this->cardImpressionEvent);
    }

    public function clearCardImpressionEvent()
    {
        unset($this->cardImpressionEvent);
    }

    




    public function setCardImpressionEvent($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata\SidebySideSurveyMetaAiAnalyticsData\SideBySideSurveyCardImpressionEventData::class);
        $this->cardImpressionEvent = $var;

        return $this;
    }

    



    public function getResponseEvent()
    {
        return $this->responseEvent;
    }

    public function hasResponseEvent()
    {
        return isset($this->responseEvent);
    }

    public function clearResponseEvent()
    {
        unset($this->responseEvent);
    }

    




    public function setResponseEvent($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata\SidebySideSurveyMetaAiAnalyticsData\SideBySideSurveyResponseEventData::class);
        $this->responseEvent = $var;

        return $this;
    }

    



    public function getAbandonEvent()
    {
        return $this->abandonEvent;
    }

    public function hasAbandonEvent()
    {
        return isset($this->abandonEvent);
    }

    public function clearAbandonEvent()
    {
        unset($this->abandonEvent);
    }

    




    public function setAbandonEvent($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\BotFeedbackMessage\SideBySideSurveyMetadata\SidebySideSurveyMetaAiAnalyticsData\SideBySideSurveyAbandonEventData::class);
        $this->abandonEvent = $var;

        return $this;
    }

}

