<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/language/v1/language_service.proto

namespace Google\Cloud\Language\V1;

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

/**
 * Represents part of speech information for a token. Parts of speech
 * are as defined in
 * http://www.lrec-conf.org/proceedings/lrec2012/pdf/274_Paper.pdf
 *
 * Generated from protobuf message <code>google.cloud.language.v1.PartOfSpeech</code>
 */
class PartOfSpeech extends \Google\Protobuf\Internal\Message
{
    /**
     * The part of speech tag.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tag tag = 1;</code>
     */
    private $tag = 0;
    /**
     * The grammatical aspect.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Aspect aspect = 2;</code>
     */
    private $aspect = 0;
    /**
     * The grammatical case.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Case case = 3;</code>
     */
    private $case = 0;
    /**
     * The grammatical form.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Form form = 4;</code>
     */
    private $form = 0;
    /**
     * The grammatical gender.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Gender gender = 5;</code>
     */
    private $gender = 0;
    /**
     * The grammatical mood.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Mood mood = 6;</code>
     */
    private $mood = 0;
    /**
     * The grammatical number.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Number number = 7;</code>
     */
    private $number = 0;
    /**
     * The grammatical person.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Person person = 8;</code>
     */
    private $person = 0;
    /**
     * The grammatical properness.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Proper proper = 9;</code>
     */
    private $proper = 0;
    /**
     * The grammatical reciprocity.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Reciprocity reciprocity = 10;</code>
     */
    private $reciprocity = 0;
    /**
     * The grammatical tense.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tense tense = 11;</code>
     */
    private $tense = 0;
    /**
     * The grammatical voice.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Voice voice = 12;</code>
     */
    private $voice = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $tag
     *           The part of speech tag.
     *     @type int $aspect
     *           The grammatical aspect.
     *     @type int $case
     *           The grammatical case.
     *     @type int $form
     *           The grammatical form.
     *     @type int $gender
     *           The grammatical gender.
     *     @type int $mood
     *           The grammatical mood.
     *     @type int $number
     *           The grammatical number.
     *     @type int $person
     *           The grammatical person.
     *     @type int $proper
     *           The grammatical properness.
     *     @type int $reciprocity
     *           The grammatical reciprocity.
     *     @type int $tense
     *           The grammatical tense.
     *     @type int $voice
     *           The grammatical voice.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Language\V1\LanguageService::initOnce();
        parent::__construct($data);
    }

    /**
     * The part of speech tag.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tag tag = 1;</code>
     * @return int
     */
    public function getTag()
    {
        return $this->tag;
    }

    /**
     * The part of speech tag.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tag tag = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setTag($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Tag::class);
        $this->tag = $var;

        return $this;
    }

    /**
     * The grammatical aspect.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Aspect aspect = 2;</code>
     * @return int
     */
    public function getAspect()
    {
        return $this->aspect;
    }

    /**
     * The grammatical aspect.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Aspect aspect = 2;</code>
     * @param int $var
     * @return $this
     */
    public function setAspect($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Aspect::class);
        $this->aspect = $var;

        return $this;
    }

    /**
     * The grammatical case.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Case case = 3;</code>
     * @return int
     */
    public function getCase()
    {
        return $this->case;
    }

    /**
     * The grammatical case.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Case case = 3;</code>
     * @param int $var
     * @return $this
     */
    public function setCase($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\PBCase::class);
        $this->case = $var;

        return $this;
    }

    /**
     * The grammatical form.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Form form = 4;</code>
     * @return int
     */
    public function getForm()
    {
        return $this->form;
    }

    /**
     * The grammatical form.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Form form = 4;</code>
     * @param int $var
     * @return $this
     */
    public function setForm($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Form::class);
        $this->form = $var;

        return $this;
    }

    /**
     * The grammatical gender.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Gender gender = 5;</code>
     * @return int
     */
    public function getGender()
    {
        return $this->gender;
    }

    /**
     * The grammatical gender.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Gender gender = 5;</code>
     * @param int $var
     * @return $this
     */
    public function setGender($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Gender::class);
        $this->gender = $var;

        return $this;
    }

    /**
     * The grammatical mood.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Mood mood = 6;</code>
     * @return int
     */
    public function getMood()
    {
        return $this->mood;
    }

    /**
     * The grammatical mood.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Mood mood = 6;</code>
     * @param int $var
     * @return $this
     */
    public function setMood($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Mood::class);
        $this->mood = $var;

        return $this;
    }

    /**
     * The grammatical number.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Number number = 7;</code>
     * @return int
     */
    public function getNumber()
    {
        return $this->number;
    }

    /**
     * The grammatical number.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Number number = 7;</code>
     * @param int $var
     * @return $this
     */
    public function setNumber($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Number::class);
        $this->number = $var;

        return $this;
    }

    /**
     * The grammatical person.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Person person = 8;</code>
     * @return int
     */
    public function getPerson()
    {
        return $this->person;
    }

    /**
     * The grammatical person.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Person person = 8;</code>
     * @param int $var
     * @return $this
     */
    public function setPerson($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Person::class);
        $this->person = $var;

        return $this;
    }

    /**
     * The grammatical properness.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Proper proper = 9;</code>
     * @return int
     */
    public function getProper()
    {
        return $this->proper;
    }

    /**
     * The grammatical properness.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Proper proper = 9;</code>
     * @param int $var
     * @return $this
     */
    public function setProper($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Proper::class);
        $this->proper = $var;

        return $this;
    }

    /**
     * The grammatical reciprocity.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Reciprocity reciprocity = 10;</code>
     * @return int
     */
    public function getReciprocity()
    {
        return $this->reciprocity;
    }

    /**
     * The grammatical reciprocity.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Reciprocity reciprocity = 10;</code>
     * @param int $var
     * @return $this
     */
    public function setReciprocity($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Reciprocity::class);
        $this->reciprocity = $var;

        return $this;
    }

    /**
     * The grammatical tense.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tense tense = 11;</code>
     * @return int
     */
    public function getTense()
    {
        return $this->tense;
    }

    /**
     * The grammatical tense.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Tense tense = 11;</code>
     * @param int $var
     * @return $this
     */
    public function setTense($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Tense::class);
        $this->tense = $var;

        return $this;
    }

    /**
     * The grammatical voice.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Voice voice = 12;</code>
     * @return int
     */
    public function getVoice()
    {
        return $this->voice;
    }

    /**
     * The grammatical voice.
     *
     * Generated from protobuf field <code>.google.cloud.language.v1.PartOfSpeech.Voice voice = 12;</code>
     * @param int $var
     * @return $this
     */
    public function setVoice($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Language\V1\PartOfSpeech\Voice::class);
        $this->voice = $var;

        return $this;
    }

}

