<?php
 
 
 

namespace Google\Protobuf\Internal;

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 UninterpretedOption extends \Google\Protobuf\Internal\Message
{
    


    private $name;
    





    protected $identifier_value = null;
    


    protected $positive_int_value = null;
    


    protected $negative_int_value = null;
    


    protected $double_value = null;
    


    protected $string_value = null;
    


    protected $aggregate_value = null;

    
















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

    



    public function getName()
    {
        return $this->name;
    }

    




    public function setName($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Protobuf\Internal\UninterpretedOption\NamePart::class);
        $this->name = $arr;

        return $this;
    }

    






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

    public function hasIdentifierValue()
    {
        return isset($this->identifier_value);
    }

    public function clearIdentifierValue()
    {
        unset($this->identifier_value);
    }

    







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

        return $this;
    }

    



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

    public function hasPositiveIntValue()
    {
        return isset($this->positive_int_value);
    }

    public function clearPositiveIntValue()
    {
        unset($this->positive_int_value);
    }

    




    public function setPositiveIntValue($var)
    {
        GPBUtil::checkUint64($var);
        $this->positive_int_value = $var;

        return $this;
    }

    



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

    public function hasNegativeIntValue()
    {
        return isset($this->negative_int_value);
    }

    public function clearNegativeIntValue()
    {
        unset($this->negative_int_value);
    }

    




    public function setNegativeIntValue($var)
    {
        GPBUtil::checkInt64($var);
        $this->negative_int_value = $var;

        return $this;
    }

    



    public function getDoubleValue()
    {
        return isset($this->double_value) ? $this->double_value : 0.0;
    }

    public function hasDoubleValue()
    {
        return isset($this->double_value);
    }

    public function clearDoubleValue()
    {
        unset($this->double_value);
    }

    




    public function setDoubleValue($var)
    {
        GPBUtil::checkDouble($var);
        $this->double_value = $var;

        return $this;
    }

    



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

    public function hasStringValue()
    {
        return isset($this->string_value);
    }

    public function clearStringValue()
    {
        unset($this->string_value);
    }

    




    public function setStringValue($var)
    {
        GPBUtil::checkString($var, False);
        $this->string_value = $var;

        return $this;
    }

    



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

    public function hasAggregateValue()
    {
        return isset($this->aggregate_value);
    }

    public function clearAggregateValue()
    {
        unset($this->aggregate_value);
    }

    




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

        return $this;
    }

}

