<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




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


    protected $tessaSessionId = null;
    


    protected $simonSessionId = null;
    


    protected $simonSurveyId = null;
    


    protected $tessaRootId = null;
    


    protected $requestId = null;
    


    protected $tessaEvent = null;
    


    protected $invitationHeaderText = null;
    


    protected $invitationBodyText = null;
    


    protected $invitationCtaText = null;
    


    protected $invitationCtaUrl = null;
    


    protected $surveyTitle = null;
    


    private $questions;
    


    protected $surveyContinueButtonText = null;
    


    protected $surveySubmitButtonText = null;
    


    protected $privacyStatementFull = null;
    


    private $privacyStatementParts;
    


    protected $feedbackToastText = null;

    
























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

    



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

    public function hasTessaSessionId()
    {
        return isset($this->tessaSessionId);
    }

    public function clearTessaSessionId()
    {
        unset($this->tessaSessionId);
    }

    




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

        return $this;
    }

    



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

    public function hasSimonSessionId()
    {
        return isset($this->simonSessionId);
    }

    public function clearSimonSessionId()
    {
        unset($this->simonSessionId);
    }

    




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

        return $this;
    }

    



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

    public function hasSimonSurveyId()
    {
        return isset($this->simonSurveyId);
    }

    public function clearSimonSurveyId()
    {
        unset($this->simonSurveyId);
    }

    




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

        return $this;
    }

    



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

    public function hasTessaRootId()
    {
        return isset($this->tessaRootId);
    }

    public function clearTessaRootId()
    {
        unset($this->tessaRootId);
    }

    




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

        return $this;
    }

    



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

    public function hasRequestId()
    {
        return isset($this->requestId);
    }

    public function clearRequestId()
    {
        unset($this->requestId);
    }

    




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

        return $this;
    }

    



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

    public function hasTessaEvent()
    {
        return isset($this->tessaEvent);
    }

    public function clearTessaEvent()
    {
        unset($this->tessaEvent);
    }

    




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

        return $this;
    }

    



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

    public function hasInvitationHeaderText()
    {
        return isset($this->invitationHeaderText);
    }

    public function clearInvitationHeaderText()
    {
        unset($this->invitationHeaderText);
    }

    




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

        return $this;
    }

    



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

    public function hasInvitationBodyText()
    {
        return isset($this->invitationBodyText);
    }

    public function clearInvitationBodyText()
    {
        unset($this->invitationBodyText);
    }

    




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

        return $this;
    }

    



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

    public function hasInvitationCtaText()
    {
        return isset($this->invitationCtaText);
    }

    public function clearInvitationCtaText()
    {
        unset($this->invitationCtaText);
    }

    




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

        return $this;
    }

    



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

    public function hasInvitationCtaUrl()
    {
        return isset($this->invitationCtaUrl);
    }

    public function clearInvitationCtaUrl()
    {
        unset($this->invitationCtaUrl);
    }

    




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

        return $this;
    }

    



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

    public function hasSurveyTitle()
    {
        return isset($this->surveyTitle);
    }

    public function clearSurveyTitle()
    {
        unset($this->surveyTitle);
    }

    




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

        return $this;
    }

    



    public function getQuestions()
    {
        return $this->questions;
    }

    




    public function setQuestions($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyQuestion::class);
        $this->questions = $arr;

        return $this;
    }

    



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

    public function hasSurveyContinueButtonText()
    {
        return isset($this->surveyContinueButtonText);
    }

    public function clearSurveyContinueButtonText()
    {
        unset($this->surveyContinueButtonText);
    }

    




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

        return $this;
    }

    



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

    public function hasSurveySubmitButtonText()
    {
        return isset($this->surveySubmitButtonText);
    }

    public function clearSurveySubmitButtonText()
    {
        unset($this->surveySubmitButtonText);
    }

    




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

        return $this;
    }

    



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

    public function hasPrivacyStatementFull()
    {
        return isset($this->privacyStatementFull);
    }

    public function clearPrivacyStatementFull()
    {
        unset($this->privacyStatementFull);
    }

    




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

        return $this;
    }

    



    public function getPrivacyStatementParts()
    {
        return $this->privacyStatementParts;
    }

    




    public function setPrivacyStatementParts($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyPrivacyStatementPart::class);
        $this->privacyStatementParts = $arr;

        return $this;
    }

    



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

    public function hasFeedbackToastText()
    {
        return isset($this->feedbackToastText);
    }

    public function clearFeedbackToastText()
    {
        unset($this->feedbackToastText);
    }

    




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

        return $this;
    }

}

