<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/ads/googleads/v25/resources/lift_measurement_flight.proto

namespace Google\Ads\GoogleAds\V25\Resources;

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

/**
 * Survey Lift measurement info.
 *
 * Generated from protobuf message <code>google.ads.googleads.v25.resources.LiftMeasurementFlightSurveyLiftMeasurement</code>
 */
class LiftMeasurementFlightSurveyLiftMeasurement extends \Google\Protobuf\Internal\Message
{
    /**
     * Output only. The ratio of target survey responses that have been collected
     * so far. Expressed in micros: 0 = 0%, 1000000 = 100%.
     *
     * Generated from protobuf field <code>optional int64 response_collection_ratio_micros = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $response_collection_ratio_micros = null;
    /**
     * Output only. The earliest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string min_survey_response_date = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $min_survey_response_date = null;
    /**
     * Output only. The latest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string max_survey_response_date = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     */
    protected $max_survey_response_date = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int|string $response_collection_ratio_micros
     *           Output only. The ratio of target survey responses that have been collected
     *           so far. Expressed in micros: 0 = 0%, 1000000 = 100%.
     *     @type string $min_survey_response_date
     *           Output only. The earliest date in which survey responses were recorded.
     *     @type string $max_survey_response_date
     *           Output only. The latest date in which survey responses were recorded.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Ads\GoogleAds\V25\Resources\LiftMeasurementFlight::initOnce();
        parent::__construct($data);
    }

    /**
     * Output only. The ratio of target survey responses that have been collected
     * so far. Expressed in micros: 0 = 0%, 1000000 = 100%.
     *
     * Generated from protobuf field <code>optional int64 response_collection_ratio_micros = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return int|string
     */
    public function getResponseCollectionRatioMicros()
    {
        return isset($this->response_collection_ratio_micros) ? $this->response_collection_ratio_micros : 0;
    }

    public function hasResponseCollectionRatioMicros()
    {
        return isset($this->response_collection_ratio_micros);
    }

    public function clearResponseCollectionRatioMicros()
    {
        unset($this->response_collection_ratio_micros);
    }

    /**
     * Output only. The ratio of target survey responses that have been collected
     * so far. Expressed in micros: 0 = 0%, 1000000 = 100%.
     *
     * Generated from protobuf field <code>optional int64 response_collection_ratio_micros = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param int|string $var
     * @return $this
     */
    public function setResponseCollectionRatioMicros($var)
    {
        GPBUtil::checkInt64($var);
        $this->response_collection_ratio_micros = $var;

        return $this;
    }

    /**
     * Output only. The earliest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string min_survey_response_date = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return string
     */
    public function getMinSurveyResponseDate()
    {
        return isset($this->min_survey_response_date) ? $this->min_survey_response_date : '';
    }

    public function hasMinSurveyResponseDate()
    {
        return isset($this->min_survey_response_date);
    }

    public function clearMinSurveyResponseDate()
    {
        unset($this->min_survey_response_date);
    }

    /**
     * Output only. The earliest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string min_survey_response_date = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param string $var
     * @return $this
     */
    public function setMinSurveyResponseDate($var)
    {
        GPBUtil::checkString($var, True);
        $this->min_survey_response_date = $var;

        return $this;
    }

    /**
     * Output only. The latest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string max_survey_response_date = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @return string
     */
    public function getMaxSurveyResponseDate()
    {
        return isset($this->max_survey_response_date) ? $this->max_survey_response_date : '';
    }

    public function hasMaxSurveyResponseDate()
    {
        return isset($this->max_survey_response_date);
    }

    public function clearMaxSurveyResponseDate()
    {
        unset($this->max_survey_response_date);
    }

    /**
     * Output only. The latest date in which survey responses were recorded.
     *
     * Generated from protobuf field <code>optional string max_survey_response_date = 3 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
     * @param string $var
     * @return $this
     */
    public function setMaxSurveyResponseDate($var)
    {
        GPBUtil::checkString($var, True);
        $this->max_survey_response_date = $var;

        return $this;
    }

}

