<?php
 
 
 

namespace Google\Protobuf\Internal\ExtensionRangeOptions;

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




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




    protected $number = null;
    





    protected $full_name = null;
    






    protected $type = null;
    






    protected $reserved = null;
    





    protected $repeated = null;

    























    public function __construct($data = NULL) {
        \GPBMetadata\Google\Protobuf\Internal\Descriptor::initOnce();
        parent::__construct($data);
    }

    





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

    public function hasNumber()
    {
        return isset($this->number);
    }

    public function clearNumber()
    {
        unset($this->number);
    }

    






    public function setNumber($var)
    {
        GPBUtil::checkInt32($var);
        $this->number = $var;

        return $this;
    }

    






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

    public function hasFullName()
    {
        return isset($this->full_name);
    }

    public function clearFullName()
    {
        unset($this->full_name);
    }

    







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

        return $this;
    }

    







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

    public function hasType()
    {
        return isset($this->type);
    }

    public function clearType()
    {
        unset($this->type);
    }

    








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

        return $this;
    }

    







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

    public function hasReserved()
    {
        return isset($this->reserved);
    }

    public function clearReserved()
    {
        unset($this->reserved);
    }

    








    public function setReserved($var)
    {
        GPBUtil::checkBool($var);
        $this->reserved = $var;

        return $this;
    }

    






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

    public function hasRepeated()
    {
        return isset($this->repeated);
    }

    public function clearRepeated()
    {
        unset($this->repeated);
    }

    







    public function setRepeated($var)
    {
        GPBUtil::checkBool($var);
        $this->repeated = $var;

        return $this;
    }

}

