<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: WAProto.proto

namespace PhpWA\Protocol\Proto;

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

/**
 * Generated from protobuf message <code>proto.InThreadSurveyMetadata</code>
 */
class InThreadSurveyMetadata extends \Google\Protobuf\Internal\Message
{
    /**
     * Generated from protobuf field <code>optional string tessaSessionId = 1;</code>
     */
    protected $tessaSessionId = null;
    /**
     * Generated from protobuf field <code>optional string simonSessionId = 2;</code>
     */
    protected $simonSessionId = null;
    /**
     * Generated from protobuf field <code>optional string simonSurveyId = 3;</code>
     */
    protected $simonSurveyId = null;
    /**
     * Generated from protobuf field <code>optional string tessaRootId = 4;</code>
     */
    protected $tessaRootId = null;
    /**
     * Generated from protobuf field <code>optional string requestId = 5;</code>
     */
    protected $requestId = null;
    /**
     * Generated from protobuf field <code>optional string tessaEvent = 6;</code>
     */
    protected $tessaEvent = null;
    /**
     * Generated from protobuf field <code>optional string invitationHeaderText = 7;</code>
     */
    protected $invitationHeaderText = null;
    /**
     * Generated from protobuf field <code>optional string invitationBodyText = 8;</code>
     */
    protected $invitationBodyText = null;
    /**
     * Generated from protobuf field <code>optional string invitationCtaText = 9;</code>
     */
    protected $invitationCtaText = null;
    /**
     * Generated from protobuf field <code>optional string invitationCtaUrl = 10;</code>
     */
    protected $invitationCtaUrl = null;
    /**
     * Generated from protobuf field <code>optional string surveyTitle = 11;</code>
     */
    protected $surveyTitle = null;
    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyQuestion questions = 12;</code>
     */
    private $questions;
    /**
     * Generated from protobuf field <code>optional string surveyContinueButtonText = 13;</code>
     */
    protected $surveyContinueButtonText = null;
    /**
     * Generated from protobuf field <code>optional string surveySubmitButtonText = 14;</code>
     */
    protected $surveySubmitButtonText = null;
    /**
     * Generated from protobuf field <code>optional string privacyStatementFull = 15;</code>
     */
    protected $privacyStatementFull = null;
    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;</code>
     */
    private $privacyStatementParts;
    /**
     * Generated from protobuf field <code>optional string feedbackToastText = 17;</code>
     */
    protected $feedbackToastText = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type string $tessaSessionId
     *     @type string $simonSessionId
     *     @type string $simonSurveyId
     *     @type string $tessaRootId
     *     @type string $requestId
     *     @type string $tessaEvent
     *     @type string $invitationHeaderText
     *     @type string $invitationBodyText
     *     @type string $invitationCtaText
     *     @type string $invitationCtaUrl
     *     @type string $surveyTitle
     *     @type \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyQuestion[] $questions
     *     @type string $surveyContinueButtonText
     *     @type string $surveySubmitButtonText
     *     @type string $privacyStatementFull
     *     @type \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyPrivacyStatementPart[] $privacyStatementParts
     *     @type string $feedbackToastText
     * }
     */
    public function __construct($data = NULL) {
        \PhpWA\Protocol\Proto\Metadata\WAProto::initOnce();
        parent::__construct($data);
    }

    /**
     * Generated from protobuf field <code>optional string tessaSessionId = 1;</code>
     * @return string
     */
    public function getTessaSessionId()
    {
        return isset($this->tessaSessionId) ? $this->tessaSessionId : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string tessaSessionId = 1;</code>
     * @param string $var
     * @return $this
     */
    public function setTessaSessionId($var)
    {
        GPBUtil::checkString($var, True);
        $this->tessaSessionId = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string simonSessionId = 2;</code>
     * @return string
     */
    public function getSimonSessionId()
    {
        return isset($this->simonSessionId) ? $this->simonSessionId : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string simonSessionId = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setSimonSessionId($var)
    {
        GPBUtil::checkString($var, True);
        $this->simonSessionId = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string simonSurveyId = 3;</code>
     * @return string
     */
    public function getSimonSurveyId()
    {
        return isset($this->simonSurveyId) ? $this->simonSurveyId : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string simonSurveyId = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setSimonSurveyId($var)
    {
        GPBUtil::checkString($var, True);
        $this->simonSurveyId = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string tessaRootId = 4;</code>
     * @return string
     */
    public function getTessaRootId()
    {
        return isset($this->tessaRootId) ? $this->tessaRootId : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string tessaRootId = 4;</code>
     * @param string $var
     * @return $this
     */
    public function setTessaRootId($var)
    {
        GPBUtil::checkString($var, True);
        $this->tessaRootId = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string requestId = 5;</code>
     * @return string
     */
    public function getRequestId()
    {
        return isset($this->requestId) ? $this->requestId : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string requestId = 5;</code>
     * @param string $var
     * @return $this
     */
    public function setRequestId($var)
    {
        GPBUtil::checkString($var, True);
        $this->requestId = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string tessaEvent = 6;</code>
     * @return string
     */
    public function getTessaEvent()
    {
        return isset($this->tessaEvent) ? $this->tessaEvent : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string tessaEvent = 6;</code>
     * @param string $var
     * @return $this
     */
    public function setTessaEvent($var)
    {
        GPBUtil::checkString($var, True);
        $this->tessaEvent = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string invitationHeaderText = 7;</code>
     * @return string
     */
    public function getInvitationHeaderText()
    {
        return isset($this->invitationHeaderText) ? $this->invitationHeaderText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string invitationHeaderText = 7;</code>
     * @param string $var
     * @return $this
     */
    public function setInvitationHeaderText($var)
    {
        GPBUtil::checkString($var, True);
        $this->invitationHeaderText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string invitationBodyText = 8;</code>
     * @return string
     */
    public function getInvitationBodyText()
    {
        return isset($this->invitationBodyText) ? $this->invitationBodyText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string invitationBodyText = 8;</code>
     * @param string $var
     * @return $this
     */
    public function setInvitationBodyText($var)
    {
        GPBUtil::checkString($var, True);
        $this->invitationBodyText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string invitationCtaText = 9;</code>
     * @return string
     */
    public function getInvitationCtaText()
    {
        return isset($this->invitationCtaText) ? $this->invitationCtaText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string invitationCtaText = 9;</code>
     * @param string $var
     * @return $this
     */
    public function setInvitationCtaText($var)
    {
        GPBUtil::checkString($var, True);
        $this->invitationCtaText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string invitationCtaUrl = 10;</code>
     * @return string
     */
    public function getInvitationCtaUrl()
    {
        return isset($this->invitationCtaUrl) ? $this->invitationCtaUrl : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string invitationCtaUrl = 10;</code>
     * @param string $var
     * @return $this
     */
    public function setInvitationCtaUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->invitationCtaUrl = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string surveyTitle = 11;</code>
     * @return string
     */
    public function getSurveyTitle()
    {
        return isset($this->surveyTitle) ? $this->surveyTitle : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string surveyTitle = 11;</code>
     * @param string $var
     * @return $this
     */
    public function setSurveyTitle($var)
    {
        GPBUtil::checkString($var, True);
        $this->surveyTitle = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyQuestion questions = 12;</code>
     * @return RepeatedField<\PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyQuestion>
     */
    public function getQuestions()
    {
        return $this->questions;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyQuestion questions = 12;</code>
     * @param \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyQuestion[] $var
     * @return $this
     */
    public function setQuestions($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyQuestion::class);
        $this->questions = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string surveyContinueButtonText = 13;</code>
     * @return string
     */
    public function getSurveyContinueButtonText()
    {
        return isset($this->surveyContinueButtonText) ? $this->surveyContinueButtonText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string surveyContinueButtonText = 13;</code>
     * @param string $var
     * @return $this
     */
    public function setSurveyContinueButtonText($var)
    {
        GPBUtil::checkString($var, True);
        $this->surveyContinueButtonText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string surveySubmitButtonText = 14;</code>
     * @return string
     */
    public function getSurveySubmitButtonText()
    {
        return isset($this->surveySubmitButtonText) ? $this->surveySubmitButtonText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string surveySubmitButtonText = 14;</code>
     * @param string $var
     * @return $this
     */
    public function setSurveySubmitButtonText($var)
    {
        GPBUtil::checkString($var, True);
        $this->surveySubmitButtonText = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string privacyStatementFull = 15;</code>
     * @return string
     */
    public function getPrivacyStatementFull()
    {
        return isset($this->privacyStatementFull) ? $this->privacyStatementFull : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string privacyStatementFull = 15;</code>
     * @param string $var
     * @return $this
     */
    public function setPrivacyStatementFull($var)
    {
        GPBUtil::checkString($var, True);
        $this->privacyStatementFull = $var;

        return $this;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;</code>
     * @return RepeatedField<\PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyPrivacyStatementPart>
     */
    public function getPrivacyStatementParts()
    {
        return $this->privacyStatementParts;
    }

    /**
     * Generated from protobuf field <code>repeated .proto.InThreadSurveyMetadata.InThreadSurveyPrivacyStatementPart privacyStatementParts = 16;</code>
     * @param \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyPrivacyStatementPart[] $var
     * @return $this
     */
    public function setPrivacyStatementParts($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \PhpWA\Protocol\Proto\InThreadSurveyMetadata\InThreadSurveyPrivacyStatementPart::class);
        $this->privacyStatementParts = $arr;

        return $this;
    }

    /**
     * Generated from protobuf field <code>optional string feedbackToastText = 17;</code>
     * @return string
     */
    public function getFeedbackToastText()
    {
        return isset($this->feedbackToastText) ? $this->feedbackToastText : '';
    }

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

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

    /**
     * Generated from protobuf field <code>optional string feedbackToastText = 17;</code>
     * @param string $var
     * @return $this
     */
    public function setFeedbackToastText($var)
    {
        GPBUtil::checkString($var, True);
        $this->feedbackToastText = $var;

        return $this;
    }

}

