<?php
 
 
 

namespace PhpWA\Protocol\Proto;

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




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


    protected $key = null;
    


    protected $message = null;
    


    protected $messageTimestamp = null;
    


    protected $participant = null;

    











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

    



    public function getKey()
    {
        return $this->key;
    }

    public function hasKey()
    {
        return isset($this->key);
    }

    public function clearKey()
    {
        unset($this->key);
    }

    




    public function setKey($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\MessageKey::class);
        $this->key = $var;

        return $this;
    }

    



    public function getMessage()
    {
        return $this->message;
    }

    public function hasMessage()
    {
        return isset($this->message);
    }

    public function clearMessage()
    {
        unset($this->message);
    }

    




    public function setMessage($var)
    {
        GPBUtil::checkMessage($var, \PhpWA\Protocol\Proto\Message::class);
        $this->message = $var;

        return $this;
    }

    



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

    public function hasMessageTimestamp()
    {
        return isset($this->messageTimestamp);
    }

    public function clearMessageTimestamp()
    {
        unset($this->messageTimestamp);
    }

    




    public function setMessageTimestamp($var)
    {
        GPBUtil::checkUint64($var);
        $this->messageTimestamp = $var;

        return $this;
    }

    



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

    public function hasParticipant()
    {
        return isset($this->participant);
    }

    public function clearParticipant()
    {
        unset($this->participant);
    }

    




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

        return $this;
    }

}

