<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/talent/v4/common.proto

namespace Google\Cloud\Talent\V4;

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

/**
 * Various debug options available for debugging mode. Internal only.
 *
 * Generated from protobuf message <code>google.cloud.talent.v4.DebugOptions</code>
 */
class DebugOptions extends \Google\Protobuf\Internal\Message
{
    /**
     * Specifies the level of debug output. The higher the number, the more
     * debug information is returned and printed in backend server logs.
     * Current levels are 1-4.
     *
     * Generated from protobuf field <code>int32 level = 1;</code>
     */
    private $level = 0;
    /**
     * Specifies which search backend to use. Current available options are:
     * st-bti, model-t, and st-muppet.
     *
     * Generated from protobuf field <code>string searcher = 2;</code>
     */
    private $searcher = '';
    /**
     * Specifies the scoring parameters to override during search. This is
     * equivalent to the 'dsp' url parameter in the legacy system. For details,
     * consult go/gjobs-scoring-params.
     *
     * Generated from protobuf field <code>string scoring_parameter_override = 3;</code>
     */
    private $scoring_parameter_override = '';
    /**
     * Overrides the ST sorting/scoring expression.
     *
     * Generated from protobuf field <code>string st_expression_override = 4;</code>
     */
    private $st_expression_override = '';
    /**
     * Search documents of all tenants (only implemented for job search as of
     * 6/14/2019).
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue search_all_tenant = 5;</code>
     */
    private $search_all_tenant = null;
    /**
     * Temporarily added this flag for profile wildcard search
     * Flag to indicate whether wildcard search is enabled
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue enable_wildcard_search = 6;</code>
     */
    private $enable_wildcard_search = null;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type int $level
     *           Specifies the level of debug output. The higher the number, the more
     *           debug information is returned and printed in backend server logs.
     *           Current levels are 1-4.
     *     @type string $searcher
     *           Specifies which search backend to use. Current available options are:
     *           st-bti, model-t, and st-muppet.
     *     @type string $scoring_parameter_override
     *           Specifies the scoring parameters to override during search. This is
     *           equivalent to the 'dsp' url parameter in the legacy system. For details,
     *           consult go/gjobs-scoring-params.
     *     @type string $st_expression_override
     *           Overrides the ST sorting/scoring expression.
     *     @type \Google\Protobuf\BoolValue $search_all_tenant
     *           Search documents of all tenants (only implemented for job search as of
     *           6/14/2019).
     *     @type \Google\Protobuf\BoolValue $enable_wildcard_search
     *           Temporarily added this flag for profile wildcard search
     *           Flag to indicate whether wildcard search is enabled
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Cloud\Talent\V4\Common::initOnce();
        parent::__construct($data);
    }

    /**
     * Specifies the level of debug output. The higher the number, the more
     * debug information is returned and printed in backend server logs.
     * Current levels are 1-4.
     *
     * Generated from protobuf field <code>int32 level = 1;</code>
     * @return int
     */
    public function getLevel()
    {
        return $this->level;
    }

    /**
     * Specifies the level of debug output. The higher the number, the more
     * debug information is returned and printed in backend server logs.
     * Current levels are 1-4.
     *
     * Generated from protobuf field <code>int32 level = 1;</code>
     * @param int $var
     * @return $this
     */
    public function setLevel($var)
    {
        GPBUtil::checkInt32($var);
        $this->level = $var;

        return $this;
    }

    /**
     * Specifies which search backend to use. Current available options are:
     * st-bti, model-t, and st-muppet.
     *
     * Generated from protobuf field <code>string searcher = 2;</code>
     * @return string
     */
    public function getSearcher()
    {
        return $this->searcher;
    }

    /**
     * Specifies which search backend to use. Current available options are:
     * st-bti, model-t, and st-muppet.
     *
     * Generated from protobuf field <code>string searcher = 2;</code>
     * @param string $var
     * @return $this
     */
    public function setSearcher($var)
    {
        GPBUtil::checkString($var, True);
        $this->searcher = $var;

        return $this;
    }

    /**
     * Specifies the scoring parameters to override during search. This is
     * equivalent to the 'dsp' url parameter in the legacy system. For details,
     * consult go/gjobs-scoring-params.
     *
     * Generated from protobuf field <code>string scoring_parameter_override = 3;</code>
     * @return string
     */
    public function getScoringParameterOverride()
    {
        return $this->scoring_parameter_override;
    }

    /**
     * Specifies the scoring parameters to override during search. This is
     * equivalent to the 'dsp' url parameter in the legacy system. For details,
     * consult go/gjobs-scoring-params.
     *
     * Generated from protobuf field <code>string scoring_parameter_override = 3;</code>
     * @param string $var
     * @return $this
     */
    public function setScoringParameterOverride($var)
    {
        GPBUtil::checkString($var, True);
        $this->scoring_parameter_override = $var;

        return $this;
    }

    /**
     * Overrides the ST sorting/scoring expression.
     *
     * Generated from protobuf field <code>string st_expression_override = 4;</code>
     * @return string
     */
    public function getStExpressionOverride()
    {
        return $this->st_expression_override;
    }

    /**
     * Overrides the ST sorting/scoring expression.
     *
     * Generated from protobuf field <code>string st_expression_override = 4;</code>
     * @param string $var
     * @return $this
     */
    public function setStExpressionOverride($var)
    {
        GPBUtil::checkString($var, True);
        $this->st_expression_override = $var;

        return $this;
    }

    /**
     * Search documents of all tenants (only implemented for job search as of
     * 6/14/2019).
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue search_all_tenant = 5;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getSearchAllTenant()
    {
        return $this->search_all_tenant;
    }

    public function hasSearchAllTenant()
    {
        return isset($this->search_all_tenant);
    }

    public function clearSearchAllTenant()
    {
        unset($this->search_all_tenant);
    }

    /**
     * Returns the unboxed value from <code>getSearchAllTenant()</code>

     * Search documents of all tenants (only implemented for job search as of
     * 6/14/2019).
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue search_all_tenant = 5;</code>
     * @return bool|null
     */
    public function getSearchAllTenantValue()
    {
        return $this->readWrapperValue("search_all_tenant");
    }

    /**
     * Search documents of all tenants (only implemented for job search as of
     * 6/14/2019).
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue search_all_tenant = 5;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setSearchAllTenant($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->search_all_tenant = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.

     * Search documents of all tenants (only implemented for job search as of
     * 6/14/2019).
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue search_all_tenant = 5;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setSearchAllTenantValue($var)
    {
        $this->writeWrapperValue("search_all_tenant", $var);
        return $this;}

    /**
     * Temporarily added this flag for profile wildcard search
     * Flag to indicate whether wildcard search is enabled
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue enable_wildcard_search = 6;</code>
     * @return \Google\Protobuf\BoolValue|null
     */
    public function getEnableWildcardSearch()
    {
        return $this->enable_wildcard_search;
    }

    public function hasEnableWildcardSearch()
    {
        return isset($this->enable_wildcard_search);
    }

    public function clearEnableWildcardSearch()
    {
        unset($this->enable_wildcard_search);
    }

    /**
     * Returns the unboxed value from <code>getEnableWildcardSearch()</code>

     * Temporarily added this flag for profile wildcard search
     * Flag to indicate whether wildcard search is enabled
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue enable_wildcard_search = 6;</code>
     * @return bool|null
     */
    public function getEnableWildcardSearchValue()
    {
        return $this->readWrapperValue("enable_wildcard_search");
    }

    /**
     * Temporarily added this flag for profile wildcard search
     * Flag to indicate whether wildcard search is enabled
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue enable_wildcard_search = 6;</code>
     * @param \Google\Protobuf\BoolValue $var
     * @return $this
     */
    public function setEnableWildcardSearch($var)
    {
        GPBUtil::checkMessage($var, \Google\Protobuf\BoolValue::class);
        $this->enable_wildcard_search = $var;

        return $this;
    }

    /**
     * Sets the field by wrapping a primitive type in a Google\Protobuf\BoolValue object.

     * Temporarily added this flag for profile wildcard search
     * Flag to indicate whether wildcard search is enabled
     *
     * Generated from protobuf field <code>.google.protobuf.BoolValue enable_wildcard_search = 6;</code>
     * @param bool|null $var
     * @return $this
     */
    public function setEnableWildcardSearchValue($var)
    {
        $this->writeWrapperValue("enable_wildcard_search", $var);
        return $this;}

}

