<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/dialogflow/v2/answer_record.proto

namespace Google\Cloud\Dialogflow\V2;

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

/**
 * Detail feedback of Agent Assist result.
 *
 * Generated from protobuf message <code>google.cloud.dialogflow.v2.AgentAssistantFeedback</code>
 */
class AgentAssistantFeedback extends \Google\Protobuf\Internal\Message
{
    /**
     * Optional. Whether or not the suggested answer is relevant.
     * For example:
     * * Query: "Can I change my mailing address?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance answer_relevance = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $answer_relevance = 0;
    /**
     * Optional. Whether or not the information in the document is correct.
     * For example:
     * * Query: "Can I return the package in 2 days once received?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * Ground truth: "No return or exchange is allowed."
     * * [document_correctness][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_correctness]: [INCORRECT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness.INCORRECT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness document_correctness = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $document_correctness = 0;
    /**
     * Optional. Whether or not the suggested document is efficient. For example,
     * if the document is poorly written, hard to understand, hard to use or
     * too long to find useful information,
     * [document_efficiency][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_efficiency]
     * is
     * [DocumentEfficiency.INEFFICIENT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency.INEFFICIENT].
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency document_efficiency = 3 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $document_efficiency = 0;
    /**
     * Optional. Feedback for conversation summarization.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.SummarizationFeedback summarization_feedback = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $summarization_feedback = null;
    /**
     * Optional. Feedback for knowledge search.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeSearchFeedback knowledge_search_feedback = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $knowledge_search_feedback = null;
    /**
     * Optional. Feedback for knowledge assist.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeAssistFeedback knowledge_assist_feedback = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
     */
    protected $knowledge_assist_feedback = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $answer_relevance
     *           Optional. Whether or not the suggested answer is relevant.
     *           For example:
     *           * Query: "Can I change my mailing address?"
     *           * Suggested document says: "Items must be returned/exchanged within 60
     *             days of the purchase date."
     *           * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT]
     *     @type int $document_correctness
     *           Optional. Whether or not the information in the document is correct.
     *           For example:
     *           * Query: "Can I return the package in 2 days once received?"
     *           * Suggested document says: "Items must be returned/exchanged within 60
     *             days of the purchase date."
     *           * Ground truth: "No return or exchange is allowed."
     *           * [document_correctness][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_correctness]: [INCORRECT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness.INCORRECT]
     *     @type int $document_efficiency
     *           Optional. Whether or not the suggested document is efficient. For example,
     *           if the document is poorly written, hard to understand, hard to use or
     *           too long to find useful information,
     *           [document_efficiency][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_efficiency]
     *           is
     *           [DocumentEfficiency.INEFFICIENT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency.INEFFICIENT].
     *     @type \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\SummarizationFeedback $summarization_feedback
     *           Optional. Feedback for conversation summarization.
     *     @type \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeSearchFeedback $knowledge_search_feedback
     *           Optional. Feedback for knowledge search.
     *     @type \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeAssistFeedback $knowledge_assist_feedback
     *           Optional. Feedback for knowledge assist.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Dialogflow\V2\AnswerRecord::initOnce();
        parent::__construct($data);
    }

    /**
     * Optional. Whether or not the suggested answer is relevant.
     * For example:
     * * Query: "Can I change my mailing address?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance answer_relevance = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return int
     */
    public function getAnswerRelevance()
    {
        return $this->answer_relevance;
    }

    /**
     * Optional. Whether or not the suggested answer is relevant.
     * For example:
     * * Query: "Can I change my mailing address?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * [answer_relevance][google.cloud.dialogflow.v2.AgentAssistantFeedback.answer_relevance]: [AnswerRelevance.IRRELEVANT][google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance.IRRELEVANT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.AnswerRelevance answer_relevance = 1 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param int $var
     * @return $this
     */
    public function setAnswerRelevance($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\AnswerRelevance::class);
        $this->answer_relevance = $var;

        return $this;
    }

    /**
     * Optional. Whether or not the information in the document is correct.
     * For example:
     * * Query: "Can I return the package in 2 days once received?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * Ground truth: "No return or exchange is allowed."
     * * [document_correctness][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_correctness]: [INCORRECT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness.INCORRECT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness document_correctness = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return int
     */
    public function getDocumentCorrectness()
    {
        return $this->document_correctness;
    }

    /**
     * Optional. Whether or not the information in the document is correct.
     * For example:
     * * Query: "Can I return the package in 2 days once received?"
     * * Suggested document says: "Items must be returned/exchanged within 60
     *   days of the purchase date."
     * * Ground truth: "No return or exchange is allowed."
     * * [document_correctness][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_correctness]: [INCORRECT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness.INCORRECT]
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentCorrectness document_correctness = 2 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param int $var
     * @return $this
     */
    public function setDocumentCorrectness($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\DocumentCorrectness::class);
        $this->document_correctness = $var;

        return $this;
    }

    /**
     * Optional. Whether or not the suggested document is efficient. For example,
     * if the document is poorly written, hard to understand, hard to use or
     * too long to find useful information,
     * [document_efficiency][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_efficiency]
     * is
     * [DocumentEfficiency.INEFFICIENT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency.INEFFICIENT].
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency document_efficiency = 3 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return int
     */
    public function getDocumentEfficiency()
    {
        return $this->document_efficiency;
    }

    /**
     * Optional. Whether or not the suggested document is efficient. For example,
     * if the document is poorly written, hard to understand, hard to use or
     * too long to find useful information,
     * [document_efficiency][google.cloud.dialogflow.v2.AgentAssistantFeedback.document_efficiency]
     * is
     * [DocumentEfficiency.INEFFICIENT][google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency.INEFFICIENT].
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.DocumentEfficiency document_efficiency = 3 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param int $var
     * @return $this
     */
    public function setDocumentEfficiency($var)
    {
        GPBUtil::checkEnum($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\DocumentEfficiency::class);
        $this->document_efficiency = $var;

        return $this;
    }

    /**
     * Optional. Feedback for conversation summarization.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.SummarizationFeedback summarization_feedback = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\SummarizationFeedback|null
     */
    public function getSummarizationFeedback()
    {
        return $this->summarization_feedback;
    }

    public function hasSummarizationFeedback()
    {
        return isset($this->summarization_feedback);
    }

    public function clearSummarizationFeedback()
    {
        unset($this->summarization_feedback);
    }

    /**
     * Optional. Feedback for conversation summarization.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.SummarizationFeedback summarization_feedback = 4 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\SummarizationFeedback $var
     * @return $this
     */
    public function setSummarizationFeedback($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\SummarizationFeedback::class);
        $this->summarization_feedback = $var;

        return $this;
    }

    /**
     * Optional. Feedback for knowledge search.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeSearchFeedback knowledge_search_feedback = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeSearchFeedback|null
     */
    public function getKnowledgeSearchFeedback()
    {
        return $this->knowledge_search_feedback;
    }

    public function hasKnowledgeSearchFeedback()
    {
        return isset($this->knowledge_search_feedback);
    }

    public function clearKnowledgeSearchFeedback()
    {
        unset($this->knowledge_search_feedback);
    }

    /**
     * Optional. Feedback for knowledge search.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeSearchFeedback knowledge_search_feedback = 5 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeSearchFeedback $var
     * @return $this
     */
    public function setKnowledgeSearchFeedback($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeSearchFeedback::class);
        $this->knowledge_search_feedback = $var;

        return $this;
    }

    /**
     * Optional. Feedback for knowledge assist.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeAssistFeedback knowledge_assist_feedback = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @return \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeAssistFeedback|null
     */
    public function getKnowledgeAssistFeedback()
    {
        return $this->knowledge_assist_feedback;
    }

    public function hasKnowledgeAssistFeedback()
    {
        return isset($this->knowledge_assist_feedback);
    }

    public function clearKnowledgeAssistFeedback()
    {
        unset($this->knowledge_assist_feedback);
    }

    /**
     * Optional. Feedback for knowledge assist.
     *
     * Generated from protobuf field <code>.google.cloud.dialogflow.v2.AgentAssistantFeedback.KnowledgeAssistFeedback knowledge_assist_feedback = 6 [(.google.api.field_behavior) = OPTIONAL];</code>
     * @param \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeAssistFeedback $var
     * @return $this
     */
    public function setKnowledgeAssistFeedback($var)
    {
        GPBUtil::checkMessage($var, \Google\Cloud\Dialogflow\V2\AgentAssistantFeedback\KnowledgeAssistFeedback::class);
        $this->knowledge_assist_feedback = $var;

        return $this;
    }

}

