• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/talent/v4/job_service.proto
18 
19 package com.google.cloud.talent.v4;
20 
21 /**
22  *
23  *
24  * <pre>
25  * The Request body of the `SearchJobs` call.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.talent.v4.SearchJobsRequest}
29  */
30 public final class SearchJobsRequest extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.talent.v4.SearchJobsRequest)
33     SearchJobsRequestOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use SearchJobsRequest.newBuilder() to construct.
SearchJobsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private SearchJobsRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
SearchJobsRequest()40   private SearchJobsRequest() {
41     parent_ = "";
42     searchMode_ = 0;
43     histogramQueries_ = java.util.Collections.emptyList();
44     jobView_ = 0;
45     pageToken_ = "";
46     orderBy_ = "";
47     diversificationLevel_ = 0;
48     keywordMatchMode_ = 0;
49   }
50 
51   @java.lang.Override
52   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)53   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
54     return new SearchJobsRequest();
55   }
56 
57   @java.lang.Override
getUnknownFields()58   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
59     return this.unknownFields;
60   }
61 
getDescriptor()62   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
63     return com.google.cloud.talent.v4.JobServiceProto
64         .internal_static_google_cloud_talent_v4_SearchJobsRequest_descriptor;
65   }
66 
67   @java.lang.Override
68   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()69       internalGetFieldAccessorTable() {
70     return com.google.cloud.talent.v4.JobServiceProto
71         .internal_static_google_cloud_talent_v4_SearchJobsRequest_fieldAccessorTable
72         .ensureFieldAccessorsInitialized(
73             com.google.cloud.talent.v4.SearchJobsRequest.class,
74             com.google.cloud.talent.v4.SearchJobsRequest.Builder.class);
75   }
76 
77   /**
78    *
79    *
80    * <pre>
81    * A string-represented enumeration of the job search mode. The service
82    * operate differently for different modes of service.
83    * </pre>
84    *
85    * Protobuf enum {@code google.cloud.talent.v4.SearchJobsRequest.SearchMode}
86    */
87   public enum SearchMode implements com.google.protobuf.ProtocolMessageEnum {
88     /**
89      *
90      *
91      * <pre>
92      * The mode of the search method isn't specified. The default search
93      * behavior is identical to JOB_SEARCH search behavior.
94      * </pre>
95      *
96      * <code>SEARCH_MODE_UNSPECIFIED = 0;</code>
97      */
98     SEARCH_MODE_UNSPECIFIED(0),
99     /**
100      *
101      *
102      * <pre>
103      * The job search matches against all jobs, and featured jobs
104      * (jobs with promotionValue &gt; 0) are not specially handled.
105      * </pre>
106      *
107      * <code>JOB_SEARCH = 1;</code>
108      */
109     JOB_SEARCH(1),
110     /**
111      *
112      *
113      * <pre>
114      * The job search matches only against featured jobs (jobs with a
115      * promotionValue &gt; 0). This method doesn't return any jobs having a
116      * promotionValue &lt;= 0. The search results order is determined by the
117      * promotionValue (jobs with a higher promotionValue are returned higher up
118      * in the search results), with relevance being used as a tiebreaker.
119      * </pre>
120      *
121      * <code>FEATURED_JOB_SEARCH = 2;</code>
122      */
123     FEATURED_JOB_SEARCH(2),
124     UNRECOGNIZED(-1),
125     ;
126 
127     /**
128      *
129      *
130      * <pre>
131      * The mode of the search method isn't specified. The default search
132      * behavior is identical to JOB_SEARCH search behavior.
133      * </pre>
134      *
135      * <code>SEARCH_MODE_UNSPECIFIED = 0;</code>
136      */
137     public static final int SEARCH_MODE_UNSPECIFIED_VALUE = 0;
138     /**
139      *
140      *
141      * <pre>
142      * The job search matches against all jobs, and featured jobs
143      * (jobs with promotionValue &gt; 0) are not specially handled.
144      * </pre>
145      *
146      * <code>JOB_SEARCH = 1;</code>
147      */
148     public static final int JOB_SEARCH_VALUE = 1;
149     /**
150      *
151      *
152      * <pre>
153      * The job search matches only against featured jobs (jobs with a
154      * promotionValue &gt; 0). This method doesn't return any jobs having a
155      * promotionValue &lt;= 0. The search results order is determined by the
156      * promotionValue (jobs with a higher promotionValue are returned higher up
157      * in the search results), with relevance being used as a tiebreaker.
158      * </pre>
159      *
160      * <code>FEATURED_JOB_SEARCH = 2;</code>
161      */
162     public static final int FEATURED_JOB_SEARCH_VALUE = 2;
163 
getNumber()164     public final int getNumber() {
165       if (this == UNRECOGNIZED) {
166         throw new java.lang.IllegalArgumentException(
167             "Can't get the number of an unknown enum value.");
168       }
169       return value;
170     }
171 
172     /**
173      * @param value The numeric wire value of the corresponding enum entry.
174      * @return The enum associated with the given numeric wire value.
175      * @deprecated Use {@link #forNumber(int)} instead.
176      */
177     @java.lang.Deprecated
valueOf(int value)178     public static SearchMode valueOf(int value) {
179       return forNumber(value);
180     }
181 
182     /**
183      * @param value The numeric wire value of the corresponding enum entry.
184      * @return The enum associated with the given numeric wire value.
185      */
forNumber(int value)186     public static SearchMode forNumber(int value) {
187       switch (value) {
188         case 0:
189           return SEARCH_MODE_UNSPECIFIED;
190         case 1:
191           return JOB_SEARCH;
192         case 2:
193           return FEATURED_JOB_SEARCH;
194         default:
195           return null;
196       }
197     }
198 
internalGetValueMap()199     public static com.google.protobuf.Internal.EnumLiteMap<SearchMode> internalGetValueMap() {
200       return internalValueMap;
201     }
202 
203     private static final com.google.protobuf.Internal.EnumLiteMap<SearchMode> internalValueMap =
204         new com.google.protobuf.Internal.EnumLiteMap<SearchMode>() {
205           public SearchMode findValueByNumber(int number) {
206             return SearchMode.forNumber(number);
207           }
208         };
209 
getValueDescriptor()210     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
211       if (this == UNRECOGNIZED) {
212         throw new java.lang.IllegalStateException(
213             "Can't get the descriptor of an unrecognized enum value.");
214       }
215       return getDescriptor().getValues().get(ordinal());
216     }
217 
getDescriptorForType()218     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
219       return getDescriptor();
220     }
221 
getDescriptor()222     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
223       return com.google.cloud.talent.v4.SearchJobsRequest.getDescriptor().getEnumTypes().get(0);
224     }
225 
226     private static final SearchMode[] VALUES = values();
227 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)228     public static SearchMode valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
229       if (desc.getType() != getDescriptor()) {
230         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
231       }
232       if (desc.getIndex() == -1) {
233         return UNRECOGNIZED;
234       }
235       return VALUES[desc.getIndex()];
236     }
237 
238     private final int value;
239 
SearchMode(int value)240     private SearchMode(int value) {
241       this.value = value;
242     }
243 
244     // @@protoc_insertion_point(enum_scope:google.cloud.talent.v4.SearchJobsRequest.SearchMode)
245   }
246 
247   /**
248    *
249    *
250    * <pre>
251    * Controls whether highly similar jobs are returned next to each other in
252    * the search results. Jobs are identified as highly similar based on
253    * their titles, job categories, and locations. Highly similar results are
254    * clustered so that only one representative job of the cluster is
255    * displayed to the job seeker higher up in the results, with the other jobs
256    * being displayed lower down in the results.
257    * If you are using pageToken to page through the result set,
258    * latency might be lower but we can't guarantee that all results are
259    * returned. If you are using page offset, latency might be higher but all
260    * results are returned.
261    * </pre>
262    *
263    * Protobuf enum {@code google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel}
264    */
265   public enum DiversificationLevel implements com.google.protobuf.ProtocolMessageEnum {
266     /**
267      *
268      *
269      * <pre>
270      * The diversification level isn't specified.
271      * </pre>
272      *
273      * <code>DIVERSIFICATION_LEVEL_UNSPECIFIED = 0;</code>
274      */
275     DIVERSIFICATION_LEVEL_UNSPECIFIED(0),
276     /**
277      *
278      *
279      * <pre>
280      * Disables diversification. Jobs that would normally be pushed to the last
281      * page would not have their positions altered. This may result in highly
282      * similar jobs appearing in sequence in the search results.
283      * </pre>
284      *
285      * <code>DISABLED = 1;</code>
286      */
287     DISABLED(1),
288     /**
289      *
290      *
291      * <pre>
292      * Default diversifying behavior. The result list is ordered so that
293      * highly similar results are pushed to the end of the last page of search
294      * results.
295      * </pre>
296      *
297      * <code>SIMPLE = 2;</code>
298      */
299     SIMPLE(2),
300     /**
301      *
302      *
303      * <pre>
304      * Only one job from the same company will be shown at once, other jobs
305      * under same company are pushed to the end of the last page of search
306      * result.
307      * </pre>
308      *
309      * <code>ONE_PER_COMPANY = 3;</code>
310      */
311     ONE_PER_COMPANY(3),
312     /**
313      *
314      *
315      * <pre>
316      * Similar to ONE_PER_COMPANY, but it allows at most two jobs in the
317      * same company to be shown at once, the other jobs under same company are
318      * pushed to the end of the last page of search result.
319      * </pre>
320      *
321      * <code>TWO_PER_COMPANY = 4;</code>
322      */
323     TWO_PER_COMPANY(4),
324     /**
325      *
326      *
327      * <pre>
328      * The result list is ordered such that somewhat similar results are pushed
329      * to the end of the last page of the search results. This option is
330      * recommended if SIMPLE diversification does not diversify enough.
331      * </pre>
332      *
333      * <code>DIVERSIFY_BY_LOOSER_SIMILARITY = 5;</code>
334      */
335     DIVERSIFY_BY_LOOSER_SIMILARITY(5),
336     UNRECOGNIZED(-1),
337     ;
338 
339     /**
340      *
341      *
342      * <pre>
343      * The diversification level isn't specified.
344      * </pre>
345      *
346      * <code>DIVERSIFICATION_LEVEL_UNSPECIFIED = 0;</code>
347      */
348     public static final int DIVERSIFICATION_LEVEL_UNSPECIFIED_VALUE = 0;
349     /**
350      *
351      *
352      * <pre>
353      * Disables diversification. Jobs that would normally be pushed to the last
354      * page would not have their positions altered. This may result in highly
355      * similar jobs appearing in sequence in the search results.
356      * </pre>
357      *
358      * <code>DISABLED = 1;</code>
359      */
360     public static final int DISABLED_VALUE = 1;
361     /**
362      *
363      *
364      * <pre>
365      * Default diversifying behavior. The result list is ordered so that
366      * highly similar results are pushed to the end of the last page of search
367      * results.
368      * </pre>
369      *
370      * <code>SIMPLE = 2;</code>
371      */
372     public static final int SIMPLE_VALUE = 2;
373     /**
374      *
375      *
376      * <pre>
377      * Only one job from the same company will be shown at once, other jobs
378      * under same company are pushed to the end of the last page of search
379      * result.
380      * </pre>
381      *
382      * <code>ONE_PER_COMPANY = 3;</code>
383      */
384     public static final int ONE_PER_COMPANY_VALUE = 3;
385     /**
386      *
387      *
388      * <pre>
389      * Similar to ONE_PER_COMPANY, but it allows at most two jobs in the
390      * same company to be shown at once, the other jobs under same company are
391      * pushed to the end of the last page of search result.
392      * </pre>
393      *
394      * <code>TWO_PER_COMPANY = 4;</code>
395      */
396     public static final int TWO_PER_COMPANY_VALUE = 4;
397     /**
398      *
399      *
400      * <pre>
401      * The result list is ordered such that somewhat similar results are pushed
402      * to the end of the last page of the search results. This option is
403      * recommended if SIMPLE diversification does not diversify enough.
404      * </pre>
405      *
406      * <code>DIVERSIFY_BY_LOOSER_SIMILARITY = 5;</code>
407      */
408     public static final int DIVERSIFY_BY_LOOSER_SIMILARITY_VALUE = 5;
409 
getNumber()410     public final int getNumber() {
411       if (this == UNRECOGNIZED) {
412         throw new java.lang.IllegalArgumentException(
413             "Can't get the number of an unknown enum value.");
414       }
415       return value;
416     }
417 
418     /**
419      * @param value The numeric wire value of the corresponding enum entry.
420      * @return The enum associated with the given numeric wire value.
421      * @deprecated Use {@link #forNumber(int)} instead.
422      */
423     @java.lang.Deprecated
valueOf(int value)424     public static DiversificationLevel valueOf(int value) {
425       return forNumber(value);
426     }
427 
428     /**
429      * @param value The numeric wire value of the corresponding enum entry.
430      * @return The enum associated with the given numeric wire value.
431      */
forNumber(int value)432     public static DiversificationLevel forNumber(int value) {
433       switch (value) {
434         case 0:
435           return DIVERSIFICATION_LEVEL_UNSPECIFIED;
436         case 1:
437           return DISABLED;
438         case 2:
439           return SIMPLE;
440         case 3:
441           return ONE_PER_COMPANY;
442         case 4:
443           return TWO_PER_COMPANY;
444         case 5:
445           return DIVERSIFY_BY_LOOSER_SIMILARITY;
446         default:
447           return null;
448       }
449     }
450 
451     public static com.google.protobuf.Internal.EnumLiteMap<DiversificationLevel>
internalGetValueMap()452         internalGetValueMap() {
453       return internalValueMap;
454     }
455 
456     private static final com.google.protobuf.Internal.EnumLiteMap<DiversificationLevel>
457         internalValueMap =
458             new com.google.protobuf.Internal.EnumLiteMap<DiversificationLevel>() {
459               public DiversificationLevel findValueByNumber(int number) {
460                 return DiversificationLevel.forNumber(number);
461               }
462             };
463 
getValueDescriptor()464     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
465       if (this == UNRECOGNIZED) {
466         throw new java.lang.IllegalStateException(
467             "Can't get the descriptor of an unrecognized enum value.");
468       }
469       return getDescriptor().getValues().get(ordinal());
470     }
471 
getDescriptorForType()472     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
473       return getDescriptor();
474     }
475 
getDescriptor()476     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
477       return com.google.cloud.talent.v4.SearchJobsRequest.getDescriptor().getEnumTypes().get(1);
478     }
479 
480     private static final DiversificationLevel[] VALUES = values();
481 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)482     public static DiversificationLevel valueOf(
483         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
484       if (desc.getType() != getDescriptor()) {
485         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
486       }
487       if (desc.getIndex() == -1) {
488         return UNRECOGNIZED;
489       }
490       return VALUES[desc.getIndex()];
491     }
492 
493     private final int value;
494 
DiversificationLevel(int value)495     private DiversificationLevel(int value) {
496       this.value = value;
497     }
498 
499     // @@protoc_insertion_point(enum_scope:google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel)
500   }
501 
502   /**
503    *
504    *
505    * <pre>
506    * Controls what keyword matching behavior the search has. When keyword
507    * matching is enabled, a keyword match returns jobs that may not match given
508    * category filters when there are matching keywords. For example, for the
509    * query "program manager" with KeywordMatchMode set to KEYWORD_MATCH_ALL, a
510    * job posting with the title "software developer," which doesn't fall into
511    * "program manager" ontology, and "program manager" appearing in its
512    * description will be surfaced.
513    * For queries like "cloud" that don't contain title or
514    * location specific ontology, jobs with "cloud" keyword matches are returned
515    * regardless of this enum's value.
516    * Use
517    * [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes]
518    * if company-specific globally matched custom field/attribute string values
519    * are needed. Enabling keyword match improves recall of subsequent search
520    * requests.
521    * </pre>
522    *
523    * Protobuf enum {@code google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode}
524    */
525   public enum KeywordMatchMode implements com.google.protobuf.ProtocolMessageEnum {
526     /**
527      *
528      *
529      * <pre>
530      * The keyword match option isn't specified. Defaults to
531      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
532      * behavior.
533      * </pre>
534      *
535      * <code>KEYWORD_MATCH_MODE_UNSPECIFIED = 0;</code>
536      */
537     KEYWORD_MATCH_MODE_UNSPECIFIED(0),
538     /**
539      *
540      *
541      * <pre>
542      * Disables keyword matching.
543      * </pre>
544      *
545      * <code>KEYWORD_MATCH_DISABLED = 1;</code>
546      */
547     KEYWORD_MATCH_DISABLED(1),
548     /**
549      *
550      *
551      * <pre>
552      * Enable keyword matching over
553      * [Job.title][google.cloud.talent.v4.Job.title],
554      * [Job.description][google.cloud.talent.v4.Job.description],
555      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
556      * [Job.addresses][google.cloud.talent.v4.Job.addresses],
557      * [Job.qualifications][google.cloud.talent.v4.Job.qualifications], and
558      * keyword searchable
559      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
560      * fields.
561      * </pre>
562      *
563      * <code>KEYWORD_MATCH_ALL = 2;</code>
564      */
565     KEYWORD_MATCH_ALL(2),
566     /**
567      *
568      *
569      * <pre>
570      * Only enable keyword matching over
571      * [Job.title][google.cloud.talent.v4.Job.title].
572      * </pre>
573      *
574      * <code>KEYWORD_MATCH_TITLE_ONLY = 3;</code>
575      */
576     KEYWORD_MATCH_TITLE_ONLY(3),
577     UNRECOGNIZED(-1),
578     ;
579 
580     /**
581      *
582      *
583      * <pre>
584      * The keyword match option isn't specified. Defaults to
585      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
586      * behavior.
587      * </pre>
588      *
589      * <code>KEYWORD_MATCH_MODE_UNSPECIFIED = 0;</code>
590      */
591     public static final int KEYWORD_MATCH_MODE_UNSPECIFIED_VALUE = 0;
592     /**
593      *
594      *
595      * <pre>
596      * Disables keyword matching.
597      * </pre>
598      *
599      * <code>KEYWORD_MATCH_DISABLED = 1;</code>
600      */
601     public static final int KEYWORD_MATCH_DISABLED_VALUE = 1;
602     /**
603      *
604      *
605      * <pre>
606      * Enable keyword matching over
607      * [Job.title][google.cloud.talent.v4.Job.title],
608      * [Job.description][google.cloud.talent.v4.Job.description],
609      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
610      * [Job.addresses][google.cloud.talent.v4.Job.addresses],
611      * [Job.qualifications][google.cloud.talent.v4.Job.qualifications], and
612      * keyword searchable
613      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
614      * fields.
615      * </pre>
616      *
617      * <code>KEYWORD_MATCH_ALL = 2;</code>
618      */
619     public static final int KEYWORD_MATCH_ALL_VALUE = 2;
620     /**
621      *
622      *
623      * <pre>
624      * Only enable keyword matching over
625      * [Job.title][google.cloud.talent.v4.Job.title].
626      * </pre>
627      *
628      * <code>KEYWORD_MATCH_TITLE_ONLY = 3;</code>
629      */
630     public static final int KEYWORD_MATCH_TITLE_ONLY_VALUE = 3;
631 
getNumber()632     public final int getNumber() {
633       if (this == UNRECOGNIZED) {
634         throw new java.lang.IllegalArgumentException(
635             "Can't get the number of an unknown enum value.");
636       }
637       return value;
638     }
639 
640     /**
641      * @param value The numeric wire value of the corresponding enum entry.
642      * @return The enum associated with the given numeric wire value.
643      * @deprecated Use {@link #forNumber(int)} instead.
644      */
645     @java.lang.Deprecated
valueOf(int value)646     public static KeywordMatchMode valueOf(int value) {
647       return forNumber(value);
648     }
649 
650     /**
651      * @param value The numeric wire value of the corresponding enum entry.
652      * @return The enum associated with the given numeric wire value.
653      */
forNumber(int value)654     public static KeywordMatchMode forNumber(int value) {
655       switch (value) {
656         case 0:
657           return KEYWORD_MATCH_MODE_UNSPECIFIED;
658         case 1:
659           return KEYWORD_MATCH_DISABLED;
660         case 2:
661           return KEYWORD_MATCH_ALL;
662         case 3:
663           return KEYWORD_MATCH_TITLE_ONLY;
664         default:
665           return null;
666       }
667     }
668 
internalGetValueMap()669     public static com.google.protobuf.Internal.EnumLiteMap<KeywordMatchMode> internalGetValueMap() {
670       return internalValueMap;
671     }
672 
673     private static final com.google.protobuf.Internal.EnumLiteMap<KeywordMatchMode>
674         internalValueMap =
675             new com.google.protobuf.Internal.EnumLiteMap<KeywordMatchMode>() {
676               public KeywordMatchMode findValueByNumber(int number) {
677                 return KeywordMatchMode.forNumber(number);
678               }
679             };
680 
getValueDescriptor()681     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
682       if (this == UNRECOGNIZED) {
683         throw new java.lang.IllegalStateException(
684             "Can't get the descriptor of an unrecognized enum value.");
685       }
686       return getDescriptor().getValues().get(ordinal());
687     }
688 
getDescriptorForType()689     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
690       return getDescriptor();
691     }
692 
getDescriptor()693     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
694       return com.google.cloud.talent.v4.SearchJobsRequest.getDescriptor().getEnumTypes().get(2);
695     }
696 
697     private static final KeywordMatchMode[] VALUES = values();
698 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)699     public static KeywordMatchMode valueOf(
700         com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
701       if (desc.getType() != getDescriptor()) {
702         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
703       }
704       if (desc.getIndex() == -1) {
705         return UNRECOGNIZED;
706       }
707       return VALUES[desc.getIndex()];
708     }
709 
710     private final int value;
711 
KeywordMatchMode(int value)712     private KeywordMatchMode(int value) {
713       this.value = value;
714     }
715 
716     // @@protoc_insertion_point(enum_scope:google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode)
717   }
718 
719   public interface CustomRankingInfoOrBuilder
720       extends
721       // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)
722       com.google.protobuf.MessageOrBuilder {
723 
724     /**
725      *
726      *
727      * <pre>
728      * Required. Controls over how important the score of
729      * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
730      * gets applied to job's final ranking position.
731      * An error is thrown if not specified.
732      * </pre>
733      *
734      * <code>
735      * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
736      * </code>
737      *
738      * @return The enum numeric value on the wire for importanceLevel.
739      */
getImportanceLevelValue()740     int getImportanceLevelValue();
741     /**
742      *
743      *
744      * <pre>
745      * Required. Controls over how important the score of
746      * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
747      * gets applied to job's final ranking position.
748      * An error is thrown if not specified.
749      * </pre>
750      *
751      * <code>
752      * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
753      * </code>
754      *
755      * @return The importanceLevel.
756      */
757     com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
getImportanceLevel()758         getImportanceLevel();
759 
760     /**
761      *
762      *
763      * <pre>
764      * Required. Controls over how job documents get ranked on top of existing
765      * relevance score (determined by API algorithm). A combination of the
766      * ranking expression and relevance score is used to determine job's final
767      * ranking position.
768      * The syntax for this expression is a subset of Google SQL syntax.
769      * Supported operators are: +, -, *, /, where the left and right side of
770      * the operator is either a numeric
771      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
772      * key, integer/double value or an expression that can be evaluated to a
773      * number.
774      * Parenthesis are supported to adjust calculation precedence. The
775      * expression must be &lt; 200 characters in length.
776      * The expression is considered invalid for a job if the expression
777      * references custom attributes that are not populated on the job or if the
778      * expression results in a divide by zero. If an expression is invalid for a
779      * job, that job is demoted to the end of the results.
780      * Sample ranking expression
781      * (year + 25) * 0.25 - (freshness / 0.5)
782      * </pre>
783      *
784      * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
785      *
786      * @return The rankingExpression.
787      */
getRankingExpression()788     java.lang.String getRankingExpression();
789     /**
790      *
791      *
792      * <pre>
793      * Required. Controls over how job documents get ranked on top of existing
794      * relevance score (determined by API algorithm). A combination of the
795      * ranking expression and relevance score is used to determine job's final
796      * ranking position.
797      * The syntax for this expression is a subset of Google SQL syntax.
798      * Supported operators are: +, -, *, /, where the left and right side of
799      * the operator is either a numeric
800      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
801      * key, integer/double value or an expression that can be evaluated to a
802      * number.
803      * Parenthesis are supported to adjust calculation precedence. The
804      * expression must be &lt; 200 characters in length.
805      * The expression is considered invalid for a job if the expression
806      * references custom attributes that are not populated on the job or if the
807      * expression results in a divide by zero. If an expression is invalid for a
808      * job, that job is demoted to the end of the results.
809      * Sample ranking expression
810      * (year + 25) * 0.25 - (freshness / 0.5)
811      * </pre>
812      *
813      * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
814      *
815      * @return The bytes for rankingExpression.
816      */
getRankingExpressionBytes()817     com.google.protobuf.ByteString getRankingExpressionBytes();
818   }
819   /**
820    *
821    *
822    * <pre>
823    * Custom ranking information for
824    * [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
825    * </pre>
826    *
827    * Protobuf type {@code google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo}
828    */
829   public static final class CustomRankingInfo extends com.google.protobuf.GeneratedMessageV3
830       implements
831       // @@protoc_insertion_point(message_implements:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)
832       CustomRankingInfoOrBuilder {
833     private static final long serialVersionUID = 0L;
834     // Use CustomRankingInfo.newBuilder() to construct.
CustomRankingInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)835     private CustomRankingInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
836       super(builder);
837     }
838 
CustomRankingInfo()839     private CustomRankingInfo() {
840       importanceLevel_ = 0;
841       rankingExpression_ = "";
842     }
843 
844     @java.lang.Override
845     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)846     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
847       return new CustomRankingInfo();
848     }
849 
850     @java.lang.Override
getUnknownFields()851     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
852       return this.unknownFields;
853     }
854 
getDescriptor()855     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
856       return com.google.cloud.talent.v4.JobServiceProto
857           .internal_static_google_cloud_talent_v4_SearchJobsRequest_CustomRankingInfo_descriptor;
858     }
859 
860     @java.lang.Override
861     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()862         internalGetFieldAccessorTable() {
863       return com.google.cloud.talent.v4.JobServiceProto
864           .internal_static_google_cloud_talent_v4_SearchJobsRequest_CustomRankingInfo_fieldAccessorTable
865           .ensureFieldAccessorsInitialized(
866               com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.class,
867               com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder.class);
868     }
869 
870     /**
871      *
872      *
873      * <pre>
874      * The importance level for
875      * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression].
876      * </pre>
877      *
878      * Protobuf enum {@code
879      * google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel}
880      */
881     public enum ImportanceLevel implements com.google.protobuf.ProtocolMessageEnum {
882       /**
883        *
884        *
885        * <pre>
886        * Default value if the importance level isn't specified.
887        * </pre>
888        *
889        * <code>IMPORTANCE_LEVEL_UNSPECIFIED = 0;</code>
890        */
891       IMPORTANCE_LEVEL_UNSPECIFIED(0),
892       /**
893        *
894        *
895        * <pre>
896        * The given ranking expression is of None importance, existing relevance
897        * score (determined by API algorithm) dominates job's final ranking
898        * position.
899        * </pre>
900        *
901        * <code>NONE = 1;</code>
902        */
903       NONE(1),
904       /**
905        *
906        *
907        * <pre>
908        * The given ranking expression is of Low importance in terms of job's
909        * final ranking position compared to existing relevance
910        * score (determined by API algorithm).
911        * </pre>
912        *
913        * <code>LOW = 2;</code>
914        */
915       LOW(2),
916       /**
917        *
918        *
919        * <pre>
920        * The given ranking expression is of Mild importance in terms of job's
921        * final ranking position compared to existing relevance
922        * score (determined by API algorithm).
923        * </pre>
924        *
925        * <code>MILD = 3;</code>
926        */
927       MILD(3),
928       /**
929        *
930        *
931        * <pre>
932        * The given ranking expression is of Medium importance in terms of job's
933        * final ranking position compared to existing relevance
934        * score (determined by API algorithm).
935        * </pre>
936        *
937        * <code>MEDIUM = 4;</code>
938        */
939       MEDIUM(4),
940       /**
941        *
942        *
943        * <pre>
944        * The given ranking expression is of High importance in terms of job's
945        * final ranking position compared to existing relevance
946        * score (determined by API algorithm).
947        * </pre>
948        *
949        * <code>HIGH = 5;</code>
950        */
951       HIGH(5),
952       /**
953        *
954        *
955        * <pre>
956        * The given ranking expression is of Extreme importance, and dominates
957        * job's final ranking position with existing relevance
958        * score (determined by API algorithm) ignored.
959        * </pre>
960        *
961        * <code>EXTREME = 6;</code>
962        */
963       EXTREME(6),
964       UNRECOGNIZED(-1),
965       ;
966 
967       /**
968        *
969        *
970        * <pre>
971        * Default value if the importance level isn't specified.
972        * </pre>
973        *
974        * <code>IMPORTANCE_LEVEL_UNSPECIFIED = 0;</code>
975        */
976       public static final int IMPORTANCE_LEVEL_UNSPECIFIED_VALUE = 0;
977       /**
978        *
979        *
980        * <pre>
981        * The given ranking expression is of None importance, existing relevance
982        * score (determined by API algorithm) dominates job's final ranking
983        * position.
984        * </pre>
985        *
986        * <code>NONE = 1;</code>
987        */
988       public static final int NONE_VALUE = 1;
989       /**
990        *
991        *
992        * <pre>
993        * The given ranking expression is of Low importance in terms of job's
994        * final ranking position compared to existing relevance
995        * score (determined by API algorithm).
996        * </pre>
997        *
998        * <code>LOW = 2;</code>
999        */
1000       public static final int LOW_VALUE = 2;
1001       /**
1002        *
1003        *
1004        * <pre>
1005        * The given ranking expression is of Mild importance in terms of job's
1006        * final ranking position compared to existing relevance
1007        * score (determined by API algorithm).
1008        * </pre>
1009        *
1010        * <code>MILD = 3;</code>
1011        */
1012       public static final int MILD_VALUE = 3;
1013       /**
1014        *
1015        *
1016        * <pre>
1017        * The given ranking expression is of Medium importance in terms of job's
1018        * final ranking position compared to existing relevance
1019        * score (determined by API algorithm).
1020        * </pre>
1021        *
1022        * <code>MEDIUM = 4;</code>
1023        */
1024       public static final int MEDIUM_VALUE = 4;
1025       /**
1026        *
1027        *
1028        * <pre>
1029        * The given ranking expression is of High importance in terms of job's
1030        * final ranking position compared to existing relevance
1031        * score (determined by API algorithm).
1032        * </pre>
1033        *
1034        * <code>HIGH = 5;</code>
1035        */
1036       public static final int HIGH_VALUE = 5;
1037       /**
1038        *
1039        *
1040        * <pre>
1041        * The given ranking expression is of Extreme importance, and dominates
1042        * job's final ranking position with existing relevance
1043        * score (determined by API algorithm) ignored.
1044        * </pre>
1045        *
1046        * <code>EXTREME = 6;</code>
1047        */
1048       public static final int EXTREME_VALUE = 6;
1049 
getNumber()1050       public final int getNumber() {
1051         if (this == UNRECOGNIZED) {
1052           throw new java.lang.IllegalArgumentException(
1053               "Can't get the number of an unknown enum value.");
1054         }
1055         return value;
1056       }
1057 
1058       /**
1059        * @param value The numeric wire value of the corresponding enum entry.
1060        * @return The enum associated with the given numeric wire value.
1061        * @deprecated Use {@link #forNumber(int)} instead.
1062        */
1063       @java.lang.Deprecated
valueOf(int value)1064       public static ImportanceLevel valueOf(int value) {
1065         return forNumber(value);
1066       }
1067 
1068       /**
1069        * @param value The numeric wire value of the corresponding enum entry.
1070        * @return The enum associated with the given numeric wire value.
1071        */
forNumber(int value)1072       public static ImportanceLevel forNumber(int value) {
1073         switch (value) {
1074           case 0:
1075             return IMPORTANCE_LEVEL_UNSPECIFIED;
1076           case 1:
1077             return NONE;
1078           case 2:
1079             return LOW;
1080           case 3:
1081             return MILD;
1082           case 4:
1083             return MEDIUM;
1084           case 5:
1085             return HIGH;
1086           case 6:
1087             return EXTREME;
1088           default:
1089             return null;
1090         }
1091       }
1092 
1093       public static com.google.protobuf.Internal.EnumLiteMap<ImportanceLevel>
internalGetValueMap()1094           internalGetValueMap() {
1095         return internalValueMap;
1096       }
1097 
1098       private static final com.google.protobuf.Internal.EnumLiteMap<ImportanceLevel>
1099           internalValueMap =
1100               new com.google.protobuf.Internal.EnumLiteMap<ImportanceLevel>() {
1101                 public ImportanceLevel findValueByNumber(int number) {
1102                   return ImportanceLevel.forNumber(number);
1103                 }
1104               };
1105 
getValueDescriptor()1106       public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
1107         if (this == UNRECOGNIZED) {
1108           throw new java.lang.IllegalStateException(
1109               "Can't get the descriptor of an unrecognized enum value.");
1110         }
1111         return getDescriptor().getValues().get(ordinal());
1112       }
1113 
getDescriptorForType()1114       public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
1115         return getDescriptor();
1116       }
1117 
getDescriptor()1118       public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
1119         return com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDescriptor()
1120             .getEnumTypes()
1121             .get(0);
1122       }
1123 
1124       private static final ImportanceLevel[] VALUES = values();
1125 
valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)1126       public static ImportanceLevel valueOf(
1127           com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1128         if (desc.getType() != getDescriptor()) {
1129           throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
1130         }
1131         if (desc.getIndex() == -1) {
1132           return UNRECOGNIZED;
1133         }
1134         return VALUES[desc.getIndex()];
1135       }
1136 
1137       private final int value;
1138 
ImportanceLevel(int value)1139       private ImportanceLevel(int value) {
1140         this.value = value;
1141       }
1142 
1143       // @@protoc_insertion_point(enum_scope:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel)
1144     }
1145 
1146     public static final int IMPORTANCE_LEVEL_FIELD_NUMBER = 1;
1147     private int importanceLevel_ = 0;
1148     /**
1149      *
1150      *
1151      * <pre>
1152      * Required. Controls over how important the score of
1153      * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1154      * gets applied to job's final ranking position.
1155      * An error is thrown if not specified.
1156      * </pre>
1157      *
1158      * <code>
1159      * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1160      * </code>
1161      *
1162      * @return The enum numeric value on the wire for importanceLevel.
1163      */
1164     @java.lang.Override
getImportanceLevelValue()1165     public int getImportanceLevelValue() {
1166       return importanceLevel_;
1167     }
1168     /**
1169      *
1170      *
1171      * <pre>
1172      * Required. Controls over how important the score of
1173      * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1174      * gets applied to job's final ranking position.
1175      * An error is thrown if not specified.
1176      * </pre>
1177      *
1178      * <code>
1179      * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1180      * </code>
1181      *
1182      * @return The importanceLevel.
1183      */
1184     @java.lang.Override
1185     public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
getImportanceLevel()1186         getImportanceLevel() {
1187       com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel result =
1188           com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel.forNumber(
1189               importanceLevel_);
1190       return result == null
1191           ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
1192               .UNRECOGNIZED
1193           : result;
1194     }
1195 
1196     public static final int RANKING_EXPRESSION_FIELD_NUMBER = 2;
1197 
1198     @SuppressWarnings("serial")
1199     private volatile java.lang.Object rankingExpression_ = "";
1200     /**
1201      *
1202      *
1203      * <pre>
1204      * Required. Controls over how job documents get ranked on top of existing
1205      * relevance score (determined by API algorithm). A combination of the
1206      * ranking expression and relevance score is used to determine job's final
1207      * ranking position.
1208      * The syntax for this expression is a subset of Google SQL syntax.
1209      * Supported operators are: +, -, *, /, where the left and right side of
1210      * the operator is either a numeric
1211      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1212      * key, integer/double value or an expression that can be evaluated to a
1213      * number.
1214      * Parenthesis are supported to adjust calculation precedence. The
1215      * expression must be &lt; 200 characters in length.
1216      * The expression is considered invalid for a job if the expression
1217      * references custom attributes that are not populated on the job or if the
1218      * expression results in a divide by zero. If an expression is invalid for a
1219      * job, that job is demoted to the end of the results.
1220      * Sample ranking expression
1221      * (year + 25) * 0.25 - (freshness / 0.5)
1222      * </pre>
1223      *
1224      * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1225      *
1226      * @return The rankingExpression.
1227      */
1228     @java.lang.Override
getRankingExpression()1229     public java.lang.String getRankingExpression() {
1230       java.lang.Object ref = rankingExpression_;
1231       if (ref instanceof java.lang.String) {
1232         return (java.lang.String) ref;
1233       } else {
1234         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1235         java.lang.String s = bs.toStringUtf8();
1236         rankingExpression_ = s;
1237         return s;
1238       }
1239     }
1240     /**
1241      *
1242      *
1243      * <pre>
1244      * Required. Controls over how job documents get ranked on top of existing
1245      * relevance score (determined by API algorithm). A combination of the
1246      * ranking expression and relevance score is used to determine job's final
1247      * ranking position.
1248      * The syntax for this expression is a subset of Google SQL syntax.
1249      * Supported operators are: +, -, *, /, where the left and right side of
1250      * the operator is either a numeric
1251      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1252      * key, integer/double value or an expression that can be evaluated to a
1253      * number.
1254      * Parenthesis are supported to adjust calculation precedence. The
1255      * expression must be &lt; 200 characters in length.
1256      * The expression is considered invalid for a job if the expression
1257      * references custom attributes that are not populated on the job or if the
1258      * expression results in a divide by zero. If an expression is invalid for a
1259      * job, that job is demoted to the end of the results.
1260      * Sample ranking expression
1261      * (year + 25) * 0.25 - (freshness / 0.5)
1262      * </pre>
1263      *
1264      * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1265      *
1266      * @return The bytes for rankingExpression.
1267      */
1268     @java.lang.Override
getRankingExpressionBytes()1269     public com.google.protobuf.ByteString getRankingExpressionBytes() {
1270       java.lang.Object ref = rankingExpression_;
1271       if (ref instanceof java.lang.String) {
1272         com.google.protobuf.ByteString b =
1273             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1274         rankingExpression_ = b;
1275         return b;
1276       } else {
1277         return (com.google.protobuf.ByteString) ref;
1278       }
1279     }
1280 
1281     private byte memoizedIsInitialized = -1;
1282 
1283     @java.lang.Override
isInitialized()1284     public final boolean isInitialized() {
1285       byte isInitialized = memoizedIsInitialized;
1286       if (isInitialized == 1) return true;
1287       if (isInitialized == 0) return false;
1288 
1289       memoizedIsInitialized = 1;
1290       return true;
1291     }
1292 
1293     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1294     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1295       if (importanceLevel_
1296           != com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
1297               .IMPORTANCE_LEVEL_UNSPECIFIED
1298               .getNumber()) {
1299         output.writeEnum(1, importanceLevel_);
1300       }
1301       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rankingExpression_)) {
1302         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, rankingExpression_);
1303       }
1304       getUnknownFields().writeTo(output);
1305     }
1306 
1307     @java.lang.Override
getSerializedSize()1308     public int getSerializedSize() {
1309       int size = memoizedSize;
1310       if (size != -1) return size;
1311 
1312       size = 0;
1313       if (importanceLevel_
1314           != com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
1315               .IMPORTANCE_LEVEL_UNSPECIFIED
1316               .getNumber()) {
1317         size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, importanceLevel_);
1318       }
1319       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(rankingExpression_)) {
1320         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, rankingExpression_);
1321       }
1322       size += getUnknownFields().getSerializedSize();
1323       memoizedSize = size;
1324       return size;
1325     }
1326 
1327     @java.lang.Override
equals(final java.lang.Object obj)1328     public boolean equals(final java.lang.Object obj) {
1329       if (obj == this) {
1330         return true;
1331       }
1332       if (!(obj instanceof com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)) {
1333         return super.equals(obj);
1334       }
1335       com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo other =
1336           (com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo) obj;
1337 
1338       if (importanceLevel_ != other.importanceLevel_) return false;
1339       if (!getRankingExpression().equals(other.getRankingExpression())) return false;
1340       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1341       return true;
1342     }
1343 
1344     @java.lang.Override
hashCode()1345     public int hashCode() {
1346       if (memoizedHashCode != 0) {
1347         return memoizedHashCode;
1348       }
1349       int hash = 41;
1350       hash = (19 * hash) + getDescriptor().hashCode();
1351       hash = (37 * hash) + IMPORTANCE_LEVEL_FIELD_NUMBER;
1352       hash = (53 * hash) + importanceLevel_;
1353       hash = (37 * hash) + RANKING_EXPRESSION_FIELD_NUMBER;
1354       hash = (53 * hash) + getRankingExpression().hashCode();
1355       hash = (29 * hash) + getUnknownFields().hashCode();
1356       memoizedHashCode = hash;
1357       return hash;
1358     }
1359 
parseFrom( java.nio.ByteBuffer data)1360     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1361         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
1362       return PARSER.parseFrom(data);
1363     }
1364 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1365     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1366         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1367         throws com.google.protobuf.InvalidProtocolBufferException {
1368       return PARSER.parseFrom(data, extensionRegistry);
1369     }
1370 
parseFrom( com.google.protobuf.ByteString data)1371     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1372         com.google.protobuf.ByteString data)
1373         throws com.google.protobuf.InvalidProtocolBufferException {
1374       return PARSER.parseFrom(data);
1375     }
1376 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1377     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1378         com.google.protobuf.ByteString data,
1379         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1380         throws com.google.protobuf.InvalidProtocolBufferException {
1381       return PARSER.parseFrom(data, extensionRegistry);
1382     }
1383 
parseFrom( byte[] data)1384     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1385         byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
1386       return PARSER.parseFrom(data);
1387     }
1388 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1389     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1390         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1391         throws com.google.protobuf.InvalidProtocolBufferException {
1392       return PARSER.parseFrom(data, extensionRegistry);
1393     }
1394 
parseFrom( java.io.InputStream input)1395     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1396         java.io.InputStream input) throws java.io.IOException {
1397       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1398     }
1399 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1400     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1401         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1402         throws java.io.IOException {
1403       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1404           PARSER, input, extensionRegistry);
1405     }
1406 
parseDelimitedFrom( java.io.InputStream input)1407     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseDelimitedFrom(
1408         java.io.InputStream input) throws java.io.IOException {
1409       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1410     }
1411 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1412     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseDelimitedFrom(
1413         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1414         throws java.io.IOException {
1415       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1416           PARSER, input, extensionRegistry);
1417     }
1418 
parseFrom( com.google.protobuf.CodedInputStream input)1419     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1420         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1421       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1422     }
1423 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1424     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo parseFrom(
1425         com.google.protobuf.CodedInputStream input,
1426         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1427         throws java.io.IOException {
1428       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1429           PARSER, input, extensionRegistry);
1430     }
1431 
1432     @java.lang.Override
newBuilderForType()1433     public Builder newBuilderForType() {
1434       return newBuilder();
1435     }
1436 
newBuilder()1437     public static Builder newBuilder() {
1438       return DEFAULT_INSTANCE.toBuilder();
1439     }
1440 
newBuilder( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo prototype)1441     public static Builder newBuilder(
1442         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo prototype) {
1443       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1444     }
1445 
1446     @java.lang.Override
toBuilder()1447     public Builder toBuilder() {
1448       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1449     }
1450 
1451     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1452     protected Builder newBuilderForType(
1453         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1454       Builder builder = new Builder(parent);
1455       return builder;
1456     }
1457     /**
1458      *
1459      *
1460      * <pre>
1461      * Custom ranking information for
1462      * [SearchJobsRequest][google.cloud.talent.v4.SearchJobsRequest].
1463      * </pre>
1464      *
1465      * Protobuf type {@code google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo}
1466      */
1467     public static final class Builder
1468         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1469         implements
1470         // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)
1471         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder {
getDescriptor()1472       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1473         return com.google.cloud.talent.v4.JobServiceProto
1474             .internal_static_google_cloud_talent_v4_SearchJobsRequest_CustomRankingInfo_descriptor;
1475       }
1476 
1477       @java.lang.Override
1478       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1479           internalGetFieldAccessorTable() {
1480         return com.google.cloud.talent.v4.JobServiceProto
1481             .internal_static_google_cloud_talent_v4_SearchJobsRequest_CustomRankingInfo_fieldAccessorTable
1482             .ensureFieldAccessorsInitialized(
1483                 com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.class,
1484                 com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder.class);
1485       }
1486 
1487       // Construct using com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.newBuilder()
Builder()1488       private Builder() {}
1489 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1490       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1491         super(parent);
1492       }
1493 
1494       @java.lang.Override
clear()1495       public Builder clear() {
1496         super.clear();
1497         bitField0_ = 0;
1498         importanceLevel_ = 0;
1499         rankingExpression_ = "";
1500         return this;
1501       }
1502 
1503       @java.lang.Override
getDescriptorForType()1504       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1505         return com.google.cloud.talent.v4.JobServiceProto
1506             .internal_static_google_cloud_talent_v4_SearchJobsRequest_CustomRankingInfo_descriptor;
1507       }
1508 
1509       @java.lang.Override
1510       public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo
getDefaultInstanceForType()1511           getDefaultInstanceForType() {
1512         return com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance();
1513       }
1514 
1515       @java.lang.Override
build()1516       public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo build() {
1517         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo result = buildPartial();
1518         if (!result.isInitialized()) {
1519           throw newUninitializedMessageException(result);
1520         }
1521         return result;
1522       }
1523 
1524       @java.lang.Override
buildPartial()1525       public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo buildPartial() {
1526         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo result =
1527             new com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo(this);
1528         if (bitField0_ != 0) {
1529           buildPartial0(result);
1530         }
1531         onBuilt();
1532         return result;
1533       }
1534 
buildPartial0( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo result)1535       private void buildPartial0(
1536           com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo result) {
1537         int from_bitField0_ = bitField0_;
1538         if (((from_bitField0_ & 0x00000001) != 0)) {
1539           result.importanceLevel_ = importanceLevel_;
1540         }
1541         if (((from_bitField0_ & 0x00000002) != 0)) {
1542           result.rankingExpression_ = rankingExpression_;
1543         }
1544       }
1545 
1546       @java.lang.Override
clone()1547       public Builder clone() {
1548         return super.clone();
1549       }
1550 
1551       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1552       public Builder setField(
1553           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1554         return super.setField(field, value);
1555       }
1556 
1557       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1558       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1559         return super.clearField(field);
1560       }
1561 
1562       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1563       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1564         return super.clearOneof(oneof);
1565       }
1566 
1567       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1568       public Builder setRepeatedField(
1569           com.google.protobuf.Descriptors.FieldDescriptor field,
1570           int index,
1571           java.lang.Object value) {
1572         return super.setRepeatedField(field, index, value);
1573       }
1574 
1575       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1576       public Builder addRepeatedField(
1577           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1578         return super.addRepeatedField(field, value);
1579       }
1580 
1581       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1582       public Builder mergeFrom(com.google.protobuf.Message other) {
1583         if (other instanceof com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo) {
1584           return mergeFrom((com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo) other);
1585         } else {
1586           super.mergeFrom(other);
1587           return this;
1588         }
1589       }
1590 
mergeFrom( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo other)1591       public Builder mergeFrom(
1592           com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo other) {
1593         if (other
1594             == com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance())
1595           return this;
1596         if (other.importanceLevel_ != 0) {
1597           setImportanceLevelValue(other.getImportanceLevelValue());
1598         }
1599         if (!other.getRankingExpression().isEmpty()) {
1600           rankingExpression_ = other.rankingExpression_;
1601           bitField0_ |= 0x00000002;
1602           onChanged();
1603         }
1604         this.mergeUnknownFields(other.getUnknownFields());
1605         onChanged();
1606         return this;
1607       }
1608 
1609       @java.lang.Override
isInitialized()1610       public final boolean isInitialized() {
1611         return true;
1612       }
1613 
1614       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1615       public Builder mergeFrom(
1616           com.google.protobuf.CodedInputStream input,
1617           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1618           throws java.io.IOException {
1619         if (extensionRegistry == null) {
1620           throw new java.lang.NullPointerException();
1621         }
1622         try {
1623           boolean done = false;
1624           while (!done) {
1625             int tag = input.readTag();
1626             switch (tag) {
1627               case 0:
1628                 done = true;
1629                 break;
1630               case 8:
1631                 {
1632                   importanceLevel_ = input.readEnum();
1633                   bitField0_ |= 0x00000001;
1634                   break;
1635                 } // case 8
1636               case 18:
1637                 {
1638                   rankingExpression_ = input.readStringRequireUtf8();
1639                   bitField0_ |= 0x00000002;
1640                   break;
1641                 } // case 18
1642               default:
1643                 {
1644                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1645                     done = true; // was an endgroup tag
1646                   }
1647                   break;
1648                 } // default:
1649             } // switch (tag)
1650           } // while (!done)
1651         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1652           throw e.unwrapIOException();
1653         } finally {
1654           onChanged();
1655         } // finally
1656         return this;
1657       }
1658 
1659       private int bitField0_;
1660 
1661       private int importanceLevel_ = 0;
1662       /**
1663        *
1664        *
1665        * <pre>
1666        * Required. Controls over how important the score of
1667        * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1668        * gets applied to job's final ranking position.
1669        * An error is thrown if not specified.
1670        * </pre>
1671        *
1672        * <code>
1673        * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1674        * </code>
1675        *
1676        * @return The enum numeric value on the wire for importanceLevel.
1677        */
1678       @java.lang.Override
getImportanceLevelValue()1679       public int getImportanceLevelValue() {
1680         return importanceLevel_;
1681       }
1682       /**
1683        *
1684        *
1685        * <pre>
1686        * Required. Controls over how important the score of
1687        * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1688        * gets applied to job's final ranking position.
1689        * An error is thrown if not specified.
1690        * </pre>
1691        *
1692        * <code>
1693        * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1694        * </code>
1695        *
1696        * @param value The enum numeric value on the wire for importanceLevel to set.
1697        * @return This builder for chaining.
1698        */
setImportanceLevelValue(int value)1699       public Builder setImportanceLevelValue(int value) {
1700         importanceLevel_ = value;
1701         bitField0_ |= 0x00000001;
1702         onChanged();
1703         return this;
1704       }
1705       /**
1706        *
1707        *
1708        * <pre>
1709        * Required. Controls over how important the score of
1710        * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1711        * gets applied to job's final ranking position.
1712        * An error is thrown if not specified.
1713        * </pre>
1714        *
1715        * <code>
1716        * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1717        * </code>
1718        *
1719        * @return The importanceLevel.
1720        */
1721       @java.lang.Override
1722       public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
getImportanceLevel()1723           getImportanceLevel() {
1724         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel result =
1725             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
1726                 .forNumber(importanceLevel_);
1727         return result == null
1728             ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel
1729                 .UNRECOGNIZED
1730             : result;
1731       }
1732       /**
1733        *
1734        *
1735        * <pre>
1736        * Required. Controls over how important the score of
1737        * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1738        * gets applied to job's final ranking position.
1739        * An error is thrown if not specified.
1740        * </pre>
1741        *
1742        * <code>
1743        * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1744        * </code>
1745        *
1746        * @param value The importanceLevel to set.
1747        * @return This builder for chaining.
1748        */
setImportanceLevel( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel value)1749       public Builder setImportanceLevel(
1750           com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel value) {
1751         if (value == null) {
1752           throw new NullPointerException();
1753         }
1754         bitField0_ |= 0x00000001;
1755         importanceLevel_ = value.getNumber();
1756         onChanged();
1757         return this;
1758       }
1759       /**
1760        *
1761        *
1762        * <pre>
1763        * Required. Controls over how important the score of
1764        * [CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
1765        * gets applied to job's final ranking position.
1766        * An error is thrown if not specified.
1767        * </pre>
1768        *
1769        * <code>
1770        * .google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ImportanceLevel importance_level = 1 [(.google.api.field_behavior) = REQUIRED];
1771        * </code>
1772        *
1773        * @return This builder for chaining.
1774        */
clearImportanceLevel()1775       public Builder clearImportanceLevel() {
1776         bitField0_ = (bitField0_ & ~0x00000001);
1777         importanceLevel_ = 0;
1778         onChanged();
1779         return this;
1780       }
1781 
1782       private java.lang.Object rankingExpression_ = "";
1783       /**
1784        *
1785        *
1786        * <pre>
1787        * Required. Controls over how job documents get ranked on top of existing
1788        * relevance score (determined by API algorithm). A combination of the
1789        * ranking expression and relevance score is used to determine job's final
1790        * ranking position.
1791        * The syntax for this expression is a subset of Google SQL syntax.
1792        * Supported operators are: +, -, *, /, where the left and right side of
1793        * the operator is either a numeric
1794        * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1795        * key, integer/double value or an expression that can be evaluated to a
1796        * number.
1797        * Parenthesis are supported to adjust calculation precedence. The
1798        * expression must be &lt; 200 characters in length.
1799        * The expression is considered invalid for a job if the expression
1800        * references custom attributes that are not populated on the job or if the
1801        * expression results in a divide by zero. If an expression is invalid for a
1802        * job, that job is demoted to the end of the results.
1803        * Sample ranking expression
1804        * (year + 25) * 0.25 - (freshness / 0.5)
1805        * </pre>
1806        *
1807        * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1808        *
1809        * @return The rankingExpression.
1810        */
getRankingExpression()1811       public java.lang.String getRankingExpression() {
1812         java.lang.Object ref = rankingExpression_;
1813         if (!(ref instanceof java.lang.String)) {
1814           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1815           java.lang.String s = bs.toStringUtf8();
1816           rankingExpression_ = s;
1817           return s;
1818         } else {
1819           return (java.lang.String) ref;
1820         }
1821       }
1822       /**
1823        *
1824        *
1825        * <pre>
1826        * Required. Controls over how job documents get ranked on top of existing
1827        * relevance score (determined by API algorithm). A combination of the
1828        * ranking expression and relevance score is used to determine job's final
1829        * ranking position.
1830        * The syntax for this expression is a subset of Google SQL syntax.
1831        * Supported operators are: +, -, *, /, where the left and right side of
1832        * the operator is either a numeric
1833        * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1834        * key, integer/double value or an expression that can be evaluated to a
1835        * number.
1836        * Parenthesis are supported to adjust calculation precedence. The
1837        * expression must be &lt; 200 characters in length.
1838        * The expression is considered invalid for a job if the expression
1839        * references custom attributes that are not populated on the job or if the
1840        * expression results in a divide by zero. If an expression is invalid for a
1841        * job, that job is demoted to the end of the results.
1842        * Sample ranking expression
1843        * (year + 25) * 0.25 - (freshness / 0.5)
1844        * </pre>
1845        *
1846        * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1847        *
1848        * @return The bytes for rankingExpression.
1849        */
getRankingExpressionBytes()1850       public com.google.protobuf.ByteString getRankingExpressionBytes() {
1851         java.lang.Object ref = rankingExpression_;
1852         if (ref instanceof String) {
1853           com.google.protobuf.ByteString b =
1854               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1855           rankingExpression_ = b;
1856           return b;
1857         } else {
1858           return (com.google.protobuf.ByteString) ref;
1859         }
1860       }
1861       /**
1862        *
1863        *
1864        * <pre>
1865        * Required. Controls over how job documents get ranked on top of existing
1866        * relevance score (determined by API algorithm). A combination of the
1867        * ranking expression and relevance score is used to determine job's final
1868        * ranking position.
1869        * The syntax for this expression is a subset of Google SQL syntax.
1870        * Supported operators are: +, -, *, /, where the left and right side of
1871        * the operator is either a numeric
1872        * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1873        * key, integer/double value or an expression that can be evaluated to a
1874        * number.
1875        * Parenthesis are supported to adjust calculation precedence. The
1876        * expression must be &lt; 200 characters in length.
1877        * The expression is considered invalid for a job if the expression
1878        * references custom attributes that are not populated on the job or if the
1879        * expression results in a divide by zero. If an expression is invalid for a
1880        * job, that job is demoted to the end of the results.
1881        * Sample ranking expression
1882        * (year + 25) * 0.25 - (freshness / 0.5)
1883        * </pre>
1884        *
1885        * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1886        *
1887        * @param value The rankingExpression to set.
1888        * @return This builder for chaining.
1889        */
setRankingExpression(java.lang.String value)1890       public Builder setRankingExpression(java.lang.String value) {
1891         if (value == null) {
1892           throw new NullPointerException();
1893         }
1894         rankingExpression_ = value;
1895         bitField0_ |= 0x00000002;
1896         onChanged();
1897         return this;
1898       }
1899       /**
1900        *
1901        *
1902        * <pre>
1903        * Required. Controls over how job documents get ranked on top of existing
1904        * relevance score (determined by API algorithm). A combination of the
1905        * ranking expression and relevance score is used to determine job's final
1906        * ranking position.
1907        * The syntax for this expression is a subset of Google SQL syntax.
1908        * Supported operators are: +, -, *, /, where the left and right side of
1909        * the operator is either a numeric
1910        * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1911        * key, integer/double value or an expression that can be evaluated to a
1912        * number.
1913        * Parenthesis are supported to adjust calculation precedence. The
1914        * expression must be &lt; 200 characters in length.
1915        * The expression is considered invalid for a job if the expression
1916        * references custom attributes that are not populated on the job or if the
1917        * expression results in a divide by zero. If an expression is invalid for a
1918        * job, that job is demoted to the end of the results.
1919        * Sample ranking expression
1920        * (year + 25) * 0.25 - (freshness / 0.5)
1921        * </pre>
1922        *
1923        * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1924        *
1925        * @return This builder for chaining.
1926        */
clearRankingExpression()1927       public Builder clearRankingExpression() {
1928         rankingExpression_ = getDefaultInstance().getRankingExpression();
1929         bitField0_ = (bitField0_ & ~0x00000002);
1930         onChanged();
1931         return this;
1932       }
1933       /**
1934        *
1935        *
1936        * <pre>
1937        * Required. Controls over how job documents get ranked on top of existing
1938        * relevance score (determined by API algorithm). A combination of the
1939        * ranking expression and relevance score is used to determine job's final
1940        * ranking position.
1941        * The syntax for this expression is a subset of Google SQL syntax.
1942        * Supported operators are: +, -, *, /, where the left and right side of
1943        * the operator is either a numeric
1944        * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes]
1945        * key, integer/double value or an expression that can be evaluated to a
1946        * number.
1947        * Parenthesis are supported to adjust calculation precedence. The
1948        * expression must be &lt; 200 characters in length.
1949        * The expression is considered invalid for a job if the expression
1950        * references custom attributes that are not populated on the job or if the
1951        * expression results in a divide by zero. If an expression is invalid for a
1952        * job, that job is demoted to the end of the results.
1953        * Sample ranking expression
1954        * (year + 25) * 0.25 - (freshness / 0.5)
1955        * </pre>
1956        *
1957        * <code>string ranking_expression = 2 [(.google.api.field_behavior) = REQUIRED];</code>
1958        *
1959        * @param value The bytes for rankingExpression to set.
1960        * @return This builder for chaining.
1961        */
setRankingExpressionBytes(com.google.protobuf.ByteString value)1962       public Builder setRankingExpressionBytes(com.google.protobuf.ByteString value) {
1963         if (value == null) {
1964           throw new NullPointerException();
1965         }
1966         checkByteStringIsUtf8(value);
1967         rankingExpression_ = value;
1968         bitField0_ |= 0x00000002;
1969         onChanged();
1970         return this;
1971       }
1972 
1973       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1974       public final Builder setUnknownFields(
1975           final com.google.protobuf.UnknownFieldSet unknownFields) {
1976         return super.setUnknownFields(unknownFields);
1977       }
1978 
1979       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1980       public final Builder mergeUnknownFields(
1981           final com.google.protobuf.UnknownFieldSet unknownFields) {
1982         return super.mergeUnknownFields(unknownFields);
1983       }
1984 
1985       // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)
1986     }
1987 
1988     // @@protoc_insertion_point(class_scope:google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo)
1989     private static final com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo
1990         DEFAULT_INSTANCE;
1991 
1992     static {
1993       DEFAULT_INSTANCE = new com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo();
1994     }
1995 
1996     public static com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo
getDefaultInstance()1997         getDefaultInstance() {
1998       return DEFAULT_INSTANCE;
1999     }
2000 
2001     private static final com.google.protobuf.Parser<CustomRankingInfo> PARSER =
2002         new com.google.protobuf.AbstractParser<CustomRankingInfo>() {
2003           @java.lang.Override
2004           public CustomRankingInfo parsePartialFrom(
2005               com.google.protobuf.CodedInputStream input,
2006               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2007               throws com.google.protobuf.InvalidProtocolBufferException {
2008             Builder builder = newBuilder();
2009             try {
2010               builder.mergeFrom(input, extensionRegistry);
2011             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2012               throw e.setUnfinishedMessage(builder.buildPartial());
2013             } catch (com.google.protobuf.UninitializedMessageException e) {
2014               throw e.asInvalidProtocolBufferException()
2015                   .setUnfinishedMessage(builder.buildPartial());
2016             } catch (java.io.IOException e) {
2017               throw new com.google.protobuf.InvalidProtocolBufferException(e)
2018                   .setUnfinishedMessage(builder.buildPartial());
2019             }
2020             return builder.buildPartial();
2021           }
2022         };
2023 
parser()2024     public static com.google.protobuf.Parser<CustomRankingInfo> parser() {
2025       return PARSER;
2026     }
2027 
2028     @java.lang.Override
getParserForType()2029     public com.google.protobuf.Parser<CustomRankingInfo> getParserForType() {
2030       return PARSER;
2031     }
2032 
2033     @java.lang.Override
2034     public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo
getDefaultInstanceForType()2035         getDefaultInstanceForType() {
2036       return DEFAULT_INSTANCE;
2037     }
2038   }
2039 
2040   public static final int PARENT_FIELD_NUMBER = 1;
2041 
2042   @SuppressWarnings("serial")
2043   private volatile java.lang.Object parent_ = "";
2044   /**
2045    *
2046    *
2047    * <pre>
2048    * Required. The resource name of the tenant to search within.
2049    * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
2050    * "projects/foo/tenants/bar".
2051    * </pre>
2052    *
2053    * <code>
2054    * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2055    * </code>
2056    *
2057    * @return The parent.
2058    */
2059   @java.lang.Override
getParent()2060   public java.lang.String getParent() {
2061     java.lang.Object ref = parent_;
2062     if (ref instanceof java.lang.String) {
2063       return (java.lang.String) ref;
2064     } else {
2065       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2066       java.lang.String s = bs.toStringUtf8();
2067       parent_ = s;
2068       return s;
2069     }
2070   }
2071   /**
2072    *
2073    *
2074    * <pre>
2075    * Required. The resource name of the tenant to search within.
2076    * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
2077    * "projects/foo/tenants/bar".
2078    * </pre>
2079    *
2080    * <code>
2081    * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
2082    * </code>
2083    *
2084    * @return The bytes for parent.
2085    */
2086   @java.lang.Override
getParentBytes()2087   public com.google.protobuf.ByteString getParentBytes() {
2088     java.lang.Object ref = parent_;
2089     if (ref instanceof java.lang.String) {
2090       com.google.protobuf.ByteString b =
2091           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2092       parent_ = b;
2093       return b;
2094     } else {
2095       return (com.google.protobuf.ByteString) ref;
2096     }
2097   }
2098 
2099   public static final int SEARCH_MODE_FIELD_NUMBER = 2;
2100   private int searchMode_ = 0;
2101   /**
2102    *
2103    *
2104    * <pre>
2105    * Mode of a search.
2106    * Defaults to
2107    * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
2108    * </pre>
2109    *
2110    * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
2111    *
2112    * @return The enum numeric value on the wire for searchMode.
2113    */
2114   @java.lang.Override
getSearchModeValue()2115   public int getSearchModeValue() {
2116     return searchMode_;
2117   }
2118   /**
2119    *
2120    *
2121    * <pre>
2122    * Mode of a search.
2123    * Defaults to
2124    * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
2125    * </pre>
2126    *
2127    * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
2128    *
2129    * @return The searchMode.
2130    */
2131   @java.lang.Override
getSearchMode()2132   public com.google.cloud.talent.v4.SearchJobsRequest.SearchMode getSearchMode() {
2133     com.google.cloud.talent.v4.SearchJobsRequest.SearchMode result =
2134         com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.forNumber(searchMode_);
2135     return result == null
2136         ? com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.UNRECOGNIZED
2137         : result;
2138   }
2139 
2140   public static final int REQUEST_METADATA_FIELD_NUMBER = 3;
2141   private com.google.cloud.talent.v4.RequestMetadata requestMetadata_;
2142   /**
2143    *
2144    *
2145    * <pre>
2146    * Required. The meta information collected about the job searcher, used to
2147    * improve the search quality of the service. The identifiers (such as
2148    * `user_id`) are provided by users, and must be unique and consistent.
2149    * </pre>
2150    *
2151    * <code>
2152    * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
2153    * </code>
2154    *
2155    * @return Whether the requestMetadata field is set.
2156    */
2157   @java.lang.Override
hasRequestMetadata()2158   public boolean hasRequestMetadata() {
2159     return requestMetadata_ != null;
2160   }
2161   /**
2162    *
2163    *
2164    * <pre>
2165    * Required. The meta information collected about the job searcher, used to
2166    * improve the search quality of the service. The identifiers (such as
2167    * `user_id`) are provided by users, and must be unique and consistent.
2168    * </pre>
2169    *
2170    * <code>
2171    * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
2172    * </code>
2173    *
2174    * @return The requestMetadata.
2175    */
2176   @java.lang.Override
getRequestMetadata()2177   public com.google.cloud.talent.v4.RequestMetadata getRequestMetadata() {
2178     return requestMetadata_ == null
2179         ? com.google.cloud.talent.v4.RequestMetadata.getDefaultInstance()
2180         : requestMetadata_;
2181   }
2182   /**
2183    *
2184    *
2185    * <pre>
2186    * Required. The meta information collected about the job searcher, used to
2187    * improve the search quality of the service. The identifiers (such as
2188    * `user_id`) are provided by users, and must be unique and consistent.
2189    * </pre>
2190    *
2191    * <code>
2192    * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
2193    * </code>
2194    */
2195   @java.lang.Override
getRequestMetadataOrBuilder()2196   public com.google.cloud.talent.v4.RequestMetadataOrBuilder getRequestMetadataOrBuilder() {
2197     return requestMetadata_ == null
2198         ? com.google.cloud.talent.v4.RequestMetadata.getDefaultInstance()
2199         : requestMetadata_;
2200   }
2201 
2202   public static final int JOB_QUERY_FIELD_NUMBER = 4;
2203   private com.google.cloud.talent.v4.JobQuery jobQuery_;
2204   /**
2205    *
2206    *
2207    * <pre>
2208    * Query used to search against jobs, such as keyword, location filters, etc.
2209    * </pre>
2210    *
2211    * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
2212    *
2213    * @return Whether the jobQuery field is set.
2214    */
2215   @java.lang.Override
hasJobQuery()2216   public boolean hasJobQuery() {
2217     return jobQuery_ != null;
2218   }
2219   /**
2220    *
2221    *
2222    * <pre>
2223    * Query used to search against jobs, such as keyword, location filters, etc.
2224    * </pre>
2225    *
2226    * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
2227    *
2228    * @return The jobQuery.
2229    */
2230   @java.lang.Override
getJobQuery()2231   public com.google.cloud.talent.v4.JobQuery getJobQuery() {
2232     return jobQuery_ == null ? com.google.cloud.talent.v4.JobQuery.getDefaultInstance() : jobQuery_;
2233   }
2234   /**
2235    *
2236    *
2237    * <pre>
2238    * Query used to search against jobs, such as keyword, location filters, etc.
2239    * </pre>
2240    *
2241    * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
2242    */
2243   @java.lang.Override
getJobQueryOrBuilder()2244   public com.google.cloud.talent.v4.JobQueryOrBuilder getJobQueryOrBuilder() {
2245     return jobQuery_ == null ? com.google.cloud.talent.v4.JobQuery.getDefaultInstance() : jobQuery_;
2246   }
2247 
2248   public static final int ENABLE_BROADENING_FIELD_NUMBER = 5;
2249   private boolean enableBroadening_ = false;
2250   /**
2251    *
2252    *
2253    * <pre>
2254    * Controls whether to broaden the search when it produces sparse results.
2255    * Broadened queries append results to the end of the matching results
2256    * list.
2257    * Defaults to false.
2258    * </pre>
2259    *
2260    * <code>bool enable_broadening = 5;</code>
2261    *
2262    * @return The enableBroadening.
2263    */
2264   @java.lang.Override
getEnableBroadening()2265   public boolean getEnableBroadening() {
2266     return enableBroadening_;
2267   }
2268 
2269   public static final int HISTOGRAM_QUERIES_FIELD_NUMBER = 7;
2270 
2271   @SuppressWarnings("serial")
2272   private java.util.List<com.google.cloud.talent.v4.HistogramQuery> histogramQueries_;
2273   /**
2274    *
2275    *
2276    * <pre>
2277    * An expression specifies a histogram request against matching jobs.
2278    * Expression syntax is an aggregation function call with histogram facets and
2279    * other options.
2280    * Available aggregation function calls are:
2281    * * `count(string_histogram_facet)`: Count the number of matching entities,
2282    * for each distinct attribute value.
2283    * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
2284    * matching entities within each bucket.
2285    * A maximum of 200 histogram buckets are supported.
2286    * Data types:
2287    * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
2288    * * String: string like "any string with backslash escape for quote(&#92;")."
2289    * * Number: whole number and floating point number like 10, -1 and -0.01.
2290    * * List: list of elements with comma(,) separator surrounded by square
2291    * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
2292    * Built-in constants:
2293    * * MIN (minimum number similar to java Double.MIN_VALUE)
2294    * * MAX (maximum number similar to java Double.MAX_VALUE)
2295    * Built-in functions:
2296    * * bucket(start, end[, label]): bucket built-in function creates a bucket
2297    * with range of [start, end). Note that the end is exclusive, for example,
2298    * bucket(1, MAX, "positive number") or bucket(1, 10).
2299    * Job histogram facets:
2300    * * company_display_name: histogram by
2301    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
2302    * * employment_type: histogram by
2303    * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
2304    * example,
2305    *   "FULL_TIME", "PART_TIME".
2306    * * company_size (DEPRECATED): histogram by
2307    * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
2308    * "MEDIUM", "BIG".
2309    * * publish_time_in_day: histogram by the
2310    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2311    *   in days.
2312    *   Must specify list of numeric buckets in spec.
2313    * * publish_time_in_month: histogram by the
2314    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2315    *   in months.
2316    *   Must specify list of numeric buckets in spec.
2317    * * publish_time_in_year: histogram by the
2318    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2319    *   in years.
2320    *   Must specify list of numeric buckets in spec.
2321    * * degree_types: histogram by the
2322    * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
2323    *   "Bachelors", "Masters".
2324    * * job_level: histogram by the
2325    * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
2326    *   Level".
2327    * * country: histogram by the country code of jobs, for example, "US", "FR".
2328    * * admin1: histogram by the admin1 code of jobs, which is a global
2329    *   placeholder referring to the state, province, or the particular term a
2330    *   country uses to define the geographic structure below the country level,
2331    *   for example, "CA", "IL".
2332    * * city: histogram by a combination of the "city name, admin1 code". For
2333    *   example,  "Mountain View, CA", "New York, NY".
2334    * * admin1_country: histogram by a combination of the "admin1 code, country",
2335    *   for example, "CA, US", "IL, US".
2336    * * city_coordinate: histogram by the city center's GPS coordinates (latitude
2337    *   and longitude), for example, 37.4038522,-122.0987765. Since the
2338    *   coordinates of a city center can change, customers may need to refresh
2339    *   them periodically.
2340    * * locale: histogram by the
2341    * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
2342    * "en-US",
2343    *   "fr-FR".
2344    * * language: histogram by the language subtag of the
2345    * [Job.language_code][google.cloud.talent.v4.Job.language_code],
2346    *   for example, "en", "fr".
2347    * * category: histogram by the
2348    * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
2349    *   "COMPUTER_AND_IT", "HEALTHCARE".
2350    * * base_compensation_unit: histogram by the
2351    *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
2352    *   of base salary, for example, "WEEKLY", "MONTHLY".
2353    * * base_compensation: histogram by the base salary. Must specify list of
2354    *   numeric buckets to group results by.
2355    * * annualized_base_compensation: histogram by the base annualized salary.
2356    *   Must specify list of numeric buckets to group results by.
2357    * * annualized_total_compensation: histogram by the total annualized salary.
2358    *   Must specify list of numeric buckets to group results by.
2359    * * string_custom_attribute: histogram by string
2360    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2361    *   Values can be accessed via square bracket notations like
2362    *   string_custom_attribute["key1"].
2363    * * numeric_custom_attribute: histogram by numeric
2364    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2365    *   Values can be accessed via square bracket notations like
2366    *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
2367    *   group results by.
2368    * Example expressions:
2369    * * `count(admin1)`
2370    * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
2371    * bucket(100000, MAX)])`
2372    * * `count(string_custom_attribute["some-string-custom-attribute"])`
2373    * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
2374    *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
2375    * </pre>
2376    *
2377    * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
2378    */
2379   @java.lang.Override
getHistogramQueriesList()2380   public java.util.List<com.google.cloud.talent.v4.HistogramQuery> getHistogramQueriesList() {
2381     return histogramQueries_;
2382   }
2383   /**
2384    *
2385    *
2386    * <pre>
2387    * An expression specifies a histogram request against matching jobs.
2388    * Expression syntax is an aggregation function call with histogram facets and
2389    * other options.
2390    * Available aggregation function calls are:
2391    * * `count(string_histogram_facet)`: Count the number of matching entities,
2392    * for each distinct attribute value.
2393    * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
2394    * matching entities within each bucket.
2395    * A maximum of 200 histogram buckets are supported.
2396    * Data types:
2397    * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
2398    * * String: string like "any string with backslash escape for quote(&#92;")."
2399    * * Number: whole number and floating point number like 10, -1 and -0.01.
2400    * * List: list of elements with comma(,) separator surrounded by square
2401    * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
2402    * Built-in constants:
2403    * * MIN (minimum number similar to java Double.MIN_VALUE)
2404    * * MAX (maximum number similar to java Double.MAX_VALUE)
2405    * Built-in functions:
2406    * * bucket(start, end[, label]): bucket built-in function creates a bucket
2407    * with range of [start, end). Note that the end is exclusive, for example,
2408    * bucket(1, MAX, "positive number") or bucket(1, 10).
2409    * Job histogram facets:
2410    * * company_display_name: histogram by
2411    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
2412    * * employment_type: histogram by
2413    * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
2414    * example,
2415    *   "FULL_TIME", "PART_TIME".
2416    * * company_size (DEPRECATED): histogram by
2417    * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
2418    * "MEDIUM", "BIG".
2419    * * publish_time_in_day: histogram by the
2420    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2421    *   in days.
2422    *   Must specify list of numeric buckets in spec.
2423    * * publish_time_in_month: histogram by the
2424    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2425    *   in months.
2426    *   Must specify list of numeric buckets in spec.
2427    * * publish_time_in_year: histogram by the
2428    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2429    *   in years.
2430    *   Must specify list of numeric buckets in spec.
2431    * * degree_types: histogram by the
2432    * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
2433    *   "Bachelors", "Masters".
2434    * * job_level: histogram by the
2435    * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
2436    *   Level".
2437    * * country: histogram by the country code of jobs, for example, "US", "FR".
2438    * * admin1: histogram by the admin1 code of jobs, which is a global
2439    *   placeholder referring to the state, province, or the particular term a
2440    *   country uses to define the geographic structure below the country level,
2441    *   for example, "CA", "IL".
2442    * * city: histogram by a combination of the "city name, admin1 code". For
2443    *   example,  "Mountain View, CA", "New York, NY".
2444    * * admin1_country: histogram by a combination of the "admin1 code, country",
2445    *   for example, "CA, US", "IL, US".
2446    * * city_coordinate: histogram by the city center's GPS coordinates (latitude
2447    *   and longitude), for example, 37.4038522,-122.0987765. Since the
2448    *   coordinates of a city center can change, customers may need to refresh
2449    *   them periodically.
2450    * * locale: histogram by the
2451    * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
2452    * "en-US",
2453    *   "fr-FR".
2454    * * language: histogram by the language subtag of the
2455    * [Job.language_code][google.cloud.talent.v4.Job.language_code],
2456    *   for example, "en", "fr".
2457    * * category: histogram by the
2458    * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
2459    *   "COMPUTER_AND_IT", "HEALTHCARE".
2460    * * base_compensation_unit: histogram by the
2461    *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
2462    *   of base salary, for example, "WEEKLY", "MONTHLY".
2463    * * base_compensation: histogram by the base salary. Must specify list of
2464    *   numeric buckets to group results by.
2465    * * annualized_base_compensation: histogram by the base annualized salary.
2466    *   Must specify list of numeric buckets to group results by.
2467    * * annualized_total_compensation: histogram by the total annualized salary.
2468    *   Must specify list of numeric buckets to group results by.
2469    * * string_custom_attribute: histogram by string
2470    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2471    *   Values can be accessed via square bracket notations like
2472    *   string_custom_attribute["key1"].
2473    * * numeric_custom_attribute: histogram by numeric
2474    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2475    *   Values can be accessed via square bracket notations like
2476    *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
2477    *   group results by.
2478    * Example expressions:
2479    * * `count(admin1)`
2480    * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
2481    * bucket(100000, MAX)])`
2482    * * `count(string_custom_attribute["some-string-custom-attribute"])`
2483    * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
2484    *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
2485    * </pre>
2486    *
2487    * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
2488    */
2489   @java.lang.Override
2490   public java.util.List<? extends com.google.cloud.talent.v4.HistogramQueryOrBuilder>
getHistogramQueriesOrBuilderList()2491       getHistogramQueriesOrBuilderList() {
2492     return histogramQueries_;
2493   }
2494   /**
2495    *
2496    *
2497    * <pre>
2498    * An expression specifies a histogram request against matching jobs.
2499    * Expression syntax is an aggregation function call with histogram facets and
2500    * other options.
2501    * Available aggregation function calls are:
2502    * * `count(string_histogram_facet)`: Count the number of matching entities,
2503    * for each distinct attribute value.
2504    * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
2505    * matching entities within each bucket.
2506    * A maximum of 200 histogram buckets are supported.
2507    * Data types:
2508    * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
2509    * * String: string like "any string with backslash escape for quote(&#92;")."
2510    * * Number: whole number and floating point number like 10, -1 and -0.01.
2511    * * List: list of elements with comma(,) separator surrounded by square
2512    * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
2513    * Built-in constants:
2514    * * MIN (minimum number similar to java Double.MIN_VALUE)
2515    * * MAX (maximum number similar to java Double.MAX_VALUE)
2516    * Built-in functions:
2517    * * bucket(start, end[, label]): bucket built-in function creates a bucket
2518    * with range of [start, end). Note that the end is exclusive, for example,
2519    * bucket(1, MAX, "positive number") or bucket(1, 10).
2520    * Job histogram facets:
2521    * * company_display_name: histogram by
2522    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
2523    * * employment_type: histogram by
2524    * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
2525    * example,
2526    *   "FULL_TIME", "PART_TIME".
2527    * * company_size (DEPRECATED): histogram by
2528    * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
2529    * "MEDIUM", "BIG".
2530    * * publish_time_in_day: histogram by the
2531    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2532    *   in days.
2533    *   Must specify list of numeric buckets in spec.
2534    * * publish_time_in_month: histogram by the
2535    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2536    *   in months.
2537    *   Must specify list of numeric buckets in spec.
2538    * * publish_time_in_year: histogram by the
2539    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2540    *   in years.
2541    *   Must specify list of numeric buckets in spec.
2542    * * degree_types: histogram by the
2543    * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
2544    *   "Bachelors", "Masters".
2545    * * job_level: histogram by the
2546    * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
2547    *   Level".
2548    * * country: histogram by the country code of jobs, for example, "US", "FR".
2549    * * admin1: histogram by the admin1 code of jobs, which is a global
2550    *   placeholder referring to the state, province, or the particular term a
2551    *   country uses to define the geographic structure below the country level,
2552    *   for example, "CA", "IL".
2553    * * city: histogram by a combination of the "city name, admin1 code". For
2554    *   example,  "Mountain View, CA", "New York, NY".
2555    * * admin1_country: histogram by a combination of the "admin1 code, country",
2556    *   for example, "CA, US", "IL, US".
2557    * * city_coordinate: histogram by the city center's GPS coordinates (latitude
2558    *   and longitude), for example, 37.4038522,-122.0987765. Since the
2559    *   coordinates of a city center can change, customers may need to refresh
2560    *   them periodically.
2561    * * locale: histogram by the
2562    * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
2563    * "en-US",
2564    *   "fr-FR".
2565    * * language: histogram by the language subtag of the
2566    * [Job.language_code][google.cloud.talent.v4.Job.language_code],
2567    *   for example, "en", "fr".
2568    * * category: histogram by the
2569    * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
2570    *   "COMPUTER_AND_IT", "HEALTHCARE".
2571    * * base_compensation_unit: histogram by the
2572    *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
2573    *   of base salary, for example, "WEEKLY", "MONTHLY".
2574    * * base_compensation: histogram by the base salary. Must specify list of
2575    *   numeric buckets to group results by.
2576    * * annualized_base_compensation: histogram by the base annualized salary.
2577    *   Must specify list of numeric buckets to group results by.
2578    * * annualized_total_compensation: histogram by the total annualized salary.
2579    *   Must specify list of numeric buckets to group results by.
2580    * * string_custom_attribute: histogram by string
2581    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2582    *   Values can be accessed via square bracket notations like
2583    *   string_custom_attribute["key1"].
2584    * * numeric_custom_attribute: histogram by numeric
2585    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2586    *   Values can be accessed via square bracket notations like
2587    *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
2588    *   group results by.
2589    * Example expressions:
2590    * * `count(admin1)`
2591    * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
2592    * bucket(100000, MAX)])`
2593    * * `count(string_custom_attribute["some-string-custom-attribute"])`
2594    * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
2595    *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
2596    * </pre>
2597    *
2598    * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
2599    */
2600   @java.lang.Override
getHistogramQueriesCount()2601   public int getHistogramQueriesCount() {
2602     return histogramQueries_.size();
2603   }
2604   /**
2605    *
2606    *
2607    * <pre>
2608    * An expression specifies a histogram request against matching jobs.
2609    * Expression syntax is an aggregation function call with histogram facets and
2610    * other options.
2611    * Available aggregation function calls are:
2612    * * `count(string_histogram_facet)`: Count the number of matching entities,
2613    * for each distinct attribute value.
2614    * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
2615    * matching entities within each bucket.
2616    * A maximum of 200 histogram buckets are supported.
2617    * Data types:
2618    * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
2619    * * String: string like "any string with backslash escape for quote(&#92;")."
2620    * * Number: whole number and floating point number like 10, -1 and -0.01.
2621    * * List: list of elements with comma(,) separator surrounded by square
2622    * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
2623    * Built-in constants:
2624    * * MIN (minimum number similar to java Double.MIN_VALUE)
2625    * * MAX (maximum number similar to java Double.MAX_VALUE)
2626    * Built-in functions:
2627    * * bucket(start, end[, label]): bucket built-in function creates a bucket
2628    * with range of [start, end). Note that the end is exclusive, for example,
2629    * bucket(1, MAX, "positive number") or bucket(1, 10).
2630    * Job histogram facets:
2631    * * company_display_name: histogram by
2632    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
2633    * * employment_type: histogram by
2634    * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
2635    * example,
2636    *   "FULL_TIME", "PART_TIME".
2637    * * company_size (DEPRECATED): histogram by
2638    * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
2639    * "MEDIUM", "BIG".
2640    * * publish_time_in_day: histogram by the
2641    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2642    *   in days.
2643    *   Must specify list of numeric buckets in spec.
2644    * * publish_time_in_month: histogram by the
2645    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2646    *   in months.
2647    *   Must specify list of numeric buckets in spec.
2648    * * publish_time_in_year: histogram by the
2649    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2650    *   in years.
2651    *   Must specify list of numeric buckets in spec.
2652    * * degree_types: histogram by the
2653    * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
2654    *   "Bachelors", "Masters".
2655    * * job_level: histogram by the
2656    * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
2657    *   Level".
2658    * * country: histogram by the country code of jobs, for example, "US", "FR".
2659    * * admin1: histogram by the admin1 code of jobs, which is a global
2660    *   placeholder referring to the state, province, or the particular term a
2661    *   country uses to define the geographic structure below the country level,
2662    *   for example, "CA", "IL".
2663    * * city: histogram by a combination of the "city name, admin1 code". For
2664    *   example,  "Mountain View, CA", "New York, NY".
2665    * * admin1_country: histogram by a combination of the "admin1 code, country",
2666    *   for example, "CA, US", "IL, US".
2667    * * city_coordinate: histogram by the city center's GPS coordinates (latitude
2668    *   and longitude), for example, 37.4038522,-122.0987765. Since the
2669    *   coordinates of a city center can change, customers may need to refresh
2670    *   them periodically.
2671    * * locale: histogram by the
2672    * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
2673    * "en-US",
2674    *   "fr-FR".
2675    * * language: histogram by the language subtag of the
2676    * [Job.language_code][google.cloud.talent.v4.Job.language_code],
2677    *   for example, "en", "fr".
2678    * * category: histogram by the
2679    * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
2680    *   "COMPUTER_AND_IT", "HEALTHCARE".
2681    * * base_compensation_unit: histogram by the
2682    *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
2683    *   of base salary, for example, "WEEKLY", "MONTHLY".
2684    * * base_compensation: histogram by the base salary. Must specify list of
2685    *   numeric buckets to group results by.
2686    * * annualized_base_compensation: histogram by the base annualized salary.
2687    *   Must specify list of numeric buckets to group results by.
2688    * * annualized_total_compensation: histogram by the total annualized salary.
2689    *   Must specify list of numeric buckets to group results by.
2690    * * string_custom_attribute: histogram by string
2691    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2692    *   Values can be accessed via square bracket notations like
2693    *   string_custom_attribute["key1"].
2694    * * numeric_custom_attribute: histogram by numeric
2695    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2696    *   Values can be accessed via square bracket notations like
2697    *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
2698    *   group results by.
2699    * Example expressions:
2700    * * `count(admin1)`
2701    * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
2702    * bucket(100000, MAX)])`
2703    * * `count(string_custom_attribute["some-string-custom-attribute"])`
2704    * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
2705    *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
2706    * </pre>
2707    *
2708    * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
2709    */
2710   @java.lang.Override
getHistogramQueries(int index)2711   public com.google.cloud.talent.v4.HistogramQuery getHistogramQueries(int index) {
2712     return histogramQueries_.get(index);
2713   }
2714   /**
2715    *
2716    *
2717    * <pre>
2718    * An expression specifies a histogram request against matching jobs.
2719    * Expression syntax is an aggregation function call with histogram facets and
2720    * other options.
2721    * Available aggregation function calls are:
2722    * * `count(string_histogram_facet)`: Count the number of matching entities,
2723    * for each distinct attribute value.
2724    * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
2725    * matching entities within each bucket.
2726    * A maximum of 200 histogram buckets are supported.
2727    * Data types:
2728    * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
2729    * * String: string like "any string with backslash escape for quote(&#92;")."
2730    * * Number: whole number and floating point number like 10, -1 and -0.01.
2731    * * List: list of elements with comma(,) separator surrounded by square
2732    * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
2733    * Built-in constants:
2734    * * MIN (minimum number similar to java Double.MIN_VALUE)
2735    * * MAX (maximum number similar to java Double.MAX_VALUE)
2736    * Built-in functions:
2737    * * bucket(start, end[, label]): bucket built-in function creates a bucket
2738    * with range of [start, end). Note that the end is exclusive, for example,
2739    * bucket(1, MAX, "positive number") or bucket(1, 10).
2740    * Job histogram facets:
2741    * * company_display_name: histogram by
2742    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
2743    * * employment_type: histogram by
2744    * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
2745    * example,
2746    *   "FULL_TIME", "PART_TIME".
2747    * * company_size (DEPRECATED): histogram by
2748    * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
2749    * "MEDIUM", "BIG".
2750    * * publish_time_in_day: histogram by the
2751    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2752    *   in days.
2753    *   Must specify list of numeric buckets in spec.
2754    * * publish_time_in_month: histogram by the
2755    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2756    *   in months.
2757    *   Must specify list of numeric buckets in spec.
2758    * * publish_time_in_year: histogram by the
2759    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2760    *   in years.
2761    *   Must specify list of numeric buckets in spec.
2762    * * degree_types: histogram by the
2763    * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
2764    *   "Bachelors", "Masters".
2765    * * job_level: histogram by the
2766    * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
2767    *   Level".
2768    * * country: histogram by the country code of jobs, for example, "US", "FR".
2769    * * admin1: histogram by the admin1 code of jobs, which is a global
2770    *   placeholder referring to the state, province, or the particular term a
2771    *   country uses to define the geographic structure below the country level,
2772    *   for example, "CA", "IL".
2773    * * city: histogram by a combination of the "city name, admin1 code". For
2774    *   example,  "Mountain View, CA", "New York, NY".
2775    * * admin1_country: histogram by a combination of the "admin1 code, country",
2776    *   for example, "CA, US", "IL, US".
2777    * * city_coordinate: histogram by the city center's GPS coordinates (latitude
2778    *   and longitude), for example, 37.4038522,-122.0987765. Since the
2779    *   coordinates of a city center can change, customers may need to refresh
2780    *   them periodically.
2781    * * locale: histogram by the
2782    * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
2783    * "en-US",
2784    *   "fr-FR".
2785    * * language: histogram by the language subtag of the
2786    * [Job.language_code][google.cloud.talent.v4.Job.language_code],
2787    *   for example, "en", "fr".
2788    * * category: histogram by the
2789    * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
2790    *   "COMPUTER_AND_IT", "HEALTHCARE".
2791    * * base_compensation_unit: histogram by the
2792    *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
2793    *   of base salary, for example, "WEEKLY", "MONTHLY".
2794    * * base_compensation: histogram by the base salary. Must specify list of
2795    *   numeric buckets to group results by.
2796    * * annualized_base_compensation: histogram by the base annualized salary.
2797    *   Must specify list of numeric buckets to group results by.
2798    * * annualized_total_compensation: histogram by the total annualized salary.
2799    *   Must specify list of numeric buckets to group results by.
2800    * * string_custom_attribute: histogram by string
2801    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2802    *   Values can be accessed via square bracket notations like
2803    *   string_custom_attribute["key1"].
2804    * * numeric_custom_attribute: histogram by numeric
2805    * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
2806    *   Values can be accessed via square bracket notations like
2807    *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
2808    *   group results by.
2809    * Example expressions:
2810    * * `count(admin1)`
2811    * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
2812    * bucket(100000, MAX)])`
2813    * * `count(string_custom_attribute["some-string-custom-attribute"])`
2814    * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
2815    *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
2816    * </pre>
2817    *
2818    * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
2819    */
2820   @java.lang.Override
getHistogramQueriesOrBuilder( int index)2821   public com.google.cloud.talent.v4.HistogramQueryOrBuilder getHistogramQueriesOrBuilder(
2822       int index) {
2823     return histogramQueries_.get(index);
2824   }
2825 
2826   public static final int JOB_VIEW_FIELD_NUMBER = 8;
2827   private int jobView_ = 0;
2828   /**
2829    *
2830    *
2831    * <pre>
2832    * The desired job attributes returned for jobs in the search response.
2833    * Defaults to
2834    * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
2835    * no value is specified.
2836    * </pre>
2837    *
2838    * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
2839    *
2840    * @return The enum numeric value on the wire for jobView.
2841    */
2842   @java.lang.Override
getJobViewValue()2843   public int getJobViewValue() {
2844     return jobView_;
2845   }
2846   /**
2847    *
2848    *
2849    * <pre>
2850    * The desired job attributes returned for jobs in the search response.
2851    * Defaults to
2852    * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
2853    * no value is specified.
2854    * </pre>
2855    *
2856    * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
2857    *
2858    * @return The jobView.
2859    */
2860   @java.lang.Override
getJobView()2861   public com.google.cloud.talent.v4.JobView getJobView() {
2862     com.google.cloud.talent.v4.JobView result =
2863         com.google.cloud.talent.v4.JobView.forNumber(jobView_);
2864     return result == null ? com.google.cloud.talent.v4.JobView.UNRECOGNIZED : result;
2865   }
2866 
2867   public static final int OFFSET_FIELD_NUMBER = 9;
2868   private int offset_ = 0;
2869   /**
2870    *
2871    *
2872    * <pre>
2873    * An integer that specifies the current offset (that is, starting result
2874    * location, amongst the jobs deemed by the API as relevant) in search
2875    * results. This field is only considered if
2876    * [page_token][google.cloud.talent.v4.SearchJobsRequest.page_token] is unset.
2877    * The maximum allowed value is 5000. Otherwise an error is thrown.
2878    * For example, 0 means to  return results starting from the first matching
2879    * job, and 10 means to return from the 11th job. This can be used for
2880    * pagination, (for example, pageSize = 10 and offset = 10 means to return
2881    * from the second page).
2882    * </pre>
2883    *
2884    * <code>int32 offset = 9;</code>
2885    *
2886    * @return The offset.
2887    */
2888   @java.lang.Override
getOffset()2889   public int getOffset() {
2890     return offset_;
2891   }
2892 
2893   public static final int MAX_PAGE_SIZE_FIELD_NUMBER = 10;
2894   private int maxPageSize_ = 0;
2895   /**
2896    *
2897    *
2898    * <pre>
2899    * A limit on the number of jobs returned in the search results.
2900    * Increasing this value above the default value of 10 can increase search
2901    * response time. The value can be between 1 and 100.
2902    * </pre>
2903    *
2904    * <code>int32 max_page_size = 10;</code>
2905    *
2906    * @return The maxPageSize.
2907    */
2908   @java.lang.Override
getMaxPageSize()2909   public int getMaxPageSize() {
2910     return maxPageSize_;
2911   }
2912 
2913   public static final int PAGE_TOKEN_FIELD_NUMBER = 11;
2914 
2915   @SuppressWarnings("serial")
2916   private volatile java.lang.Object pageToken_ = "";
2917   /**
2918    *
2919    *
2920    * <pre>
2921    * The token specifying the current offset within
2922    * search results. See
2923    * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
2924    * for an explanation of how to obtain the next set of query results.
2925    * </pre>
2926    *
2927    * <code>string page_token = 11;</code>
2928    *
2929    * @return The pageToken.
2930    */
2931   @java.lang.Override
getPageToken()2932   public java.lang.String getPageToken() {
2933     java.lang.Object ref = pageToken_;
2934     if (ref instanceof java.lang.String) {
2935       return (java.lang.String) ref;
2936     } else {
2937       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2938       java.lang.String s = bs.toStringUtf8();
2939       pageToken_ = s;
2940       return s;
2941     }
2942   }
2943   /**
2944    *
2945    *
2946    * <pre>
2947    * The token specifying the current offset within
2948    * search results. See
2949    * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
2950    * for an explanation of how to obtain the next set of query results.
2951    * </pre>
2952    *
2953    * <code>string page_token = 11;</code>
2954    *
2955    * @return The bytes for pageToken.
2956    */
2957   @java.lang.Override
getPageTokenBytes()2958   public com.google.protobuf.ByteString getPageTokenBytes() {
2959     java.lang.Object ref = pageToken_;
2960     if (ref instanceof java.lang.String) {
2961       com.google.protobuf.ByteString b =
2962           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2963       pageToken_ = b;
2964       return b;
2965     } else {
2966       return (com.google.protobuf.ByteString) ref;
2967     }
2968   }
2969 
2970   public static final int ORDER_BY_FIELD_NUMBER = 12;
2971 
2972   @SuppressWarnings("serial")
2973   private volatile java.lang.Object orderBy_ = "";
2974   /**
2975    *
2976    *
2977    * <pre>
2978    * The criteria determining how search results are sorted. Default is
2979    * `"relevance desc"`.
2980    * Supported options are:
2981    * * `"relevance desc"`: By relevance descending, as determined by the API
2982    *   algorithms. Relevance thresholding of query results is only available
2983    *   with this ordering.
2984    * * `"posting_publish_time desc"`: By
2985    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
2986    *   descending.
2987    * * `"posting_update_time desc"`: By
2988    * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
2989    *   descending.
2990    * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
2991    * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
2992    * descending.
2993    * * `"annualized_base_compensation"`: By job's
2994    *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
2995    *   ascending. Jobs whose annualized base compensation is unspecified are put
2996    *   at the end of search results.
2997    * * `"annualized_base_compensation desc"`: By job's
2998    *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
2999    *   descending. Jobs whose annualized base compensation is unspecified are
3000    *   put at the end of search results.
3001    * * `"annualized_total_compensation"`: By job's
3002    *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
3003    *   ascending. Jobs whose annualized base compensation is unspecified are put
3004    *   at the end of search results.
3005    * * `"annualized_total_compensation desc"`: By job's
3006    *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
3007    *   descending. Jobs whose annualized base compensation is unspecified are
3008    *   put at the end of search results.
3009    * * `"custom_ranking desc"`: By the relevance score adjusted to the
3010    *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
3011    *   with weight factor assigned by
3012    *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
3013    *   in descending order.
3014    * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
3015    *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
3016    *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
3017    *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
3018    *   multiple locations. See details below.&lt;br&gt;
3019    *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
3020    *   multiple locations. See details below.&lt;br&gt;
3021    *   The string can have a maximum of 256 characters. When multiple distance
3022    *   centers are provided, a job that is close to any of the distance centers
3023    *   would have a high rank. When a job has multiple locations, the job
3024    *   location closest to one of the distance centers will be used. Jobs that
3025    *   don't have locations will be ranked at the bottom. Distance is calculated
3026    *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
3027    *   still applied unless explicitly disabled in
3028    *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
3029    * </pre>
3030    *
3031    * <code>string order_by = 12;</code>
3032    *
3033    * @return The orderBy.
3034    */
3035   @java.lang.Override
getOrderBy()3036   public java.lang.String getOrderBy() {
3037     java.lang.Object ref = orderBy_;
3038     if (ref instanceof java.lang.String) {
3039       return (java.lang.String) ref;
3040     } else {
3041       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3042       java.lang.String s = bs.toStringUtf8();
3043       orderBy_ = s;
3044       return s;
3045     }
3046   }
3047   /**
3048    *
3049    *
3050    * <pre>
3051    * The criteria determining how search results are sorted. Default is
3052    * `"relevance desc"`.
3053    * Supported options are:
3054    * * `"relevance desc"`: By relevance descending, as determined by the API
3055    *   algorithms. Relevance thresholding of query results is only available
3056    *   with this ordering.
3057    * * `"posting_publish_time desc"`: By
3058    * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
3059    *   descending.
3060    * * `"posting_update_time desc"`: By
3061    * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
3062    *   descending.
3063    * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
3064    * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
3065    * descending.
3066    * * `"annualized_base_compensation"`: By job's
3067    *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
3068    *   ascending. Jobs whose annualized base compensation is unspecified are put
3069    *   at the end of search results.
3070    * * `"annualized_base_compensation desc"`: By job's
3071    *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
3072    *   descending. Jobs whose annualized base compensation is unspecified are
3073    *   put at the end of search results.
3074    * * `"annualized_total_compensation"`: By job's
3075    *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
3076    *   ascending. Jobs whose annualized base compensation is unspecified are put
3077    *   at the end of search results.
3078    * * `"annualized_total_compensation desc"`: By job's
3079    *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
3080    *   descending. Jobs whose annualized base compensation is unspecified are
3081    *   put at the end of search results.
3082    * * `"custom_ranking desc"`: By the relevance score adjusted to the
3083    *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
3084    *   with weight factor assigned by
3085    *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
3086    *   in descending order.
3087    * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
3088    *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
3089    *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
3090    *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
3091    *   multiple locations. See details below.&lt;br&gt;
3092    *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
3093    *   multiple locations. See details below.&lt;br&gt;
3094    *   The string can have a maximum of 256 characters. When multiple distance
3095    *   centers are provided, a job that is close to any of the distance centers
3096    *   would have a high rank. When a job has multiple locations, the job
3097    *   location closest to one of the distance centers will be used. Jobs that
3098    *   don't have locations will be ranked at the bottom. Distance is calculated
3099    *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
3100    *   still applied unless explicitly disabled in
3101    *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
3102    * </pre>
3103    *
3104    * <code>string order_by = 12;</code>
3105    *
3106    * @return The bytes for orderBy.
3107    */
3108   @java.lang.Override
getOrderByBytes()3109   public com.google.protobuf.ByteString getOrderByBytes() {
3110     java.lang.Object ref = orderBy_;
3111     if (ref instanceof java.lang.String) {
3112       com.google.protobuf.ByteString b =
3113           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3114       orderBy_ = b;
3115       return b;
3116     } else {
3117       return (com.google.protobuf.ByteString) ref;
3118     }
3119   }
3120 
3121   public static final int DIVERSIFICATION_LEVEL_FIELD_NUMBER = 13;
3122   private int diversificationLevel_ = 0;
3123   /**
3124    *
3125    *
3126    * <pre>
3127    * Controls whether highly similar jobs are returned next to each other in
3128    * the search results. Jobs are identified as highly similar based on
3129    * their titles, job categories, and locations. Highly similar results are
3130    * clustered so that only one representative job of the cluster is
3131    * displayed to the job seeker higher up in the results, with the other jobs
3132    * being displayed lower down in the results.
3133    * Defaults to
3134    * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
3135    * if no value is specified.
3136    * </pre>
3137    *
3138    * <code>
3139    * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
3140    * </code>
3141    *
3142    * @return The enum numeric value on the wire for diversificationLevel.
3143    */
3144   @java.lang.Override
getDiversificationLevelValue()3145   public int getDiversificationLevelValue() {
3146     return diversificationLevel_;
3147   }
3148   /**
3149    *
3150    *
3151    * <pre>
3152    * Controls whether highly similar jobs are returned next to each other in
3153    * the search results. Jobs are identified as highly similar based on
3154    * their titles, job categories, and locations. Highly similar results are
3155    * clustered so that only one representative job of the cluster is
3156    * displayed to the job seeker higher up in the results, with the other jobs
3157    * being displayed lower down in the results.
3158    * Defaults to
3159    * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
3160    * if no value is specified.
3161    * </pre>
3162    *
3163    * <code>
3164    * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
3165    * </code>
3166    *
3167    * @return The diversificationLevel.
3168    */
3169   @java.lang.Override
3170   public com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel
getDiversificationLevel()3171       getDiversificationLevel() {
3172     com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel result =
3173         com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.forNumber(
3174             diversificationLevel_);
3175     return result == null
3176         ? com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.UNRECOGNIZED
3177         : result;
3178   }
3179 
3180   public static final int CUSTOM_RANKING_INFO_FIELD_NUMBER = 14;
3181   private com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo customRankingInfo_;
3182   /**
3183    *
3184    *
3185    * <pre>
3186    * Controls over how job documents get ranked on top of existing relevance
3187    * score (determined by API algorithm).
3188    * </pre>
3189    *
3190    * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
3191    * </code>
3192    *
3193    * @return Whether the customRankingInfo field is set.
3194    */
3195   @java.lang.Override
hasCustomRankingInfo()3196   public boolean hasCustomRankingInfo() {
3197     return customRankingInfo_ != null;
3198   }
3199   /**
3200    *
3201    *
3202    * <pre>
3203    * Controls over how job documents get ranked on top of existing relevance
3204    * score (determined by API algorithm).
3205    * </pre>
3206    *
3207    * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
3208    * </code>
3209    *
3210    * @return The customRankingInfo.
3211    */
3212   @java.lang.Override
getCustomRankingInfo()3213   public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo getCustomRankingInfo() {
3214     return customRankingInfo_ == null
3215         ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance()
3216         : customRankingInfo_;
3217   }
3218   /**
3219    *
3220    *
3221    * <pre>
3222    * Controls over how job documents get ranked on top of existing relevance
3223    * score (determined by API algorithm).
3224    * </pre>
3225    *
3226    * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
3227    * </code>
3228    */
3229   @java.lang.Override
3230   public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder
getCustomRankingInfoOrBuilder()3231       getCustomRankingInfoOrBuilder() {
3232     return customRankingInfo_ == null
3233         ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance()
3234         : customRankingInfo_;
3235   }
3236 
3237   public static final int DISABLE_KEYWORD_MATCH_FIELD_NUMBER = 16;
3238   private boolean disableKeywordMatch_ = false;
3239   /**
3240    *
3241    *
3242    * <pre>
3243    * This field is deprecated. Please use
3244    * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
3245    * going forward.
3246    * To migrate, disable_keyword_match set to false maps to
3247    * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL],
3248    * and disable_keyword_match set to true maps to
3249    * [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED].
3250    * If
3251    * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
3252    * is set, this field is ignored.
3253    * Controls whether to disable exact keyword match on
3254    * [Job.title][google.cloud.talent.v4.Job.title],
3255    * [Job.description][google.cloud.talent.v4.Job.description],
3256    * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
3257    * [Job.addresses][google.cloud.talent.v4.Job.addresses],
3258    * [Job.qualifications][google.cloud.talent.v4.Job.qualifications]. When
3259    * disable keyword match is turned off, a keyword match returns jobs that do
3260    * not match given category filters when there are matching keywords. For
3261    * example, for the query "program manager," a result is returned even if the
3262    * job posting has the title "software developer," which doesn't fall into
3263    * "program manager" ontology, but does have "program manager" appearing in
3264    * its description.
3265    * For queries like "cloud" that don't contain title or
3266    * location specific ontology, jobs with "cloud" keyword matches are returned
3267    * regardless of this flag's value.
3268    * Use
3269    * [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes]
3270    * if company-specific globally matched custom field/attribute string values
3271    * are needed. Enabling keyword match improves recall of subsequent search
3272    * requests.
3273    * Defaults to false.
3274    * </pre>
3275    *
3276    * <code>bool disable_keyword_match = 16 [deprecated = true];</code>
3277    *
3278    * @deprecated google.cloud.talent.v4.SearchJobsRequest.disable_keyword_match is deprecated. See
3279    *     google/cloud/talent/v4/job_service.proto;l=799
3280    * @return The disableKeywordMatch.
3281    */
3282   @java.lang.Override
3283   @java.lang.Deprecated
getDisableKeywordMatch()3284   public boolean getDisableKeywordMatch() {
3285     return disableKeywordMatch_;
3286   }
3287 
3288   public static final int KEYWORD_MATCH_MODE_FIELD_NUMBER = 18;
3289   private int keywordMatchMode_ = 0;
3290   /**
3291    *
3292    *
3293    * <pre>
3294    * Controls what keyword match options to use. If both keyword_match_mode and
3295    * disable_keyword_match are set, keyword_match_mode will take precedence.
3296    * Defaults to
3297    * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
3298    * if no value is specified.
3299    * </pre>
3300    *
3301    * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
3302    * </code>
3303    *
3304    * @return The enum numeric value on the wire for keywordMatchMode.
3305    */
3306   @java.lang.Override
getKeywordMatchModeValue()3307   public int getKeywordMatchModeValue() {
3308     return keywordMatchMode_;
3309   }
3310   /**
3311    *
3312    *
3313    * <pre>
3314    * Controls what keyword match options to use. If both keyword_match_mode and
3315    * disable_keyword_match are set, keyword_match_mode will take precedence.
3316    * Defaults to
3317    * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
3318    * if no value is specified.
3319    * </pre>
3320    *
3321    * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
3322    * </code>
3323    *
3324    * @return The keywordMatchMode.
3325    */
3326   @java.lang.Override
getKeywordMatchMode()3327   public com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode getKeywordMatchMode() {
3328     com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode result =
3329         com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.forNumber(keywordMatchMode_);
3330     return result == null
3331         ? com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.UNRECOGNIZED
3332         : result;
3333   }
3334 
3335   private byte memoizedIsInitialized = -1;
3336 
3337   @java.lang.Override
isInitialized()3338   public final boolean isInitialized() {
3339     byte isInitialized = memoizedIsInitialized;
3340     if (isInitialized == 1) return true;
3341     if (isInitialized == 0) return false;
3342 
3343     memoizedIsInitialized = 1;
3344     return true;
3345   }
3346 
3347   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3348   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3349     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
3350       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parent_);
3351     }
3352     if (searchMode_
3353         != com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.SEARCH_MODE_UNSPECIFIED
3354             .getNumber()) {
3355       output.writeEnum(2, searchMode_);
3356     }
3357     if (requestMetadata_ != null) {
3358       output.writeMessage(3, getRequestMetadata());
3359     }
3360     if (jobQuery_ != null) {
3361       output.writeMessage(4, getJobQuery());
3362     }
3363     if (enableBroadening_ != false) {
3364       output.writeBool(5, enableBroadening_);
3365     }
3366     for (int i = 0; i < histogramQueries_.size(); i++) {
3367       output.writeMessage(7, histogramQueries_.get(i));
3368     }
3369     if (jobView_ != com.google.cloud.talent.v4.JobView.JOB_VIEW_UNSPECIFIED.getNumber()) {
3370       output.writeEnum(8, jobView_);
3371     }
3372     if (offset_ != 0) {
3373       output.writeInt32(9, offset_);
3374     }
3375     if (maxPageSize_ != 0) {
3376       output.writeInt32(10, maxPageSize_);
3377     }
3378     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) {
3379       com.google.protobuf.GeneratedMessageV3.writeString(output, 11, pageToken_);
3380     }
3381     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orderBy_)) {
3382       com.google.protobuf.GeneratedMessageV3.writeString(output, 12, orderBy_);
3383     }
3384     if (diversificationLevel_
3385         != com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel
3386             .DIVERSIFICATION_LEVEL_UNSPECIFIED
3387             .getNumber()) {
3388       output.writeEnum(13, diversificationLevel_);
3389     }
3390     if (customRankingInfo_ != null) {
3391       output.writeMessage(14, getCustomRankingInfo());
3392     }
3393     if (disableKeywordMatch_ != false) {
3394       output.writeBool(16, disableKeywordMatch_);
3395     }
3396     if (keywordMatchMode_
3397         != com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode
3398             .KEYWORD_MATCH_MODE_UNSPECIFIED
3399             .getNumber()) {
3400       output.writeEnum(18, keywordMatchMode_);
3401     }
3402     getUnknownFields().writeTo(output);
3403   }
3404 
3405   @java.lang.Override
getSerializedSize()3406   public int getSerializedSize() {
3407     int size = memoizedSize;
3408     if (size != -1) return size;
3409 
3410     size = 0;
3411     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
3412       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, parent_);
3413     }
3414     if (searchMode_
3415         != com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.SEARCH_MODE_UNSPECIFIED
3416             .getNumber()) {
3417       size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, searchMode_);
3418     }
3419     if (requestMetadata_ != null) {
3420       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getRequestMetadata());
3421     }
3422     if (jobQuery_ != null) {
3423       size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getJobQuery());
3424     }
3425     if (enableBroadening_ != false) {
3426       size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, enableBroadening_);
3427     }
3428     for (int i = 0; i < histogramQueries_.size(); i++) {
3429       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, histogramQueries_.get(i));
3430     }
3431     if (jobView_ != com.google.cloud.talent.v4.JobView.JOB_VIEW_UNSPECIFIED.getNumber()) {
3432       size += com.google.protobuf.CodedOutputStream.computeEnumSize(8, jobView_);
3433     }
3434     if (offset_ != 0) {
3435       size += com.google.protobuf.CodedOutputStream.computeInt32Size(9, offset_);
3436     }
3437     if (maxPageSize_ != 0) {
3438       size += com.google.protobuf.CodedOutputStream.computeInt32Size(10, maxPageSize_);
3439     }
3440     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) {
3441       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, pageToken_);
3442     }
3443     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(orderBy_)) {
3444       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, orderBy_);
3445     }
3446     if (diversificationLevel_
3447         != com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel
3448             .DIVERSIFICATION_LEVEL_UNSPECIFIED
3449             .getNumber()) {
3450       size += com.google.protobuf.CodedOutputStream.computeEnumSize(13, diversificationLevel_);
3451     }
3452     if (customRankingInfo_ != null) {
3453       size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getCustomRankingInfo());
3454     }
3455     if (disableKeywordMatch_ != false) {
3456       size += com.google.protobuf.CodedOutputStream.computeBoolSize(16, disableKeywordMatch_);
3457     }
3458     if (keywordMatchMode_
3459         != com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode
3460             .KEYWORD_MATCH_MODE_UNSPECIFIED
3461             .getNumber()) {
3462       size += com.google.protobuf.CodedOutputStream.computeEnumSize(18, keywordMatchMode_);
3463     }
3464     size += getUnknownFields().getSerializedSize();
3465     memoizedSize = size;
3466     return size;
3467   }
3468 
3469   @java.lang.Override
equals(final java.lang.Object obj)3470   public boolean equals(final java.lang.Object obj) {
3471     if (obj == this) {
3472       return true;
3473     }
3474     if (!(obj instanceof com.google.cloud.talent.v4.SearchJobsRequest)) {
3475       return super.equals(obj);
3476     }
3477     com.google.cloud.talent.v4.SearchJobsRequest other =
3478         (com.google.cloud.talent.v4.SearchJobsRequest) obj;
3479 
3480     if (!getParent().equals(other.getParent())) return false;
3481     if (searchMode_ != other.searchMode_) return false;
3482     if (hasRequestMetadata() != other.hasRequestMetadata()) return false;
3483     if (hasRequestMetadata()) {
3484       if (!getRequestMetadata().equals(other.getRequestMetadata())) return false;
3485     }
3486     if (hasJobQuery() != other.hasJobQuery()) return false;
3487     if (hasJobQuery()) {
3488       if (!getJobQuery().equals(other.getJobQuery())) return false;
3489     }
3490     if (getEnableBroadening() != other.getEnableBroadening()) return false;
3491     if (!getHistogramQueriesList().equals(other.getHistogramQueriesList())) return false;
3492     if (jobView_ != other.jobView_) return false;
3493     if (getOffset() != other.getOffset()) return false;
3494     if (getMaxPageSize() != other.getMaxPageSize()) return false;
3495     if (!getPageToken().equals(other.getPageToken())) return false;
3496     if (!getOrderBy().equals(other.getOrderBy())) return false;
3497     if (diversificationLevel_ != other.diversificationLevel_) return false;
3498     if (hasCustomRankingInfo() != other.hasCustomRankingInfo()) return false;
3499     if (hasCustomRankingInfo()) {
3500       if (!getCustomRankingInfo().equals(other.getCustomRankingInfo())) return false;
3501     }
3502     if (getDisableKeywordMatch() != other.getDisableKeywordMatch()) return false;
3503     if (keywordMatchMode_ != other.keywordMatchMode_) return false;
3504     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3505     return true;
3506   }
3507 
3508   @java.lang.Override
hashCode()3509   public int hashCode() {
3510     if (memoizedHashCode != 0) {
3511       return memoizedHashCode;
3512     }
3513     int hash = 41;
3514     hash = (19 * hash) + getDescriptor().hashCode();
3515     hash = (37 * hash) + PARENT_FIELD_NUMBER;
3516     hash = (53 * hash) + getParent().hashCode();
3517     hash = (37 * hash) + SEARCH_MODE_FIELD_NUMBER;
3518     hash = (53 * hash) + searchMode_;
3519     if (hasRequestMetadata()) {
3520       hash = (37 * hash) + REQUEST_METADATA_FIELD_NUMBER;
3521       hash = (53 * hash) + getRequestMetadata().hashCode();
3522     }
3523     if (hasJobQuery()) {
3524       hash = (37 * hash) + JOB_QUERY_FIELD_NUMBER;
3525       hash = (53 * hash) + getJobQuery().hashCode();
3526     }
3527     hash = (37 * hash) + ENABLE_BROADENING_FIELD_NUMBER;
3528     hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getEnableBroadening());
3529     if (getHistogramQueriesCount() > 0) {
3530       hash = (37 * hash) + HISTOGRAM_QUERIES_FIELD_NUMBER;
3531       hash = (53 * hash) + getHistogramQueriesList().hashCode();
3532     }
3533     hash = (37 * hash) + JOB_VIEW_FIELD_NUMBER;
3534     hash = (53 * hash) + jobView_;
3535     hash = (37 * hash) + OFFSET_FIELD_NUMBER;
3536     hash = (53 * hash) + getOffset();
3537     hash = (37 * hash) + MAX_PAGE_SIZE_FIELD_NUMBER;
3538     hash = (53 * hash) + getMaxPageSize();
3539     hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER;
3540     hash = (53 * hash) + getPageToken().hashCode();
3541     hash = (37 * hash) + ORDER_BY_FIELD_NUMBER;
3542     hash = (53 * hash) + getOrderBy().hashCode();
3543     hash = (37 * hash) + DIVERSIFICATION_LEVEL_FIELD_NUMBER;
3544     hash = (53 * hash) + diversificationLevel_;
3545     if (hasCustomRankingInfo()) {
3546       hash = (37 * hash) + CUSTOM_RANKING_INFO_FIELD_NUMBER;
3547       hash = (53 * hash) + getCustomRankingInfo().hashCode();
3548     }
3549     hash = (37 * hash) + DISABLE_KEYWORD_MATCH_FIELD_NUMBER;
3550     hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDisableKeywordMatch());
3551     hash = (37 * hash) + KEYWORD_MATCH_MODE_FIELD_NUMBER;
3552     hash = (53 * hash) + keywordMatchMode_;
3553     hash = (29 * hash) + getUnknownFields().hashCode();
3554     memoizedHashCode = hash;
3555     return hash;
3556   }
3557 
parseFrom(java.nio.ByteBuffer data)3558   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(java.nio.ByteBuffer data)
3559       throws com.google.protobuf.InvalidProtocolBufferException {
3560     return PARSER.parseFrom(data);
3561   }
3562 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3563   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3564       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3565       throws com.google.protobuf.InvalidProtocolBufferException {
3566     return PARSER.parseFrom(data, extensionRegistry);
3567   }
3568 
parseFrom( com.google.protobuf.ByteString data)3569   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3570       com.google.protobuf.ByteString data)
3571       throws com.google.protobuf.InvalidProtocolBufferException {
3572     return PARSER.parseFrom(data);
3573   }
3574 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3575   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3576       com.google.protobuf.ByteString data,
3577       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3578       throws com.google.protobuf.InvalidProtocolBufferException {
3579     return PARSER.parseFrom(data, extensionRegistry);
3580   }
3581 
parseFrom(byte[] data)3582   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(byte[] data)
3583       throws com.google.protobuf.InvalidProtocolBufferException {
3584     return PARSER.parseFrom(data);
3585   }
3586 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3587   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3588       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3589       throws com.google.protobuf.InvalidProtocolBufferException {
3590     return PARSER.parseFrom(data, extensionRegistry);
3591   }
3592 
parseFrom(java.io.InputStream input)3593   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(java.io.InputStream input)
3594       throws java.io.IOException {
3595     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3596   }
3597 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3598   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3599       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3600       throws java.io.IOException {
3601     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3602         PARSER, input, extensionRegistry);
3603   }
3604 
parseDelimitedFrom( java.io.InputStream input)3605   public static com.google.cloud.talent.v4.SearchJobsRequest parseDelimitedFrom(
3606       java.io.InputStream input) throws java.io.IOException {
3607     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3608   }
3609 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3610   public static com.google.cloud.talent.v4.SearchJobsRequest parseDelimitedFrom(
3611       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3612       throws java.io.IOException {
3613     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3614         PARSER, input, extensionRegistry);
3615   }
3616 
parseFrom( com.google.protobuf.CodedInputStream input)3617   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3618       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3619     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3620   }
3621 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3622   public static com.google.cloud.talent.v4.SearchJobsRequest parseFrom(
3623       com.google.protobuf.CodedInputStream input,
3624       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3625       throws java.io.IOException {
3626     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3627         PARSER, input, extensionRegistry);
3628   }
3629 
3630   @java.lang.Override
newBuilderForType()3631   public Builder newBuilderForType() {
3632     return newBuilder();
3633   }
3634 
newBuilder()3635   public static Builder newBuilder() {
3636     return DEFAULT_INSTANCE.toBuilder();
3637   }
3638 
newBuilder(com.google.cloud.talent.v4.SearchJobsRequest prototype)3639   public static Builder newBuilder(com.google.cloud.talent.v4.SearchJobsRequest prototype) {
3640     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3641   }
3642 
3643   @java.lang.Override
toBuilder()3644   public Builder toBuilder() {
3645     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3646   }
3647 
3648   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3649   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3650     Builder builder = new Builder(parent);
3651     return builder;
3652   }
3653   /**
3654    *
3655    *
3656    * <pre>
3657    * The Request body of the `SearchJobs` call.
3658    * </pre>
3659    *
3660    * Protobuf type {@code google.cloud.talent.v4.SearchJobsRequest}
3661    */
3662   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3663       implements
3664       // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4.SearchJobsRequest)
3665       com.google.cloud.talent.v4.SearchJobsRequestOrBuilder {
getDescriptor()3666     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3667       return com.google.cloud.talent.v4.JobServiceProto
3668           .internal_static_google_cloud_talent_v4_SearchJobsRequest_descriptor;
3669     }
3670 
3671     @java.lang.Override
3672     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3673         internalGetFieldAccessorTable() {
3674       return com.google.cloud.talent.v4.JobServiceProto
3675           .internal_static_google_cloud_talent_v4_SearchJobsRequest_fieldAccessorTable
3676           .ensureFieldAccessorsInitialized(
3677               com.google.cloud.talent.v4.SearchJobsRequest.class,
3678               com.google.cloud.talent.v4.SearchJobsRequest.Builder.class);
3679     }
3680 
3681     // Construct using com.google.cloud.talent.v4.SearchJobsRequest.newBuilder()
Builder()3682     private Builder() {}
3683 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3684     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3685       super(parent);
3686     }
3687 
3688     @java.lang.Override
clear()3689     public Builder clear() {
3690       super.clear();
3691       bitField0_ = 0;
3692       parent_ = "";
3693       searchMode_ = 0;
3694       requestMetadata_ = null;
3695       if (requestMetadataBuilder_ != null) {
3696         requestMetadataBuilder_.dispose();
3697         requestMetadataBuilder_ = null;
3698       }
3699       jobQuery_ = null;
3700       if (jobQueryBuilder_ != null) {
3701         jobQueryBuilder_.dispose();
3702         jobQueryBuilder_ = null;
3703       }
3704       enableBroadening_ = false;
3705       if (histogramQueriesBuilder_ == null) {
3706         histogramQueries_ = java.util.Collections.emptyList();
3707       } else {
3708         histogramQueries_ = null;
3709         histogramQueriesBuilder_.clear();
3710       }
3711       bitField0_ = (bitField0_ & ~0x00000020);
3712       jobView_ = 0;
3713       offset_ = 0;
3714       maxPageSize_ = 0;
3715       pageToken_ = "";
3716       orderBy_ = "";
3717       diversificationLevel_ = 0;
3718       customRankingInfo_ = null;
3719       if (customRankingInfoBuilder_ != null) {
3720         customRankingInfoBuilder_.dispose();
3721         customRankingInfoBuilder_ = null;
3722       }
3723       disableKeywordMatch_ = false;
3724       keywordMatchMode_ = 0;
3725       return this;
3726     }
3727 
3728     @java.lang.Override
getDescriptorForType()3729     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
3730       return com.google.cloud.talent.v4.JobServiceProto
3731           .internal_static_google_cloud_talent_v4_SearchJobsRequest_descriptor;
3732     }
3733 
3734     @java.lang.Override
getDefaultInstanceForType()3735     public com.google.cloud.talent.v4.SearchJobsRequest getDefaultInstanceForType() {
3736       return com.google.cloud.talent.v4.SearchJobsRequest.getDefaultInstance();
3737     }
3738 
3739     @java.lang.Override
build()3740     public com.google.cloud.talent.v4.SearchJobsRequest build() {
3741       com.google.cloud.talent.v4.SearchJobsRequest result = buildPartial();
3742       if (!result.isInitialized()) {
3743         throw newUninitializedMessageException(result);
3744       }
3745       return result;
3746     }
3747 
3748     @java.lang.Override
buildPartial()3749     public com.google.cloud.talent.v4.SearchJobsRequest buildPartial() {
3750       com.google.cloud.talent.v4.SearchJobsRequest result =
3751           new com.google.cloud.talent.v4.SearchJobsRequest(this);
3752       buildPartialRepeatedFields(result);
3753       if (bitField0_ != 0) {
3754         buildPartial0(result);
3755       }
3756       onBuilt();
3757       return result;
3758     }
3759 
buildPartialRepeatedFields(com.google.cloud.talent.v4.SearchJobsRequest result)3760     private void buildPartialRepeatedFields(com.google.cloud.talent.v4.SearchJobsRequest result) {
3761       if (histogramQueriesBuilder_ == null) {
3762         if (((bitField0_ & 0x00000020) != 0)) {
3763           histogramQueries_ = java.util.Collections.unmodifiableList(histogramQueries_);
3764           bitField0_ = (bitField0_ & ~0x00000020);
3765         }
3766         result.histogramQueries_ = histogramQueries_;
3767       } else {
3768         result.histogramQueries_ = histogramQueriesBuilder_.build();
3769       }
3770     }
3771 
buildPartial0(com.google.cloud.talent.v4.SearchJobsRequest result)3772     private void buildPartial0(com.google.cloud.talent.v4.SearchJobsRequest result) {
3773       int from_bitField0_ = bitField0_;
3774       if (((from_bitField0_ & 0x00000001) != 0)) {
3775         result.parent_ = parent_;
3776       }
3777       if (((from_bitField0_ & 0x00000002) != 0)) {
3778         result.searchMode_ = searchMode_;
3779       }
3780       if (((from_bitField0_ & 0x00000004) != 0)) {
3781         result.requestMetadata_ =
3782             requestMetadataBuilder_ == null ? requestMetadata_ : requestMetadataBuilder_.build();
3783       }
3784       if (((from_bitField0_ & 0x00000008) != 0)) {
3785         result.jobQuery_ = jobQueryBuilder_ == null ? jobQuery_ : jobQueryBuilder_.build();
3786       }
3787       if (((from_bitField0_ & 0x00000010) != 0)) {
3788         result.enableBroadening_ = enableBroadening_;
3789       }
3790       if (((from_bitField0_ & 0x00000040) != 0)) {
3791         result.jobView_ = jobView_;
3792       }
3793       if (((from_bitField0_ & 0x00000080) != 0)) {
3794         result.offset_ = offset_;
3795       }
3796       if (((from_bitField0_ & 0x00000100) != 0)) {
3797         result.maxPageSize_ = maxPageSize_;
3798       }
3799       if (((from_bitField0_ & 0x00000200) != 0)) {
3800         result.pageToken_ = pageToken_;
3801       }
3802       if (((from_bitField0_ & 0x00000400) != 0)) {
3803         result.orderBy_ = orderBy_;
3804       }
3805       if (((from_bitField0_ & 0x00000800) != 0)) {
3806         result.diversificationLevel_ = diversificationLevel_;
3807       }
3808       if (((from_bitField0_ & 0x00001000) != 0)) {
3809         result.customRankingInfo_ =
3810             customRankingInfoBuilder_ == null
3811                 ? customRankingInfo_
3812                 : customRankingInfoBuilder_.build();
3813       }
3814       if (((from_bitField0_ & 0x00002000) != 0)) {
3815         result.disableKeywordMatch_ = disableKeywordMatch_;
3816       }
3817       if (((from_bitField0_ & 0x00004000) != 0)) {
3818         result.keywordMatchMode_ = keywordMatchMode_;
3819       }
3820     }
3821 
3822     @java.lang.Override
clone()3823     public Builder clone() {
3824       return super.clone();
3825     }
3826 
3827     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3828     public Builder setField(
3829         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3830       return super.setField(field, value);
3831     }
3832 
3833     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)3834     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
3835       return super.clearField(field);
3836     }
3837 
3838     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)3839     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3840       return super.clearOneof(oneof);
3841     }
3842 
3843     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)3844     public Builder setRepeatedField(
3845         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
3846       return super.setRepeatedField(field, index, value);
3847     }
3848 
3849     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3850     public Builder addRepeatedField(
3851         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3852       return super.addRepeatedField(field, value);
3853     }
3854 
3855     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)3856     public Builder mergeFrom(com.google.protobuf.Message other) {
3857       if (other instanceof com.google.cloud.talent.v4.SearchJobsRequest) {
3858         return mergeFrom((com.google.cloud.talent.v4.SearchJobsRequest) other);
3859       } else {
3860         super.mergeFrom(other);
3861         return this;
3862       }
3863     }
3864 
mergeFrom(com.google.cloud.talent.v4.SearchJobsRequest other)3865     public Builder mergeFrom(com.google.cloud.talent.v4.SearchJobsRequest other) {
3866       if (other == com.google.cloud.talent.v4.SearchJobsRequest.getDefaultInstance()) return this;
3867       if (!other.getParent().isEmpty()) {
3868         parent_ = other.parent_;
3869         bitField0_ |= 0x00000001;
3870         onChanged();
3871       }
3872       if (other.searchMode_ != 0) {
3873         setSearchModeValue(other.getSearchModeValue());
3874       }
3875       if (other.hasRequestMetadata()) {
3876         mergeRequestMetadata(other.getRequestMetadata());
3877       }
3878       if (other.hasJobQuery()) {
3879         mergeJobQuery(other.getJobQuery());
3880       }
3881       if (other.getEnableBroadening() != false) {
3882         setEnableBroadening(other.getEnableBroadening());
3883       }
3884       if (histogramQueriesBuilder_ == null) {
3885         if (!other.histogramQueries_.isEmpty()) {
3886           if (histogramQueries_.isEmpty()) {
3887             histogramQueries_ = other.histogramQueries_;
3888             bitField0_ = (bitField0_ & ~0x00000020);
3889           } else {
3890             ensureHistogramQueriesIsMutable();
3891             histogramQueries_.addAll(other.histogramQueries_);
3892           }
3893           onChanged();
3894         }
3895       } else {
3896         if (!other.histogramQueries_.isEmpty()) {
3897           if (histogramQueriesBuilder_.isEmpty()) {
3898             histogramQueriesBuilder_.dispose();
3899             histogramQueriesBuilder_ = null;
3900             histogramQueries_ = other.histogramQueries_;
3901             bitField0_ = (bitField0_ & ~0x00000020);
3902             histogramQueriesBuilder_ =
3903                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
3904                     ? getHistogramQueriesFieldBuilder()
3905                     : null;
3906           } else {
3907             histogramQueriesBuilder_.addAllMessages(other.histogramQueries_);
3908           }
3909         }
3910       }
3911       if (other.jobView_ != 0) {
3912         setJobViewValue(other.getJobViewValue());
3913       }
3914       if (other.getOffset() != 0) {
3915         setOffset(other.getOffset());
3916       }
3917       if (other.getMaxPageSize() != 0) {
3918         setMaxPageSize(other.getMaxPageSize());
3919       }
3920       if (!other.getPageToken().isEmpty()) {
3921         pageToken_ = other.pageToken_;
3922         bitField0_ |= 0x00000200;
3923         onChanged();
3924       }
3925       if (!other.getOrderBy().isEmpty()) {
3926         orderBy_ = other.orderBy_;
3927         bitField0_ |= 0x00000400;
3928         onChanged();
3929       }
3930       if (other.diversificationLevel_ != 0) {
3931         setDiversificationLevelValue(other.getDiversificationLevelValue());
3932       }
3933       if (other.hasCustomRankingInfo()) {
3934         mergeCustomRankingInfo(other.getCustomRankingInfo());
3935       }
3936       if (other.getDisableKeywordMatch() != false) {
3937         setDisableKeywordMatch(other.getDisableKeywordMatch());
3938       }
3939       if (other.keywordMatchMode_ != 0) {
3940         setKeywordMatchModeValue(other.getKeywordMatchModeValue());
3941       }
3942       this.mergeUnknownFields(other.getUnknownFields());
3943       onChanged();
3944       return this;
3945     }
3946 
3947     @java.lang.Override
isInitialized()3948     public final boolean isInitialized() {
3949       return true;
3950     }
3951 
3952     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3953     public Builder mergeFrom(
3954         com.google.protobuf.CodedInputStream input,
3955         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3956         throws java.io.IOException {
3957       if (extensionRegistry == null) {
3958         throw new java.lang.NullPointerException();
3959       }
3960       try {
3961         boolean done = false;
3962         while (!done) {
3963           int tag = input.readTag();
3964           switch (tag) {
3965             case 0:
3966               done = true;
3967               break;
3968             case 10:
3969               {
3970                 parent_ = input.readStringRequireUtf8();
3971                 bitField0_ |= 0x00000001;
3972                 break;
3973               } // case 10
3974             case 16:
3975               {
3976                 searchMode_ = input.readEnum();
3977                 bitField0_ |= 0x00000002;
3978                 break;
3979               } // case 16
3980             case 26:
3981               {
3982                 input.readMessage(getRequestMetadataFieldBuilder().getBuilder(), extensionRegistry);
3983                 bitField0_ |= 0x00000004;
3984                 break;
3985               } // case 26
3986             case 34:
3987               {
3988                 input.readMessage(getJobQueryFieldBuilder().getBuilder(), extensionRegistry);
3989                 bitField0_ |= 0x00000008;
3990                 break;
3991               } // case 34
3992             case 40:
3993               {
3994                 enableBroadening_ = input.readBool();
3995                 bitField0_ |= 0x00000010;
3996                 break;
3997               } // case 40
3998             case 58:
3999               {
4000                 com.google.cloud.talent.v4.HistogramQuery m =
4001                     input.readMessage(
4002                         com.google.cloud.talent.v4.HistogramQuery.parser(), extensionRegistry);
4003                 if (histogramQueriesBuilder_ == null) {
4004                   ensureHistogramQueriesIsMutable();
4005                   histogramQueries_.add(m);
4006                 } else {
4007                   histogramQueriesBuilder_.addMessage(m);
4008                 }
4009                 break;
4010               } // case 58
4011             case 64:
4012               {
4013                 jobView_ = input.readEnum();
4014                 bitField0_ |= 0x00000040;
4015                 break;
4016               } // case 64
4017             case 72:
4018               {
4019                 offset_ = input.readInt32();
4020                 bitField0_ |= 0x00000080;
4021                 break;
4022               } // case 72
4023             case 80:
4024               {
4025                 maxPageSize_ = input.readInt32();
4026                 bitField0_ |= 0x00000100;
4027                 break;
4028               } // case 80
4029             case 90:
4030               {
4031                 pageToken_ = input.readStringRequireUtf8();
4032                 bitField0_ |= 0x00000200;
4033                 break;
4034               } // case 90
4035             case 98:
4036               {
4037                 orderBy_ = input.readStringRequireUtf8();
4038                 bitField0_ |= 0x00000400;
4039                 break;
4040               } // case 98
4041             case 104:
4042               {
4043                 diversificationLevel_ = input.readEnum();
4044                 bitField0_ |= 0x00000800;
4045                 break;
4046               } // case 104
4047             case 114:
4048               {
4049                 input.readMessage(
4050                     getCustomRankingInfoFieldBuilder().getBuilder(), extensionRegistry);
4051                 bitField0_ |= 0x00001000;
4052                 break;
4053               } // case 114
4054             case 128:
4055               {
4056                 disableKeywordMatch_ = input.readBool();
4057                 bitField0_ |= 0x00002000;
4058                 break;
4059               } // case 128
4060             case 144:
4061               {
4062                 keywordMatchMode_ = input.readEnum();
4063                 bitField0_ |= 0x00004000;
4064                 break;
4065               } // case 144
4066             default:
4067               {
4068                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4069                   done = true; // was an endgroup tag
4070                 }
4071                 break;
4072               } // default:
4073           } // switch (tag)
4074         } // while (!done)
4075       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4076         throw e.unwrapIOException();
4077       } finally {
4078         onChanged();
4079       } // finally
4080       return this;
4081     }
4082 
4083     private int bitField0_;
4084 
4085     private java.lang.Object parent_ = "";
4086     /**
4087      *
4088      *
4089      * <pre>
4090      * Required. The resource name of the tenant to search within.
4091      * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
4092      * "projects/foo/tenants/bar".
4093      * </pre>
4094      *
4095      * <code>
4096      * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4097      * </code>
4098      *
4099      * @return The parent.
4100      */
getParent()4101     public java.lang.String getParent() {
4102       java.lang.Object ref = parent_;
4103       if (!(ref instanceof java.lang.String)) {
4104         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4105         java.lang.String s = bs.toStringUtf8();
4106         parent_ = s;
4107         return s;
4108       } else {
4109         return (java.lang.String) ref;
4110       }
4111     }
4112     /**
4113      *
4114      *
4115      * <pre>
4116      * Required. The resource name of the tenant to search within.
4117      * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
4118      * "projects/foo/tenants/bar".
4119      * </pre>
4120      *
4121      * <code>
4122      * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4123      * </code>
4124      *
4125      * @return The bytes for parent.
4126      */
getParentBytes()4127     public com.google.protobuf.ByteString getParentBytes() {
4128       java.lang.Object ref = parent_;
4129       if (ref instanceof String) {
4130         com.google.protobuf.ByteString b =
4131             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4132         parent_ = b;
4133         return b;
4134       } else {
4135         return (com.google.protobuf.ByteString) ref;
4136       }
4137     }
4138     /**
4139      *
4140      *
4141      * <pre>
4142      * Required. The resource name of the tenant to search within.
4143      * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
4144      * "projects/foo/tenants/bar".
4145      * </pre>
4146      *
4147      * <code>
4148      * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4149      * </code>
4150      *
4151      * @param value The parent to set.
4152      * @return This builder for chaining.
4153      */
setParent(java.lang.String value)4154     public Builder setParent(java.lang.String value) {
4155       if (value == null) {
4156         throw new NullPointerException();
4157       }
4158       parent_ = value;
4159       bitField0_ |= 0x00000001;
4160       onChanged();
4161       return this;
4162     }
4163     /**
4164      *
4165      *
4166      * <pre>
4167      * Required. The resource name of the tenant to search within.
4168      * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
4169      * "projects/foo/tenants/bar".
4170      * </pre>
4171      *
4172      * <code>
4173      * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4174      * </code>
4175      *
4176      * @return This builder for chaining.
4177      */
clearParent()4178     public Builder clearParent() {
4179       parent_ = getDefaultInstance().getParent();
4180       bitField0_ = (bitField0_ & ~0x00000001);
4181       onChanged();
4182       return this;
4183     }
4184     /**
4185      *
4186      *
4187      * <pre>
4188      * Required. The resource name of the tenant to search within.
4189      * The format is "projects/{project_id}/tenants/{tenant_id}". For example,
4190      * "projects/foo/tenants/bar".
4191      * </pre>
4192      *
4193      * <code>
4194      * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4195      * </code>
4196      *
4197      * @param value The bytes for parent to set.
4198      * @return This builder for chaining.
4199      */
setParentBytes(com.google.protobuf.ByteString value)4200     public Builder setParentBytes(com.google.protobuf.ByteString value) {
4201       if (value == null) {
4202         throw new NullPointerException();
4203       }
4204       checkByteStringIsUtf8(value);
4205       parent_ = value;
4206       bitField0_ |= 0x00000001;
4207       onChanged();
4208       return this;
4209     }
4210 
4211     private int searchMode_ = 0;
4212     /**
4213      *
4214      *
4215      * <pre>
4216      * Mode of a search.
4217      * Defaults to
4218      * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
4219      * </pre>
4220      *
4221      * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
4222      *
4223      * @return The enum numeric value on the wire for searchMode.
4224      */
4225     @java.lang.Override
getSearchModeValue()4226     public int getSearchModeValue() {
4227       return searchMode_;
4228     }
4229     /**
4230      *
4231      *
4232      * <pre>
4233      * Mode of a search.
4234      * Defaults to
4235      * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
4236      * </pre>
4237      *
4238      * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
4239      *
4240      * @param value The enum numeric value on the wire for searchMode to set.
4241      * @return This builder for chaining.
4242      */
setSearchModeValue(int value)4243     public Builder setSearchModeValue(int value) {
4244       searchMode_ = value;
4245       bitField0_ |= 0x00000002;
4246       onChanged();
4247       return this;
4248     }
4249     /**
4250      *
4251      *
4252      * <pre>
4253      * Mode of a search.
4254      * Defaults to
4255      * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
4256      * </pre>
4257      *
4258      * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
4259      *
4260      * @return The searchMode.
4261      */
4262     @java.lang.Override
getSearchMode()4263     public com.google.cloud.talent.v4.SearchJobsRequest.SearchMode getSearchMode() {
4264       com.google.cloud.talent.v4.SearchJobsRequest.SearchMode result =
4265           com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.forNumber(searchMode_);
4266       return result == null
4267           ? com.google.cloud.talent.v4.SearchJobsRequest.SearchMode.UNRECOGNIZED
4268           : result;
4269     }
4270     /**
4271      *
4272      *
4273      * <pre>
4274      * Mode of a search.
4275      * Defaults to
4276      * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
4277      * </pre>
4278      *
4279      * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
4280      *
4281      * @param value The searchMode to set.
4282      * @return This builder for chaining.
4283      */
setSearchMode(com.google.cloud.talent.v4.SearchJobsRequest.SearchMode value)4284     public Builder setSearchMode(com.google.cloud.talent.v4.SearchJobsRequest.SearchMode value) {
4285       if (value == null) {
4286         throw new NullPointerException();
4287       }
4288       bitField0_ |= 0x00000002;
4289       searchMode_ = value.getNumber();
4290       onChanged();
4291       return this;
4292     }
4293     /**
4294      *
4295      *
4296      * <pre>
4297      * Mode of a search.
4298      * Defaults to
4299      * [SearchMode.JOB_SEARCH][google.cloud.talent.v4.SearchJobsRequest.SearchMode.JOB_SEARCH].
4300      * </pre>
4301      *
4302      * <code>.google.cloud.talent.v4.SearchJobsRequest.SearchMode search_mode = 2;</code>
4303      *
4304      * @return This builder for chaining.
4305      */
clearSearchMode()4306     public Builder clearSearchMode() {
4307       bitField0_ = (bitField0_ & ~0x00000002);
4308       searchMode_ = 0;
4309       onChanged();
4310       return this;
4311     }
4312 
4313     private com.google.cloud.talent.v4.RequestMetadata requestMetadata_;
4314     private com.google.protobuf.SingleFieldBuilderV3<
4315             com.google.cloud.talent.v4.RequestMetadata,
4316             com.google.cloud.talent.v4.RequestMetadata.Builder,
4317             com.google.cloud.talent.v4.RequestMetadataOrBuilder>
4318         requestMetadataBuilder_;
4319     /**
4320      *
4321      *
4322      * <pre>
4323      * Required. The meta information collected about the job searcher, used to
4324      * improve the search quality of the service. The identifiers (such as
4325      * `user_id`) are provided by users, and must be unique and consistent.
4326      * </pre>
4327      *
4328      * <code>
4329      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4330      * </code>
4331      *
4332      * @return Whether the requestMetadata field is set.
4333      */
hasRequestMetadata()4334     public boolean hasRequestMetadata() {
4335       return ((bitField0_ & 0x00000004) != 0);
4336     }
4337     /**
4338      *
4339      *
4340      * <pre>
4341      * Required. The meta information collected about the job searcher, used to
4342      * improve the search quality of the service. The identifiers (such as
4343      * `user_id`) are provided by users, and must be unique and consistent.
4344      * </pre>
4345      *
4346      * <code>
4347      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4348      * </code>
4349      *
4350      * @return The requestMetadata.
4351      */
getRequestMetadata()4352     public com.google.cloud.talent.v4.RequestMetadata getRequestMetadata() {
4353       if (requestMetadataBuilder_ == null) {
4354         return requestMetadata_ == null
4355             ? com.google.cloud.talent.v4.RequestMetadata.getDefaultInstance()
4356             : requestMetadata_;
4357       } else {
4358         return requestMetadataBuilder_.getMessage();
4359       }
4360     }
4361     /**
4362      *
4363      *
4364      * <pre>
4365      * Required. The meta information collected about the job searcher, used to
4366      * improve the search quality of the service. The identifiers (such as
4367      * `user_id`) are provided by users, and must be unique and consistent.
4368      * </pre>
4369      *
4370      * <code>
4371      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4372      * </code>
4373      */
setRequestMetadata(com.google.cloud.talent.v4.RequestMetadata value)4374     public Builder setRequestMetadata(com.google.cloud.talent.v4.RequestMetadata value) {
4375       if (requestMetadataBuilder_ == null) {
4376         if (value == null) {
4377           throw new NullPointerException();
4378         }
4379         requestMetadata_ = value;
4380       } else {
4381         requestMetadataBuilder_.setMessage(value);
4382       }
4383       bitField0_ |= 0x00000004;
4384       onChanged();
4385       return this;
4386     }
4387     /**
4388      *
4389      *
4390      * <pre>
4391      * Required. The meta information collected about the job searcher, used to
4392      * improve the search quality of the service. The identifiers (such as
4393      * `user_id`) are provided by users, and must be unique and consistent.
4394      * </pre>
4395      *
4396      * <code>
4397      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4398      * </code>
4399      */
setRequestMetadata( com.google.cloud.talent.v4.RequestMetadata.Builder builderForValue)4400     public Builder setRequestMetadata(
4401         com.google.cloud.talent.v4.RequestMetadata.Builder builderForValue) {
4402       if (requestMetadataBuilder_ == null) {
4403         requestMetadata_ = builderForValue.build();
4404       } else {
4405         requestMetadataBuilder_.setMessage(builderForValue.build());
4406       }
4407       bitField0_ |= 0x00000004;
4408       onChanged();
4409       return this;
4410     }
4411     /**
4412      *
4413      *
4414      * <pre>
4415      * Required. The meta information collected about the job searcher, used to
4416      * improve the search quality of the service. The identifiers (such as
4417      * `user_id`) are provided by users, and must be unique and consistent.
4418      * </pre>
4419      *
4420      * <code>
4421      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4422      * </code>
4423      */
mergeRequestMetadata(com.google.cloud.talent.v4.RequestMetadata value)4424     public Builder mergeRequestMetadata(com.google.cloud.talent.v4.RequestMetadata value) {
4425       if (requestMetadataBuilder_ == null) {
4426         if (((bitField0_ & 0x00000004) != 0)
4427             && requestMetadata_ != null
4428             && requestMetadata_
4429                 != com.google.cloud.talent.v4.RequestMetadata.getDefaultInstance()) {
4430           getRequestMetadataBuilder().mergeFrom(value);
4431         } else {
4432           requestMetadata_ = value;
4433         }
4434       } else {
4435         requestMetadataBuilder_.mergeFrom(value);
4436       }
4437       bitField0_ |= 0x00000004;
4438       onChanged();
4439       return this;
4440     }
4441     /**
4442      *
4443      *
4444      * <pre>
4445      * Required. The meta information collected about the job searcher, used to
4446      * improve the search quality of the service. The identifiers (such as
4447      * `user_id`) are provided by users, and must be unique and consistent.
4448      * </pre>
4449      *
4450      * <code>
4451      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4452      * </code>
4453      */
clearRequestMetadata()4454     public Builder clearRequestMetadata() {
4455       bitField0_ = (bitField0_ & ~0x00000004);
4456       requestMetadata_ = null;
4457       if (requestMetadataBuilder_ != null) {
4458         requestMetadataBuilder_.dispose();
4459         requestMetadataBuilder_ = null;
4460       }
4461       onChanged();
4462       return this;
4463     }
4464     /**
4465      *
4466      *
4467      * <pre>
4468      * Required. The meta information collected about the job searcher, used to
4469      * improve the search quality of the service. The identifiers (such as
4470      * `user_id`) are provided by users, and must be unique and consistent.
4471      * </pre>
4472      *
4473      * <code>
4474      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4475      * </code>
4476      */
getRequestMetadataBuilder()4477     public com.google.cloud.talent.v4.RequestMetadata.Builder getRequestMetadataBuilder() {
4478       bitField0_ |= 0x00000004;
4479       onChanged();
4480       return getRequestMetadataFieldBuilder().getBuilder();
4481     }
4482     /**
4483      *
4484      *
4485      * <pre>
4486      * Required. The meta information collected about the job searcher, used to
4487      * improve the search quality of the service. The identifiers (such as
4488      * `user_id`) are provided by users, and must be unique and consistent.
4489      * </pre>
4490      *
4491      * <code>
4492      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4493      * </code>
4494      */
getRequestMetadataOrBuilder()4495     public com.google.cloud.talent.v4.RequestMetadataOrBuilder getRequestMetadataOrBuilder() {
4496       if (requestMetadataBuilder_ != null) {
4497         return requestMetadataBuilder_.getMessageOrBuilder();
4498       } else {
4499         return requestMetadata_ == null
4500             ? com.google.cloud.talent.v4.RequestMetadata.getDefaultInstance()
4501             : requestMetadata_;
4502       }
4503     }
4504     /**
4505      *
4506      *
4507      * <pre>
4508      * Required. The meta information collected about the job searcher, used to
4509      * improve the search quality of the service. The identifiers (such as
4510      * `user_id`) are provided by users, and must be unique and consistent.
4511      * </pre>
4512      *
4513      * <code>
4514      * .google.cloud.talent.v4.RequestMetadata request_metadata = 3 [(.google.api.field_behavior) = REQUIRED];
4515      * </code>
4516      */
4517     private com.google.protobuf.SingleFieldBuilderV3<
4518             com.google.cloud.talent.v4.RequestMetadata,
4519             com.google.cloud.talent.v4.RequestMetadata.Builder,
4520             com.google.cloud.talent.v4.RequestMetadataOrBuilder>
getRequestMetadataFieldBuilder()4521         getRequestMetadataFieldBuilder() {
4522       if (requestMetadataBuilder_ == null) {
4523         requestMetadataBuilder_ =
4524             new com.google.protobuf.SingleFieldBuilderV3<
4525                 com.google.cloud.talent.v4.RequestMetadata,
4526                 com.google.cloud.talent.v4.RequestMetadata.Builder,
4527                 com.google.cloud.talent.v4.RequestMetadataOrBuilder>(
4528                 getRequestMetadata(), getParentForChildren(), isClean());
4529         requestMetadata_ = null;
4530       }
4531       return requestMetadataBuilder_;
4532     }
4533 
4534     private com.google.cloud.talent.v4.JobQuery jobQuery_;
4535     private com.google.protobuf.SingleFieldBuilderV3<
4536             com.google.cloud.talent.v4.JobQuery,
4537             com.google.cloud.talent.v4.JobQuery.Builder,
4538             com.google.cloud.talent.v4.JobQueryOrBuilder>
4539         jobQueryBuilder_;
4540     /**
4541      *
4542      *
4543      * <pre>
4544      * Query used to search against jobs, such as keyword, location filters, etc.
4545      * </pre>
4546      *
4547      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4548      *
4549      * @return Whether the jobQuery field is set.
4550      */
hasJobQuery()4551     public boolean hasJobQuery() {
4552       return ((bitField0_ & 0x00000008) != 0);
4553     }
4554     /**
4555      *
4556      *
4557      * <pre>
4558      * Query used to search against jobs, such as keyword, location filters, etc.
4559      * </pre>
4560      *
4561      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4562      *
4563      * @return The jobQuery.
4564      */
getJobQuery()4565     public com.google.cloud.talent.v4.JobQuery getJobQuery() {
4566       if (jobQueryBuilder_ == null) {
4567         return jobQuery_ == null
4568             ? com.google.cloud.talent.v4.JobQuery.getDefaultInstance()
4569             : jobQuery_;
4570       } else {
4571         return jobQueryBuilder_.getMessage();
4572       }
4573     }
4574     /**
4575      *
4576      *
4577      * <pre>
4578      * Query used to search against jobs, such as keyword, location filters, etc.
4579      * </pre>
4580      *
4581      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4582      */
setJobQuery(com.google.cloud.talent.v4.JobQuery value)4583     public Builder setJobQuery(com.google.cloud.talent.v4.JobQuery value) {
4584       if (jobQueryBuilder_ == null) {
4585         if (value == null) {
4586           throw new NullPointerException();
4587         }
4588         jobQuery_ = value;
4589       } else {
4590         jobQueryBuilder_.setMessage(value);
4591       }
4592       bitField0_ |= 0x00000008;
4593       onChanged();
4594       return this;
4595     }
4596     /**
4597      *
4598      *
4599      * <pre>
4600      * Query used to search against jobs, such as keyword, location filters, etc.
4601      * </pre>
4602      *
4603      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4604      */
setJobQuery(com.google.cloud.talent.v4.JobQuery.Builder builderForValue)4605     public Builder setJobQuery(com.google.cloud.talent.v4.JobQuery.Builder builderForValue) {
4606       if (jobQueryBuilder_ == null) {
4607         jobQuery_ = builderForValue.build();
4608       } else {
4609         jobQueryBuilder_.setMessage(builderForValue.build());
4610       }
4611       bitField0_ |= 0x00000008;
4612       onChanged();
4613       return this;
4614     }
4615     /**
4616      *
4617      *
4618      * <pre>
4619      * Query used to search against jobs, such as keyword, location filters, etc.
4620      * </pre>
4621      *
4622      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4623      */
mergeJobQuery(com.google.cloud.talent.v4.JobQuery value)4624     public Builder mergeJobQuery(com.google.cloud.talent.v4.JobQuery value) {
4625       if (jobQueryBuilder_ == null) {
4626         if (((bitField0_ & 0x00000008) != 0)
4627             && jobQuery_ != null
4628             && jobQuery_ != com.google.cloud.talent.v4.JobQuery.getDefaultInstance()) {
4629           getJobQueryBuilder().mergeFrom(value);
4630         } else {
4631           jobQuery_ = value;
4632         }
4633       } else {
4634         jobQueryBuilder_.mergeFrom(value);
4635       }
4636       bitField0_ |= 0x00000008;
4637       onChanged();
4638       return this;
4639     }
4640     /**
4641      *
4642      *
4643      * <pre>
4644      * Query used to search against jobs, such as keyword, location filters, etc.
4645      * </pre>
4646      *
4647      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4648      */
clearJobQuery()4649     public Builder clearJobQuery() {
4650       bitField0_ = (bitField0_ & ~0x00000008);
4651       jobQuery_ = null;
4652       if (jobQueryBuilder_ != null) {
4653         jobQueryBuilder_.dispose();
4654         jobQueryBuilder_ = null;
4655       }
4656       onChanged();
4657       return this;
4658     }
4659     /**
4660      *
4661      *
4662      * <pre>
4663      * Query used to search against jobs, such as keyword, location filters, etc.
4664      * </pre>
4665      *
4666      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4667      */
getJobQueryBuilder()4668     public com.google.cloud.talent.v4.JobQuery.Builder getJobQueryBuilder() {
4669       bitField0_ |= 0x00000008;
4670       onChanged();
4671       return getJobQueryFieldBuilder().getBuilder();
4672     }
4673     /**
4674      *
4675      *
4676      * <pre>
4677      * Query used to search against jobs, such as keyword, location filters, etc.
4678      * </pre>
4679      *
4680      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4681      */
getJobQueryOrBuilder()4682     public com.google.cloud.talent.v4.JobQueryOrBuilder getJobQueryOrBuilder() {
4683       if (jobQueryBuilder_ != null) {
4684         return jobQueryBuilder_.getMessageOrBuilder();
4685       } else {
4686         return jobQuery_ == null
4687             ? com.google.cloud.talent.v4.JobQuery.getDefaultInstance()
4688             : jobQuery_;
4689       }
4690     }
4691     /**
4692      *
4693      *
4694      * <pre>
4695      * Query used to search against jobs, such as keyword, location filters, etc.
4696      * </pre>
4697      *
4698      * <code>.google.cloud.talent.v4.JobQuery job_query = 4;</code>
4699      */
4700     private com.google.protobuf.SingleFieldBuilderV3<
4701             com.google.cloud.talent.v4.JobQuery,
4702             com.google.cloud.talent.v4.JobQuery.Builder,
4703             com.google.cloud.talent.v4.JobQueryOrBuilder>
getJobQueryFieldBuilder()4704         getJobQueryFieldBuilder() {
4705       if (jobQueryBuilder_ == null) {
4706         jobQueryBuilder_ =
4707             new com.google.protobuf.SingleFieldBuilderV3<
4708                 com.google.cloud.talent.v4.JobQuery,
4709                 com.google.cloud.talent.v4.JobQuery.Builder,
4710                 com.google.cloud.talent.v4.JobQueryOrBuilder>(
4711                 getJobQuery(), getParentForChildren(), isClean());
4712         jobQuery_ = null;
4713       }
4714       return jobQueryBuilder_;
4715     }
4716 
4717     private boolean enableBroadening_;
4718     /**
4719      *
4720      *
4721      * <pre>
4722      * Controls whether to broaden the search when it produces sparse results.
4723      * Broadened queries append results to the end of the matching results
4724      * list.
4725      * Defaults to false.
4726      * </pre>
4727      *
4728      * <code>bool enable_broadening = 5;</code>
4729      *
4730      * @return The enableBroadening.
4731      */
4732     @java.lang.Override
getEnableBroadening()4733     public boolean getEnableBroadening() {
4734       return enableBroadening_;
4735     }
4736     /**
4737      *
4738      *
4739      * <pre>
4740      * Controls whether to broaden the search when it produces sparse results.
4741      * Broadened queries append results to the end of the matching results
4742      * list.
4743      * Defaults to false.
4744      * </pre>
4745      *
4746      * <code>bool enable_broadening = 5;</code>
4747      *
4748      * @param value The enableBroadening to set.
4749      * @return This builder for chaining.
4750      */
setEnableBroadening(boolean value)4751     public Builder setEnableBroadening(boolean value) {
4752 
4753       enableBroadening_ = value;
4754       bitField0_ |= 0x00000010;
4755       onChanged();
4756       return this;
4757     }
4758     /**
4759      *
4760      *
4761      * <pre>
4762      * Controls whether to broaden the search when it produces sparse results.
4763      * Broadened queries append results to the end of the matching results
4764      * list.
4765      * Defaults to false.
4766      * </pre>
4767      *
4768      * <code>bool enable_broadening = 5;</code>
4769      *
4770      * @return This builder for chaining.
4771      */
clearEnableBroadening()4772     public Builder clearEnableBroadening() {
4773       bitField0_ = (bitField0_ & ~0x00000010);
4774       enableBroadening_ = false;
4775       onChanged();
4776       return this;
4777     }
4778 
4779     private java.util.List<com.google.cloud.talent.v4.HistogramQuery> histogramQueries_ =
4780         java.util.Collections.emptyList();
4781 
ensureHistogramQueriesIsMutable()4782     private void ensureHistogramQueriesIsMutable() {
4783       if (!((bitField0_ & 0x00000020) != 0)) {
4784         histogramQueries_ =
4785             new java.util.ArrayList<com.google.cloud.talent.v4.HistogramQuery>(histogramQueries_);
4786         bitField0_ |= 0x00000020;
4787       }
4788     }
4789 
4790     private com.google.protobuf.RepeatedFieldBuilderV3<
4791             com.google.cloud.talent.v4.HistogramQuery,
4792             com.google.cloud.talent.v4.HistogramQuery.Builder,
4793             com.google.cloud.talent.v4.HistogramQueryOrBuilder>
4794         histogramQueriesBuilder_;
4795 
4796     /**
4797      *
4798      *
4799      * <pre>
4800      * An expression specifies a histogram request against matching jobs.
4801      * Expression syntax is an aggregation function call with histogram facets and
4802      * other options.
4803      * Available aggregation function calls are:
4804      * * `count(string_histogram_facet)`: Count the number of matching entities,
4805      * for each distinct attribute value.
4806      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
4807      * matching entities within each bucket.
4808      * A maximum of 200 histogram buckets are supported.
4809      * Data types:
4810      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
4811      * * String: string like "any string with backslash escape for quote(&#92;")."
4812      * * Number: whole number and floating point number like 10, -1 and -0.01.
4813      * * List: list of elements with comma(,) separator surrounded by square
4814      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
4815      * Built-in constants:
4816      * * MIN (minimum number similar to java Double.MIN_VALUE)
4817      * * MAX (maximum number similar to java Double.MAX_VALUE)
4818      * Built-in functions:
4819      * * bucket(start, end[, label]): bucket built-in function creates a bucket
4820      * with range of [start, end). Note that the end is exclusive, for example,
4821      * bucket(1, MAX, "positive number") or bucket(1, 10).
4822      * Job histogram facets:
4823      * * company_display_name: histogram by
4824      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
4825      * * employment_type: histogram by
4826      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
4827      * example,
4828      *   "FULL_TIME", "PART_TIME".
4829      * * company_size (DEPRECATED): histogram by
4830      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
4831      * "MEDIUM", "BIG".
4832      * * publish_time_in_day: histogram by the
4833      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4834      *   in days.
4835      *   Must specify list of numeric buckets in spec.
4836      * * publish_time_in_month: histogram by the
4837      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4838      *   in months.
4839      *   Must specify list of numeric buckets in spec.
4840      * * publish_time_in_year: histogram by the
4841      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4842      *   in years.
4843      *   Must specify list of numeric buckets in spec.
4844      * * degree_types: histogram by the
4845      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
4846      *   "Bachelors", "Masters".
4847      * * job_level: histogram by the
4848      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
4849      *   Level".
4850      * * country: histogram by the country code of jobs, for example, "US", "FR".
4851      * * admin1: histogram by the admin1 code of jobs, which is a global
4852      *   placeholder referring to the state, province, or the particular term a
4853      *   country uses to define the geographic structure below the country level,
4854      *   for example, "CA", "IL".
4855      * * city: histogram by a combination of the "city name, admin1 code". For
4856      *   example,  "Mountain View, CA", "New York, NY".
4857      * * admin1_country: histogram by a combination of the "admin1 code, country",
4858      *   for example, "CA, US", "IL, US".
4859      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
4860      *   and longitude), for example, 37.4038522,-122.0987765. Since the
4861      *   coordinates of a city center can change, customers may need to refresh
4862      *   them periodically.
4863      * * locale: histogram by the
4864      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
4865      * "en-US",
4866      *   "fr-FR".
4867      * * language: histogram by the language subtag of the
4868      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
4869      *   for example, "en", "fr".
4870      * * category: histogram by the
4871      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
4872      *   "COMPUTER_AND_IT", "HEALTHCARE".
4873      * * base_compensation_unit: histogram by the
4874      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
4875      *   of base salary, for example, "WEEKLY", "MONTHLY".
4876      * * base_compensation: histogram by the base salary. Must specify list of
4877      *   numeric buckets to group results by.
4878      * * annualized_base_compensation: histogram by the base annualized salary.
4879      *   Must specify list of numeric buckets to group results by.
4880      * * annualized_total_compensation: histogram by the total annualized salary.
4881      *   Must specify list of numeric buckets to group results by.
4882      * * string_custom_attribute: histogram by string
4883      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
4884      *   Values can be accessed via square bracket notations like
4885      *   string_custom_attribute["key1"].
4886      * * numeric_custom_attribute: histogram by numeric
4887      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
4888      *   Values can be accessed via square bracket notations like
4889      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
4890      *   group results by.
4891      * Example expressions:
4892      * * `count(admin1)`
4893      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
4894      * bucket(100000, MAX)])`
4895      * * `count(string_custom_attribute["some-string-custom-attribute"])`
4896      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
4897      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
4898      * </pre>
4899      *
4900      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
4901      */
getHistogramQueriesList()4902     public java.util.List<com.google.cloud.talent.v4.HistogramQuery> getHistogramQueriesList() {
4903       if (histogramQueriesBuilder_ == null) {
4904         return java.util.Collections.unmodifiableList(histogramQueries_);
4905       } else {
4906         return histogramQueriesBuilder_.getMessageList();
4907       }
4908     }
4909     /**
4910      *
4911      *
4912      * <pre>
4913      * An expression specifies a histogram request against matching jobs.
4914      * Expression syntax is an aggregation function call with histogram facets and
4915      * other options.
4916      * Available aggregation function calls are:
4917      * * `count(string_histogram_facet)`: Count the number of matching entities,
4918      * for each distinct attribute value.
4919      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
4920      * matching entities within each bucket.
4921      * A maximum of 200 histogram buckets are supported.
4922      * Data types:
4923      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
4924      * * String: string like "any string with backslash escape for quote(&#92;")."
4925      * * Number: whole number and floating point number like 10, -1 and -0.01.
4926      * * List: list of elements with comma(,) separator surrounded by square
4927      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
4928      * Built-in constants:
4929      * * MIN (minimum number similar to java Double.MIN_VALUE)
4930      * * MAX (maximum number similar to java Double.MAX_VALUE)
4931      * Built-in functions:
4932      * * bucket(start, end[, label]): bucket built-in function creates a bucket
4933      * with range of [start, end). Note that the end is exclusive, for example,
4934      * bucket(1, MAX, "positive number") or bucket(1, 10).
4935      * Job histogram facets:
4936      * * company_display_name: histogram by
4937      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
4938      * * employment_type: histogram by
4939      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
4940      * example,
4941      *   "FULL_TIME", "PART_TIME".
4942      * * company_size (DEPRECATED): histogram by
4943      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
4944      * "MEDIUM", "BIG".
4945      * * publish_time_in_day: histogram by the
4946      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4947      *   in days.
4948      *   Must specify list of numeric buckets in spec.
4949      * * publish_time_in_month: histogram by the
4950      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4951      *   in months.
4952      *   Must specify list of numeric buckets in spec.
4953      * * publish_time_in_year: histogram by the
4954      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
4955      *   in years.
4956      *   Must specify list of numeric buckets in spec.
4957      * * degree_types: histogram by the
4958      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
4959      *   "Bachelors", "Masters".
4960      * * job_level: histogram by the
4961      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
4962      *   Level".
4963      * * country: histogram by the country code of jobs, for example, "US", "FR".
4964      * * admin1: histogram by the admin1 code of jobs, which is a global
4965      *   placeholder referring to the state, province, or the particular term a
4966      *   country uses to define the geographic structure below the country level,
4967      *   for example, "CA", "IL".
4968      * * city: histogram by a combination of the "city name, admin1 code". For
4969      *   example,  "Mountain View, CA", "New York, NY".
4970      * * admin1_country: histogram by a combination of the "admin1 code, country",
4971      *   for example, "CA, US", "IL, US".
4972      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
4973      *   and longitude), for example, 37.4038522,-122.0987765. Since the
4974      *   coordinates of a city center can change, customers may need to refresh
4975      *   them periodically.
4976      * * locale: histogram by the
4977      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
4978      * "en-US",
4979      *   "fr-FR".
4980      * * language: histogram by the language subtag of the
4981      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
4982      *   for example, "en", "fr".
4983      * * category: histogram by the
4984      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
4985      *   "COMPUTER_AND_IT", "HEALTHCARE".
4986      * * base_compensation_unit: histogram by the
4987      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
4988      *   of base salary, for example, "WEEKLY", "MONTHLY".
4989      * * base_compensation: histogram by the base salary. Must specify list of
4990      *   numeric buckets to group results by.
4991      * * annualized_base_compensation: histogram by the base annualized salary.
4992      *   Must specify list of numeric buckets to group results by.
4993      * * annualized_total_compensation: histogram by the total annualized salary.
4994      *   Must specify list of numeric buckets to group results by.
4995      * * string_custom_attribute: histogram by string
4996      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
4997      *   Values can be accessed via square bracket notations like
4998      *   string_custom_attribute["key1"].
4999      * * numeric_custom_attribute: histogram by numeric
5000      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5001      *   Values can be accessed via square bracket notations like
5002      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5003      *   group results by.
5004      * Example expressions:
5005      * * `count(admin1)`
5006      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5007      * bucket(100000, MAX)])`
5008      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5009      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5010      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5011      * </pre>
5012      *
5013      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5014      */
getHistogramQueriesCount()5015     public int getHistogramQueriesCount() {
5016       if (histogramQueriesBuilder_ == null) {
5017         return histogramQueries_.size();
5018       } else {
5019         return histogramQueriesBuilder_.getCount();
5020       }
5021     }
5022     /**
5023      *
5024      *
5025      * <pre>
5026      * An expression specifies a histogram request against matching jobs.
5027      * Expression syntax is an aggregation function call with histogram facets and
5028      * other options.
5029      * Available aggregation function calls are:
5030      * * `count(string_histogram_facet)`: Count the number of matching entities,
5031      * for each distinct attribute value.
5032      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5033      * matching entities within each bucket.
5034      * A maximum of 200 histogram buckets are supported.
5035      * Data types:
5036      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5037      * * String: string like "any string with backslash escape for quote(&#92;")."
5038      * * Number: whole number and floating point number like 10, -1 and -0.01.
5039      * * List: list of elements with comma(,) separator surrounded by square
5040      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5041      * Built-in constants:
5042      * * MIN (minimum number similar to java Double.MIN_VALUE)
5043      * * MAX (maximum number similar to java Double.MAX_VALUE)
5044      * Built-in functions:
5045      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5046      * with range of [start, end). Note that the end is exclusive, for example,
5047      * bucket(1, MAX, "positive number") or bucket(1, 10).
5048      * Job histogram facets:
5049      * * company_display_name: histogram by
5050      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5051      * * employment_type: histogram by
5052      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5053      * example,
5054      *   "FULL_TIME", "PART_TIME".
5055      * * company_size (DEPRECATED): histogram by
5056      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5057      * "MEDIUM", "BIG".
5058      * * publish_time_in_day: histogram by the
5059      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5060      *   in days.
5061      *   Must specify list of numeric buckets in spec.
5062      * * publish_time_in_month: histogram by the
5063      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5064      *   in months.
5065      *   Must specify list of numeric buckets in spec.
5066      * * publish_time_in_year: histogram by the
5067      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5068      *   in years.
5069      *   Must specify list of numeric buckets in spec.
5070      * * degree_types: histogram by the
5071      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5072      *   "Bachelors", "Masters".
5073      * * job_level: histogram by the
5074      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5075      *   Level".
5076      * * country: histogram by the country code of jobs, for example, "US", "FR".
5077      * * admin1: histogram by the admin1 code of jobs, which is a global
5078      *   placeholder referring to the state, province, or the particular term a
5079      *   country uses to define the geographic structure below the country level,
5080      *   for example, "CA", "IL".
5081      * * city: histogram by a combination of the "city name, admin1 code". For
5082      *   example,  "Mountain View, CA", "New York, NY".
5083      * * admin1_country: histogram by a combination of the "admin1 code, country",
5084      *   for example, "CA, US", "IL, US".
5085      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5086      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5087      *   coordinates of a city center can change, customers may need to refresh
5088      *   them periodically.
5089      * * locale: histogram by the
5090      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5091      * "en-US",
5092      *   "fr-FR".
5093      * * language: histogram by the language subtag of the
5094      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5095      *   for example, "en", "fr".
5096      * * category: histogram by the
5097      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5098      *   "COMPUTER_AND_IT", "HEALTHCARE".
5099      * * base_compensation_unit: histogram by the
5100      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5101      *   of base salary, for example, "WEEKLY", "MONTHLY".
5102      * * base_compensation: histogram by the base salary. Must specify list of
5103      *   numeric buckets to group results by.
5104      * * annualized_base_compensation: histogram by the base annualized salary.
5105      *   Must specify list of numeric buckets to group results by.
5106      * * annualized_total_compensation: histogram by the total annualized salary.
5107      *   Must specify list of numeric buckets to group results by.
5108      * * string_custom_attribute: histogram by string
5109      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5110      *   Values can be accessed via square bracket notations like
5111      *   string_custom_attribute["key1"].
5112      * * numeric_custom_attribute: histogram by numeric
5113      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5114      *   Values can be accessed via square bracket notations like
5115      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5116      *   group results by.
5117      * Example expressions:
5118      * * `count(admin1)`
5119      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5120      * bucket(100000, MAX)])`
5121      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5122      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5123      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5124      * </pre>
5125      *
5126      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5127      */
getHistogramQueries(int index)5128     public com.google.cloud.talent.v4.HistogramQuery getHistogramQueries(int index) {
5129       if (histogramQueriesBuilder_ == null) {
5130         return histogramQueries_.get(index);
5131       } else {
5132         return histogramQueriesBuilder_.getMessage(index);
5133       }
5134     }
5135     /**
5136      *
5137      *
5138      * <pre>
5139      * An expression specifies a histogram request against matching jobs.
5140      * Expression syntax is an aggregation function call with histogram facets and
5141      * other options.
5142      * Available aggregation function calls are:
5143      * * `count(string_histogram_facet)`: Count the number of matching entities,
5144      * for each distinct attribute value.
5145      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5146      * matching entities within each bucket.
5147      * A maximum of 200 histogram buckets are supported.
5148      * Data types:
5149      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5150      * * String: string like "any string with backslash escape for quote(&#92;")."
5151      * * Number: whole number and floating point number like 10, -1 and -0.01.
5152      * * List: list of elements with comma(,) separator surrounded by square
5153      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5154      * Built-in constants:
5155      * * MIN (minimum number similar to java Double.MIN_VALUE)
5156      * * MAX (maximum number similar to java Double.MAX_VALUE)
5157      * Built-in functions:
5158      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5159      * with range of [start, end). Note that the end is exclusive, for example,
5160      * bucket(1, MAX, "positive number") or bucket(1, 10).
5161      * Job histogram facets:
5162      * * company_display_name: histogram by
5163      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5164      * * employment_type: histogram by
5165      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5166      * example,
5167      *   "FULL_TIME", "PART_TIME".
5168      * * company_size (DEPRECATED): histogram by
5169      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5170      * "MEDIUM", "BIG".
5171      * * publish_time_in_day: histogram by the
5172      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5173      *   in days.
5174      *   Must specify list of numeric buckets in spec.
5175      * * publish_time_in_month: histogram by the
5176      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5177      *   in months.
5178      *   Must specify list of numeric buckets in spec.
5179      * * publish_time_in_year: histogram by the
5180      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5181      *   in years.
5182      *   Must specify list of numeric buckets in spec.
5183      * * degree_types: histogram by the
5184      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5185      *   "Bachelors", "Masters".
5186      * * job_level: histogram by the
5187      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5188      *   Level".
5189      * * country: histogram by the country code of jobs, for example, "US", "FR".
5190      * * admin1: histogram by the admin1 code of jobs, which is a global
5191      *   placeholder referring to the state, province, or the particular term a
5192      *   country uses to define the geographic structure below the country level,
5193      *   for example, "CA", "IL".
5194      * * city: histogram by a combination of the "city name, admin1 code". For
5195      *   example,  "Mountain View, CA", "New York, NY".
5196      * * admin1_country: histogram by a combination of the "admin1 code, country",
5197      *   for example, "CA, US", "IL, US".
5198      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5199      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5200      *   coordinates of a city center can change, customers may need to refresh
5201      *   them periodically.
5202      * * locale: histogram by the
5203      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5204      * "en-US",
5205      *   "fr-FR".
5206      * * language: histogram by the language subtag of the
5207      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5208      *   for example, "en", "fr".
5209      * * category: histogram by the
5210      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5211      *   "COMPUTER_AND_IT", "HEALTHCARE".
5212      * * base_compensation_unit: histogram by the
5213      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5214      *   of base salary, for example, "WEEKLY", "MONTHLY".
5215      * * base_compensation: histogram by the base salary. Must specify list of
5216      *   numeric buckets to group results by.
5217      * * annualized_base_compensation: histogram by the base annualized salary.
5218      *   Must specify list of numeric buckets to group results by.
5219      * * annualized_total_compensation: histogram by the total annualized salary.
5220      *   Must specify list of numeric buckets to group results by.
5221      * * string_custom_attribute: histogram by string
5222      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5223      *   Values can be accessed via square bracket notations like
5224      *   string_custom_attribute["key1"].
5225      * * numeric_custom_attribute: histogram by numeric
5226      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5227      *   Values can be accessed via square bracket notations like
5228      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5229      *   group results by.
5230      * Example expressions:
5231      * * `count(admin1)`
5232      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5233      * bucket(100000, MAX)])`
5234      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5235      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5236      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5237      * </pre>
5238      *
5239      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5240      */
setHistogramQueries(int index, com.google.cloud.talent.v4.HistogramQuery value)5241     public Builder setHistogramQueries(int index, com.google.cloud.talent.v4.HistogramQuery value) {
5242       if (histogramQueriesBuilder_ == null) {
5243         if (value == null) {
5244           throw new NullPointerException();
5245         }
5246         ensureHistogramQueriesIsMutable();
5247         histogramQueries_.set(index, value);
5248         onChanged();
5249       } else {
5250         histogramQueriesBuilder_.setMessage(index, value);
5251       }
5252       return this;
5253     }
5254     /**
5255      *
5256      *
5257      * <pre>
5258      * An expression specifies a histogram request against matching jobs.
5259      * Expression syntax is an aggregation function call with histogram facets and
5260      * other options.
5261      * Available aggregation function calls are:
5262      * * `count(string_histogram_facet)`: Count the number of matching entities,
5263      * for each distinct attribute value.
5264      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5265      * matching entities within each bucket.
5266      * A maximum of 200 histogram buckets are supported.
5267      * Data types:
5268      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5269      * * String: string like "any string with backslash escape for quote(&#92;")."
5270      * * Number: whole number and floating point number like 10, -1 and -0.01.
5271      * * List: list of elements with comma(,) separator surrounded by square
5272      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5273      * Built-in constants:
5274      * * MIN (minimum number similar to java Double.MIN_VALUE)
5275      * * MAX (maximum number similar to java Double.MAX_VALUE)
5276      * Built-in functions:
5277      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5278      * with range of [start, end). Note that the end is exclusive, for example,
5279      * bucket(1, MAX, "positive number") or bucket(1, 10).
5280      * Job histogram facets:
5281      * * company_display_name: histogram by
5282      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5283      * * employment_type: histogram by
5284      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5285      * example,
5286      *   "FULL_TIME", "PART_TIME".
5287      * * company_size (DEPRECATED): histogram by
5288      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5289      * "MEDIUM", "BIG".
5290      * * publish_time_in_day: histogram by the
5291      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5292      *   in days.
5293      *   Must specify list of numeric buckets in spec.
5294      * * publish_time_in_month: histogram by the
5295      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5296      *   in months.
5297      *   Must specify list of numeric buckets in spec.
5298      * * publish_time_in_year: histogram by the
5299      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5300      *   in years.
5301      *   Must specify list of numeric buckets in spec.
5302      * * degree_types: histogram by the
5303      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5304      *   "Bachelors", "Masters".
5305      * * job_level: histogram by the
5306      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5307      *   Level".
5308      * * country: histogram by the country code of jobs, for example, "US", "FR".
5309      * * admin1: histogram by the admin1 code of jobs, which is a global
5310      *   placeholder referring to the state, province, or the particular term a
5311      *   country uses to define the geographic structure below the country level,
5312      *   for example, "CA", "IL".
5313      * * city: histogram by a combination of the "city name, admin1 code". For
5314      *   example,  "Mountain View, CA", "New York, NY".
5315      * * admin1_country: histogram by a combination of the "admin1 code, country",
5316      *   for example, "CA, US", "IL, US".
5317      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5318      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5319      *   coordinates of a city center can change, customers may need to refresh
5320      *   them periodically.
5321      * * locale: histogram by the
5322      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5323      * "en-US",
5324      *   "fr-FR".
5325      * * language: histogram by the language subtag of the
5326      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5327      *   for example, "en", "fr".
5328      * * category: histogram by the
5329      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5330      *   "COMPUTER_AND_IT", "HEALTHCARE".
5331      * * base_compensation_unit: histogram by the
5332      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5333      *   of base salary, for example, "WEEKLY", "MONTHLY".
5334      * * base_compensation: histogram by the base salary. Must specify list of
5335      *   numeric buckets to group results by.
5336      * * annualized_base_compensation: histogram by the base annualized salary.
5337      *   Must specify list of numeric buckets to group results by.
5338      * * annualized_total_compensation: histogram by the total annualized salary.
5339      *   Must specify list of numeric buckets to group results by.
5340      * * string_custom_attribute: histogram by string
5341      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5342      *   Values can be accessed via square bracket notations like
5343      *   string_custom_attribute["key1"].
5344      * * numeric_custom_attribute: histogram by numeric
5345      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5346      *   Values can be accessed via square bracket notations like
5347      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5348      *   group results by.
5349      * Example expressions:
5350      * * `count(admin1)`
5351      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5352      * bucket(100000, MAX)])`
5353      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5354      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5355      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5356      * </pre>
5357      *
5358      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5359      */
setHistogramQueries( int index, com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue)5360     public Builder setHistogramQueries(
5361         int index, com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue) {
5362       if (histogramQueriesBuilder_ == null) {
5363         ensureHistogramQueriesIsMutable();
5364         histogramQueries_.set(index, builderForValue.build());
5365         onChanged();
5366       } else {
5367         histogramQueriesBuilder_.setMessage(index, builderForValue.build());
5368       }
5369       return this;
5370     }
5371     /**
5372      *
5373      *
5374      * <pre>
5375      * An expression specifies a histogram request against matching jobs.
5376      * Expression syntax is an aggregation function call with histogram facets and
5377      * other options.
5378      * Available aggregation function calls are:
5379      * * `count(string_histogram_facet)`: Count the number of matching entities,
5380      * for each distinct attribute value.
5381      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5382      * matching entities within each bucket.
5383      * A maximum of 200 histogram buckets are supported.
5384      * Data types:
5385      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5386      * * String: string like "any string with backslash escape for quote(&#92;")."
5387      * * Number: whole number and floating point number like 10, -1 and -0.01.
5388      * * List: list of elements with comma(,) separator surrounded by square
5389      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5390      * Built-in constants:
5391      * * MIN (minimum number similar to java Double.MIN_VALUE)
5392      * * MAX (maximum number similar to java Double.MAX_VALUE)
5393      * Built-in functions:
5394      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5395      * with range of [start, end). Note that the end is exclusive, for example,
5396      * bucket(1, MAX, "positive number") or bucket(1, 10).
5397      * Job histogram facets:
5398      * * company_display_name: histogram by
5399      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5400      * * employment_type: histogram by
5401      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5402      * example,
5403      *   "FULL_TIME", "PART_TIME".
5404      * * company_size (DEPRECATED): histogram by
5405      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5406      * "MEDIUM", "BIG".
5407      * * publish_time_in_day: histogram by the
5408      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5409      *   in days.
5410      *   Must specify list of numeric buckets in spec.
5411      * * publish_time_in_month: histogram by the
5412      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5413      *   in months.
5414      *   Must specify list of numeric buckets in spec.
5415      * * publish_time_in_year: histogram by the
5416      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5417      *   in years.
5418      *   Must specify list of numeric buckets in spec.
5419      * * degree_types: histogram by the
5420      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5421      *   "Bachelors", "Masters".
5422      * * job_level: histogram by the
5423      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5424      *   Level".
5425      * * country: histogram by the country code of jobs, for example, "US", "FR".
5426      * * admin1: histogram by the admin1 code of jobs, which is a global
5427      *   placeholder referring to the state, province, or the particular term a
5428      *   country uses to define the geographic structure below the country level,
5429      *   for example, "CA", "IL".
5430      * * city: histogram by a combination of the "city name, admin1 code". For
5431      *   example,  "Mountain View, CA", "New York, NY".
5432      * * admin1_country: histogram by a combination of the "admin1 code, country",
5433      *   for example, "CA, US", "IL, US".
5434      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5435      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5436      *   coordinates of a city center can change, customers may need to refresh
5437      *   them periodically.
5438      * * locale: histogram by the
5439      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5440      * "en-US",
5441      *   "fr-FR".
5442      * * language: histogram by the language subtag of the
5443      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5444      *   for example, "en", "fr".
5445      * * category: histogram by the
5446      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5447      *   "COMPUTER_AND_IT", "HEALTHCARE".
5448      * * base_compensation_unit: histogram by the
5449      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5450      *   of base salary, for example, "WEEKLY", "MONTHLY".
5451      * * base_compensation: histogram by the base salary. Must specify list of
5452      *   numeric buckets to group results by.
5453      * * annualized_base_compensation: histogram by the base annualized salary.
5454      *   Must specify list of numeric buckets to group results by.
5455      * * annualized_total_compensation: histogram by the total annualized salary.
5456      *   Must specify list of numeric buckets to group results by.
5457      * * string_custom_attribute: histogram by string
5458      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5459      *   Values can be accessed via square bracket notations like
5460      *   string_custom_attribute["key1"].
5461      * * numeric_custom_attribute: histogram by numeric
5462      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5463      *   Values can be accessed via square bracket notations like
5464      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5465      *   group results by.
5466      * Example expressions:
5467      * * `count(admin1)`
5468      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5469      * bucket(100000, MAX)])`
5470      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5471      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5472      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5473      * </pre>
5474      *
5475      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5476      */
addHistogramQueries(com.google.cloud.talent.v4.HistogramQuery value)5477     public Builder addHistogramQueries(com.google.cloud.talent.v4.HistogramQuery value) {
5478       if (histogramQueriesBuilder_ == null) {
5479         if (value == null) {
5480           throw new NullPointerException();
5481         }
5482         ensureHistogramQueriesIsMutable();
5483         histogramQueries_.add(value);
5484         onChanged();
5485       } else {
5486         histogramQueriesBuilder_.addMessage(value);
5487       }
5488       return this;
5489     }
5490     /**
5491      *
5492      *
5493      * <pre>
5494      * An expression specifies a histogram request against matching jobs.
5495      * Expression syntax is an aggregation function call with histogram facets and
5496      * other options.
5497      * Available aggregation function calls are:
5498      * * `count(string_histogram_facet)`: Count the number of matching entities,
5499      * for each distinct attribute value.
5500      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5501      * matching entities within each bucket.
5502      * A maximum of 200 histogram buckets are supported.
5503      * Data types:
5504      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5505      * * String: string like "any string with backslash escape for quote(&#92;")."
5506      * * Number: whole number and floating point number like 10, -1 and -0.01.
5507      * * List: list of elements with comma(,) separator surrounded by square
5508      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5509      * Built-in constants:
5510      * * MIN (minimum number similar to java Double.MIN_VALUE)
5511      * * MAX (maximum number similar to java Double.MAX_VALUE)
5512      * Built-in functions:
5513      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5514      * with range of [start, end). Note that the end is exclusive, for example,
5515      * bucket(1, MAX, "positive number") or bucket(1, 10).
5516      * Job histogram facets:
5517      * * company_display_name: histogram by
5518      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5519      * * employment_type: histogram by
5520      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5521      * example,
5522      *   "FULL_TIME", "PART_TIME".
5523      * * company_size (DEPRECATED): histogram by
5524      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5525      * "MEDIUM", "BIG".
5526      * * publish_time_in_day: histogram by the
5527      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5528      *   in days.
5529      *   Must specify list of numeric buckets in spec.
5530      * * publish_time_in_month: histogram by the
5531      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5532      *   in months.
5533      *   Must specify list of numeric buckets in spec.
5534      * * publish_time_in_year: histogram by the
5535      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5536      *   in years.
5537      *   Must specify list of numeric buckets in spec.
5538      * * degree_types: histogram by the
5539      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5540      *   "Bachelors", "Masters".
5541      * * job_level: histogram by the
5542      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5543      *   Level".
5544      * * country: histogram by the country code of jobs, for example, "US", "FR".
5545      * * admin1: histogram by the admin1 code of jobs, which is a global
5546      *   placeholder referring to the state, province, or the particular term a
5547      *   country uses to define the geographic structure below the country level,
5548      *   for example, "CA", "IL".
5549      * * city: histogram by a combination of the "city name, admin1 code". For
5550      *   example,  "Mountain View, CA", "New York, NY".
5551      * * admin1_country: histogram by a combination of the "admin1 code, country",
5552      *   for example, "CA, US", "IL, US".
5553      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5554      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5555      *   coordinates of a city center can change, customers may need to refresh
5556      *   them periodically.
5557      * * locale: histogram by the
5558      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5559      * "en-US",
5560      *   "fr-FR".
5561      * * language: histogram by the language subtag of the
5562      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5563      *   for example, "en", "fr".
5564      * * category: histogram by the
5565      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5566      *   "COMPUTER_AND_IT", "HEALTHCARE".
5567      * * base_compensation_unit: histogram by the
5568      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5569      *   of base salary, for example, "WEEKLY", "MONTHLY".
5570      * * base_compensation: histogram by the base salary. Must specify list of
5571      *   numeric buckets to group results by.
5572      * * annualized_base_compensation: histogram by the base annualized salary.
5573      *   Must specify list of numeric buckets to group results by.
5574      * * annualized_total_compensation: histogram by the total annualized salary.
5575      *   Must specify list of numeric buckets to group results by.
5576      * * string_custom_attribute: histogram by string
5577      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5578      *   Values can be accessed via square bracket notations like
5579      *   string_custom_attribute["key1"].
5580      * * numeric_custom_attribute: histogram by numeric
5581      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5582      *   Values can be accessed via square bracket notations like
5583      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5584      *   group results by.
5585      * Example expressions:
5586      * * `count(admin1)`
5587      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5588      * bucket(100000, MAX)])`
5589      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5590      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5591      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5592      * </pre>
5593      *
5594      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5595      */
addHistogramQueries(int index, com.google.cloud.talent.v4.HistogramQuery value)5596     public Builder addHistogramQueries(int index, com.google.cloud.talent.v4.HistogramQuery value) {
5597       if (histogramQueriesBuilder_ == null) {
5598         if (value == null) {
5599           throw new NullPointerException();
5600         }
5601         ensureHistogramQueriesIsMutable();
5602         histogramQueries_.add(index, value);
5603         onChanged();
5604       } else {
5605         histogramQueriesBuilder_.addMessage(index, value);
5606       }
5607       return this;
5608     }
5609     /**
5610      *
5611      *
5612      * <pre>
5613      * An expression specifies a histogram request against matching jobs.
5614      * Expression syntax is an aggregation function call with histogram facets and
5615      * other options.
5616      * Available aggregation function calls are:
5617      * * `count(string_histogram_facet)`: Count the number of matching entities,
5618      * for each distinct attribute value.
5619      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5620      * matching entities within each bucket.
5621      * A maximum of 200 histogram buckets are supported.
5622      * Data types:
5623      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5624      * * String: string like "any string with backslash escape for quote(&#92;")."
5625      * * Number: whole number and floating point number like 10, -1 and -0.01.
5626      * * List: list of elements with comma(,) separator surrounded by square
5627      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5628      * Built-in constants:
5629      * * MIN (minimum number similar to java Double.MIN_VALUE)
5630      * * MAX (maximum number similar to java Double.MAX_VALUE)
5631      * Built-in functions:
5632      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5633      * with range of [start, end). Note that the end is exclusive, for example,
5634      * bucket(1, MAX, "positive number") or bucket(1, 10).
5635      * Job histogram facets:
5636      * * company_display_name: histogram by
5637      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5638      * * employment_type: histogram by
5639      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5640      * example,
5641      *   "FULL_TIME", "PART_TIME".
5642      * * company_size (DEPRECATED): histogram by
5643      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5644      * "MEDIUM", "BIG".
5645      * * publish_time_in_day: histogram by the
5646      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5647      *   in days.
5648      *   Must specify list of numeric buckets in spec.
5649      * * publish_time_in_month: histogram by the
5650      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5651      *   in months.
5652      *   Must specify list of numeric buckets in spec.
5653      * * publish_time_in_year: histogram by the
5654      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5655      *   in years.
5656      *   Must specify list of numeric buckets in spec.
5657      * * degree_types: histogram by the
5658      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5659      *   "Bachelors", "Masters".
5660      * * job_level: histogram by the
5661      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5662      *   Level".
5663      * * country: histogram by the country code of jobs, for example, "US", "FR".
5664      * * admin1: histogram by the admin1 code of jobs, which is a global
5665      *   placeholder referring to the state, province, or the particular term a
5666      *   country uses to define the geographic structure below the country level,
5667      *   for example, "CA", "IL".
5668      * * city: histogram by a combination of the "city name, admin1 code". For
5669      *   example,  "Mountain View, CA", "New York, NY".
5670      * * admin1_country: histogram by a combination of the "admin1 code, country",
5671      *   for example, "CA, US", "IL, US".
5672      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5673      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5674      *   coordinates of a city center can change, customers may need to refresh
5675      *   them periodically.
5676      * * locale: histogram by the
5677      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5678      * "en-US",
5679      *   "fr-FR".
5680      * * language: histogram by the language subtag of the
5681      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5682      *   for example, "en", "fr".
5683      * * category: histogram by the
5684      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5685      *   "COMPUTER_AND_IT", "HEALTHCARE".
5686      * * base_compensation_unit: histogram by the
5687      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5688      *   of base salary, for example, "WEEKLY", "MONTHLY".
5689      * * base_compensation: histogram by the base salary. Must specify list of
5690      *   numeric buckets to group results by.
5691      * * annualized_base_compensation: histogram by the base annualized salary.
5692      *   Must specify list of numeric buckets to group results by.
5693      * * annualized_total_compensation: histogram by the total annualized salary.
5694      *   Must specify list of numeric buckets to group results by.
5695      * * string_custom_attribute: histogram by string
5696      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5697      *   Values can be accessed via square bracket notations like
5698      *   string_custom_attribute["key1"].
5699      * * numeric_custom_attribute: histogram by numeric
5700      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5701      *   Values can be accessed via square bracket notations like
5702      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5703      *   group results by.
5704      * Example expressions:
5705      * * `count(admin1)`
5706      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5707      * bucket(100000, MAX)])`
5708      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5709      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5710      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5711      * </pre>
5712      *
5713      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5714      */
addHistogramQueries( com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue)5715     public Builder addHistogramQueries(
5716         com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue) {
5717       if (histogramQueriesBuilder_ == null) {
5718         ensureHistogramQueriesIsMutable();
5719         histogramQueries_.add(builderForValue.build());
5720         onChanged();
5721       } else {
5722         histogramQueriesBuilder_.addMessage(builderForValue.build());
5723       }
5724       return this;
5725     }
5726     /**
5727      *
5728      *
5729      * <pre>
5730      * An expression specifies a histogram request against matching jobs.
5731      * Expression syntax is an aggregation function call with histogram facets and
5732      * other options.
5733      * Available aggregation function calls are:
5734      * * `count(string_histogram_facet)`: Count the number of matching entities,
5735      * for each distinct attribute value.
5736      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5737      * matching entities within each bucket.
5738      * A maximum of 200 histogram buckets are supported.
5739      * Data types:
5740      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5741      * * String: string like "any string with backslash escape for quote(&#92;")."
5742      * * Number: whole number and floating point number like 10, -1 and -0.01.
5743      * * List: list of elements with comma(,) separator surrounded by square
5744      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5745      * Built-in constants:
5746      * * MIN (minimum number similar to java Double.MIN_VALUE)
5747      * * MAX (maximum number similar to java Double.MAX_VALUE)
5748      * Built-in functions:
5749      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5750      * with range of [start, end). Note that the end is exclusive, for example,
5751      * bucket(1, MAX, "positive number") or bucket(1, 10).
5752      * Job histogram facets:
5753      * * company_display_name: histogram by
5754      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5755      * * employment_type: histogram by
5756      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5757      * example,
5758      *   "FULL_TIME", "PART_TIME".
5759      * * company_size (DEPRECATED): histogram by
5760      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5761      * "MEDIUM", "BIG".
5762      * * publish_time_in_day: histogram by the
5763      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5764      *   in days.
5765      *   Must specify list of numeric buckets in spec.
5766      * * publish_time_in_month: histogram by the
5767      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5768      *   in months.
5769      *   Must specify list of numeric buckets in spec.
5770      * * publish_time_in_year: histogram by the
5771      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5772      *   in years.
5773      *   Must specify list of numeric buckets in spec.
5774      * * degree_types: histogram by the
5775      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5776      *   "Bachelors", "Masters".
5777      * * job_level: histogram by the
5778      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5779      *   Level".
5780      * * country: histogram by the country code of jobs, for example, "US", "FR".
5781      * * admin1: histogram by the admin1 code of jobs, which is a global
5782      *   placeholder referring to the state, province, or the particular term a
5783      *   country uses to define the geographic structure below the country level,
5784      *   for example, "CA", "IL".
5785      * * city: histogram by a combination of the "city name, admin1 code". For
5786      *   example,  "Mountain View, CA", "New York, NY".
5787      * * admin1_country: histogram by a combination of the "admin1 code, country",
5788      *   for example, "CA, US", "IL, US".
5789      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5790      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5791      *   coordinates of a city center can change, customers may need to refresh
5792      *   them periodically.
5793      * * locale: histogram by the
5794      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5795      * "en-US",
5796      *   "fr-FR".
5797      * * language: histogram by the language subtag of the
5798      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5799      *   for example, "en", "fr".
5800      * * category: histogram by the
5801      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5802      *   "COMPUTER_AND_IT", "HEALTHCARE".
5803      * * base_compensation_unit: histogram by the
5804      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5805      *   of base salary, for example, "WEEKLY", "MONTHLY".
5806      * * base_compensation: histogram by the base salary. Must specify list of
5807      *   numeric buckets to group results by.
5808      * * annualized_base_compensation: histogram by the base annualized salary.
5809      *   Must specify list of numeric buckets to group results by.
5810      * * annualized_total_compensation: histogram by the total annualized salary.
5811      *   Must specify list of numeric buckets to group results by.
5812      * * string_custom_attribute: histogram by string
5813      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5814      *   Values can be accessed via square bracket notations like
5815      *   string_custom_attribute["key1"].
5816      * * numeric_custom_attribute: histogram by numeric
5817      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5818      *   Values can be accessed via square bracket notations like
5819      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5820      *   group results by.
5821      * Example expressions:
5822      * * `count(admin1)`
5823      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5824      * bucket(100000, MAX)])`
5825      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5826      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5827      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5828      * </pre>
5829      *
5830      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5831      */
addHistogramQueries( int index, com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue)5832     public Builder addHistogramQueries(
5833         int index, com.google.cloud.talent.v4.HistogramQuery.Builder builderForValue) {
5834       if (histogramQueriesBuilder_ == null) {
5835         ensureHistogramQueriesIsMutable();
5836         histogramQueries_.add(index, builderForValue.build());
5837         onChanged();
5838       } else {
5839         histogramQueriesBuilder_.addMessage(index, builderForValue.build());
5840       }
5841       return this;
5842     }
5843     /**
5844      *
5845      *
5846      * <pre>
5847      * An expression specifies a histogram request against matching jobs.
5848      * Expression syntax is an aggregation function call with histogram facets and
5849      * other options.
5850      * Available aggregation function calls are:
5851      * * `count(string_histogram_facet)`: Count the number of matching entities,
5852      * for each distinct attribute value.
5853      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5854      * matching entities within each bucket.
5855      * A maximum of 200 histogram buckets are supported.
5856      * Data types:
5857      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5858      * * String: string like "any string with backslash escape for quote(&#92;")."
5859      * * Number: whole number and floating point number like 10, -1 and -0.01.
5860      * * List: list of elements with comma(,) separator surrounded by square
5861      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5862      * Built-in constants:
5863      * * MIN (minimum number similar to java Double.MIN_VALUE)
5864      * * MAX (maximum number similar to java Double.MAX_VALUE)
5865      * Built-in functions:
5866      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5867      * with range of [start, end). Note that the end is exclusive, for example,
5868      * bucket(1, MAX, "positive number") or bucket(1, 10).
5869      * Job histogram facets:
5870      * * company_display_name: histogram by
5871      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5872      * * employment_type: histogram by
5873      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5874      * example,
5875      *   "FULL_TIME", "PART_TIME".
5876      * * company_size (DEPRECATED): histogram by
5877      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5878      * "MEDIUM", "BIG".
5879      * * publish_time_in_day: histogram by the
5880      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5881      *   in days.
5882      *   Must specify list of numeric buckets in spec.
5883      * * publish_time_in_month: histogram by the
5884      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5885      *   in months.
5886      *   Must specify list of numeric buckets in spec.
5887      * * publish_time_in_year: histogram by the
5888      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5889      *   in years.
5890      *   Must specify list of numeric buckets in spec.
5891      * * degree_types: histogram by the
5892      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
5893      *   "Bachelors", "Masters".
5894      * * job_level: histogram by the
5895      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
5896      *   Level".
5897      * * country: histogram by the country code of jobs, for example, "US", "FR".
5898      * * admin1: histogram by the admin1 code of jobs, which is a global
5899      *   placeholder referring to the state, province, or the particular term a
5900      *   country uses to define the geographic structure below the country level,
5901      *   for example, "CA", "IL".
5902      * * city: histogram by a combination of the "city name, admin1 code". For
5903      *   example,  "Mountain View, CA", "New York, NY".
5904      * * admin1_country: histogram by a combination of the "admin1 code, country",
5905      *   for example, "CA, US", "IL, US".
5906      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
5907      *   and longitude), for example, 37.4038522,-122.0987765. Since the
5908      *   coordinates of a city center can change, customers may need to refresh
5909      *   them periodically.
5910      * * locale: histogram by the
5911      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
5912      * "en-US",
5913      *   "fr-FR".
5914      * * language: histogram by the language subtag of the
5915      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
5916      *   for example, "en", "fr".
5917      * * category: histogram by the
5918      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
5919      *   "COMPUTER_AND_IT", "HEALTHCARE".
5920      * * base_compensation_unit: histogram by the
5921      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
5922      *   of base salary, for example, "WEEKLY", "MONTHLY".
5923      * * base_compensation: histogram by the base salary. Must specify list of
5924      *   numeric buckets to group results by.
5925      * * annualized_base_compensation: histogram by the base annualized salary.
5926      *   Must specify list of numeric buckets to group results by.
5927      * * annualized_total_compensation: histogram by the total annualized salary.
5928      *   Must specify list of numeric buckets to group results by.
5929      * * string_custom_attribute: histogram by string
5930      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5931      *   Values can be accessed via square bracket notations like
5932      *   string_custom_attribute["key1"].
5933      * * numeric_custom_attribute: histogram by numeric
5934      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
5935      *   Values can be accessed via square bracket notations like
5936      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
5937      *   group results by.
5938      * Example expressions:
5939      * * `count(admin1)`
5940      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
5941      * bucket(100000, MAX)])`
5942      * * `count(string_custom_attribute["some-string-custom-attribute"])`
5943      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
5944      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
5945      * </pre>
5946      *
5947      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
5948      */
addAllHistogramQueries( java.lang.Iterable<? extends com.google.cloud.talent.v4.HistogramQuery> values)5949     public Builder addAllHistogramQueries(
5950         java.lang.Iterable<? extends com.google.cloud.talent.v4.HistogramQuery> values) {
5951       if (histogramQueriesBuilder_ == null) {
5952         ensureHistogramQueriesIsMutable();
5953         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, histogramQueries_);
5954         onChanged();
5955       } else {
5956         histogramQueriesBuilder_.addAllMessages(values);
5957       }
5958       return this;
5959     }
5960     /**
5961      *
5962      *
5963      * <pre>
5964      * An expression specifies a histogram request against matching jobs.
5965      * Expression syntax is an aggregation function call with histogram facets and
5966      * other options.
5967      * Available aggregation function calls are:
5968      * * `count(string_histogram_facet)`: Count the number of matching entities,
5969      * for each distinct attribute value.
5970      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
5971      * matching entities within each bucket.
5972      * A maximum of 200 histogram buckets are supported.
5973      * Data types:
5974      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
5975      * * String: string like "any string with backslash escape for quote(&#92;")."
5976      * * Number: whole number and floating point number like 10, -1 and -0.01.
5977      * * List: list of elements with comma(,) separator surrounded by square
5978      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
5979      * Built-in constants:
5980      * * MIN (minimum number similar to java Double.MIN_VALUE)
5981      * * MAX (maximum number similar to java Double.MAX_VALUE)
5982      * Built-in functions:
5983      * * bucket(start, end[, label]): bucket built-in function creates a bucket
5984      * with range of [start, end). Note that the end is exclusive, for example,
5985      * bucket(1, MAX, "positive number") or bucket(1, 10).
5986      * Job histogram facets:
5987      * * company_display_name: histogram by
5988      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
5989      * * employment_type: histogram by
5990      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
5991      * example,
5992      *   "FULL_TIME", "PART_TIME".
5993      * * company_size (DEPRECATED): histogram by
5994      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
5995      * "MEDIUM", "BIG".
5996      * * publish_time_in_day: histogram by the
5997      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
5998      *   in days.
5999      *   Must specify list of numeric buckets in spec.
6000      * * publish_time_in_month: histogram by the
6001      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6002      *   in months.
6003      *   Must specify list of numeric buckets in spec.
6004      * * publish_time_in_year: histogram by the
6005      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6006      *   in years.
6007      *   Must specify list of numeric buckets in spec.
6008      * * degree_types: histogram by the
6009      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6010      *   "Bachelors", "Masters".
6011      * * job_level: histogram by the
6012      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6013      *   Level".
6014      * * country: histogram by the country code of jobs, for example, "US", "FR".
6015      * * admin1: histogram by the admin1 code of jobs, which is a global
6016      *   placeholder referring to the state, province, or the particular term a
6017      *   country uses to define the geographic structure below the country level,
6018      *   for example, "CA", "IL".
6019      * * city: histogram by a combination of the "city name, admin1 code". For
6020      *   example,  "Mountain View, CA", "New York, NY".
6021      * * admin1_country: histogram by a combination of the "admin1 code, country",
6022      *   for example, "CA, US", "IL, US".
6023      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6024      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6025      *   coordinates of a city center can change, customers may need to refresh
6026      *   them periodically.
6027      * * locale: histogram by the
6028      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6029      * "en-US",
6030      *   "fr-FR".
6031      * * language: histogram by the language subtag of the
6032      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6033      *   for example, "en", "fr".
6034      * * category: histogram by the
6035      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6036      *   "COMPUTER_AND_IT", "HEALTHCARE".
6037      * * base_compensation_unit: histogram by the
6038      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6039      *   of base salary, for example, "WEEKLY", "MONTHLY".
6040      * * base_compensation: histogram by the base salary. Must specify list of
6041      *   numeric buckets to group results by.
6042      * * annualized_base_compensation: histogram by the base annualized salary.
6043      *   Must specify list of numeric buckets to group results by.
6044      * * annualized_total_compensation: histogram by the total annualized salary.
6045      *   Must specify list of numeric buckets to group results by.
6046      * * string_custom_attribute: histogram by string
6047      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6048      *   Values can be accessed via square bracket notations like
6049      *   string_custom_attribute["key1"].
6050      * * numeric_custom_attribute: histogram by numeric
6051      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6052      *   Values can be accessed via square bracket notations like
6053      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6054      *   group results by.
6055      * Example expressions:
6056      * * `count(admin1)`
6057      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6058      * bucket(100000, MAX)])`
6059      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6060      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6061      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6062      * </pre>
6063      *
6064      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6065      */
clearHistogramQueries()6066     public Builder clearHistogramQueries() {
6067       if (histogramQueriesBuilder_ == null) {
6068         histogramQueries_ = java.util.Collections.emptyList();
6069         bitField0_ = (bitField0_ & ~0x00000020);
6070         onChanged();
6071       } else {
6072         histogramQueriesBuilder_.clear();
6073       }
6074       return this;
6075     }
6076     /**
6077      *
6078      *
6079      * <pre>
6080      * An expression specifies a histogram request against matching jobs.
6081      * Expression syntax is an aggregation function call with histogram facets and
6082      * other options.
6083      * Available aggregation function calls are:
6084      * * `count(string_histogram_facet)`: Count the number of matching entities,
6085      * for each distinct attribute value.
6086      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6087      * matching entities within each bucket.
6088      * A maximum of 200 histogram buckets are supported.
6089      * Data types:
6090      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6091      * * String: string like "any string with backslash escape for quote(&#92;")."
6092      * * Number: whole number and floating point number like 10, -1 and -0.01.
6093      * * List: list of elements with comma(,) separator surrounded by square
6094      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6095      * Built-in constants:
6096      * * MIN (minimum number similar to java Double.MIN_VALUE)
6097      * * MAX (maximum number similar to java Double.MAX_VALUE)
6098      * Built-in functions:
6099      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6100      * with range of [start, end). Note that the end is exclusive, for example,
6101      * bucket(1, MAX, "positive number") or bucket(1, 10).
6102      * Job histogram facets:
6103      * * company_display_name: histogram by
6104      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6105      * * employment_type: histogram by
6106      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6107      * example,
6108      *   "FULL_TIME", "PART_TIME".
6109      * * company_size (DEPRECATED): histogram by
6110      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6111      * "MEDIUM", "BIG".
6112      * * publish_time_in_day: histogram by the
6113      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6114      *   in days.
6115      *   Must specify list of numeric buckets in spec.
6116      * * publish_time_in_month: histogram by the
6117      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6118      *   in months.
6119      *   Must specify list of numeric buckets in spec.
6120      * * publish_time_in_year: histogram by the
6121      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6122      *   in years.
6123      *   Must specify list of numeric buckets in spec.
6124      * * degree_types: histogram by the
6125      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6126      *   "Bachelors", "Masters".
6127      * * job_level: histogram by the
6128      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6129      *   Level".
6130      * * country: histogram by the country code of jobs, for example, "US", "FR".
6131      * * admin1: histogram by the admin1 code of jobs, which is a global
6132      *   placeholder referring to the state, province, or the particular term a
6133      *   country uses to define the geographic structure below the country level,
6134      *   for example, "CA", "IL".
6135      * * city: histogram by a combination of the "city name, admin1 code". For
6136      *   example,  "Mountain View, CA", "New York, NY".
6137      * * admin1_country: histogram by a combination of the "admin1 code, country",
6138      *   for example, "CA, US", "IL, US".
6139      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6140      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6141      *   coordinates of a city center can change, customers may need to refresh
6142      *   them periodically.
6143      * * locale: histogram by the
6144      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6145      * "en-US",
6146      *   "fr-FR".
6147      * * language: histogram by the language subtag of the
6148      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6149      *   for example, "en", "fr".
6150      * * category: histogram by the
6151      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6152      *   "COMPUTER_AND_IT", "HEALTHCARE".
6153      * * base_compensation_unit: histogram by the
6154      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6155      *   of base salary, for example, "WEEKLY", "MONTHLY".
6156      * * base_compensation: histogram by the base salary. Must specify list of
6157      *   numeric buckets to group results by.
6158      * * annualized_base_compensation: histogram by the base annualized salary.
6159      *   Must specify list of numeric buckets to group results by.
6160      * * annualized_total_compensation: histogram by the total annualized salary.
6161      *   Must specify list of numeric buckets to group results by.
6162      * * string_custom_attribute: histogram by string
6163      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6164      *   Values can be accessed via square bracket notations like
6165      *   string_custom_attribute["key1"].
6166      * * numeric_custom_attribute: histogram by numeric
6167      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6168      *   Values can be accessed via square bracket notations like
6169      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6170      *   group results by.
6171      * Example expressions:
6172      * * `count(admin1)`
6173      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6174      * bucket(100000, MAX)])`
6175      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6176      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6177      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6178      * </pre>
6179      *
6180      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6181      */
removeHistogramQueries(int index)6182     public Builder removeHistogramQueries(int index) {
6183       if (histogramQueriesBuilder_ == null) {
6184         ensureHistogramQueriesIsMutable();
6185         histogramQueries_.remove(index);
6186         onChanged();
6187       } else {
6188         histogramQueriesBuilder_.remove(index);
6189       }
6190       return this;
6191     }
6192     /**
6193      *
6194      *
6195      * <pre>
6196      * An expression specifies a histogram request against matching jobs.
6197      * Expression syntax is an aggregation function call with histogram facets and
6198      * other options.
6199      * Available aggregation function calls are:
6200      * * `count(string_histogram_facet)`: Count the number of matching entities,
6201      * for each distinct attribute value.
6202      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6203      * matching entities within each bucket.
6204      * A maximum of 200 histogram buckets are supported.
6205      * Data types:
6206      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6207      * * String: string like "any string with backslash escape for quote(&#92;")."
6208      * * Number: whole number and floating point number like 10, -1 and -0.01.
6209      * * List: list of elements with comma(,) separator surrounded by square
6210      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6211      * Built-in constants:
6212      * * MIN (minimum number similar to java Double.MIN_VALUE)
6213      * * MAX (maximum number similar to java Double.MAX_VALUE)
6214      * Built-in functions:
6215      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6216      * with range of [start, end). Note that the end is exclusive, for example,
6217      * bucket(1, MAX, "positive number") or bucket(1, 10).
6218      * Job histogram facets:
6219      * * company_display_name: histogram by
6220      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6221      * * employment_type: histogram by
6222      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6223      * example,
6224      *   "FULL_TIME", "PART_TIME".
6225      * * company_size (DEPRECATED): histogram by
6226      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6227      * "MEDIUM", "BIG".
6228      * * publish_time_in_day: histogram by the
6229      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6230      *   in days.
6231      *   Must specify list of numeric buckets in spec.
6232      * * publish_time_in_month: histogram by the
6233      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6234      *   in months.
6235      *   Must specify list of numeric buckets in spec.
6236      * * publish_time_in_year: histogram by the
6237      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6238      *   in years.
6239      *   Must specify list of numeric buckets in spec.
6240      * * degree_types: histogram by the
6241      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6242      *   "Bachelors", "Masters".
6243      * * job_level: histogram by the
6244      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6245      *   Level".
6246      * * country: histogram by the country code of jobs, for example, "US", "FR".
6247      * * admin1: histogram by the admin1 code of jobs, which is a global
6248      *   placeholder referring to the state, province, or the particular term a
6249      *   country uses to define the geographic structure below the country level,
6250      *   for example, "CA", "IL".
6251      * * city: histogram by a combination of the "city name, admin1 code". For
6252      *   example,  "Mountain View, CA", "New York, NY".
6253      * * admin1_country: histogram by a combination of the "admin1 code, country",
6254      *   for example, "CA, US", "IL, US".
6255      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6256      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6257      *   coordinates of a city center can change, customers may need to refresh
6258      *   them periodically.
6259      * * locale: histogram by the
6260      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6261      * "en-US",
6262      *   "fr-FR".
6263      * * language: histogram by the language subtag of the
6264      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6265      *   for example, "en", "fr".
6266      * * category: histogram by the
6267      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6268      *   "COMPUTER_AND_IT", "HEALTHCARE".
6269      * * base_compensation_unit: histogram by the
6270      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6271      *   of base salary, for example, "WEEKLY", "MONTHLY".
6272      * * base_compensation: histogram by the base salary. Must specify list of
6273      *   numeric buckets to group results by.
6274      * * annualized_base_compensation: histogram by the base annualized salary.
6275      *   Must specify list of numeric buckets to group results by.
6276      * * annualized_total_compensation: histogram by the total annualized salary.
6277      *   Must specify list of numeric buckets to group results by.
6278      * * string_custom_attribute: histogram by string
6279      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6280      *   Values can be accessed via square bracket notations like
6281      *   string_custom_attribute["key1"].
6282      * * numeric_custom_attribute: histogram by numeric
6283      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6284      *   Values can be accessed via square bracket notations like
6285      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6286      *   group results by.
6287      * Example expressions:
6288      * * `count(admin1)`
6289      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6290      * bucket(100000, MAX)])`
6291      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6292      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6293      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6294      * </pre>
6295      *
6296      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6297      */
getHistogramQueriesBuilder(int index)6298     public com.google.cloud.talent.v4.HistogramQuery.Builder getHistogramQueriesBuilder(int index) {
6299       return getHistogramQueriesFieldBuilder().getBuilder(index);
6300     }
6301     /**
6302      *
6303      *
6304      * <pre>
6305      * An expression specifies a histogram request against matching jobs.
6306      * Expression syntax is an aggregation function call with histogram facets and
6307      * other options.
6308      * Available aggregation function calls are:
6309      * * `count(string_histogram_facet)`: Count the number of matching entities,
6310      * for each distinct attribute value.
6311      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6312      * matching entities within each bucket.
6313      * A maximum of 200 histogram buckets are supported.
6314      * Data types:
6315      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6316      * * String: string like "any string with backslash escape for quote(&#92;")."
6317      * * Number: whole number and floating point number like 10, -1 and -0.01.
6318      * * List: list of elements with comma(,) separator surrounded by square
6319      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6320      * Built-in constants:
6321      * * MIN (minimum number similar to java Double.MIN_VALUE)
6322      * * MAX (maximum number similar to java Double.MAX_VALUE)
6323      * Built-in functions:
6324      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6325      * with range of [start, end). Note that the end is exclusive, for example,
6326      * bucket(1, MAX, "positive number") or bucket(1, 10).
6327      * Job histogram facets:
6328      * * company_display_name: histogram by
6329      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6330      * * employment_type: histogram by
6331      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6332      * example,
6333      *   "FULL_TIME", "PART_TIME".
6334      * * company_size (DEPRECATED): histogram by
6335      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6336      * "MEDIUM", "BIG".
6337      * * publish_time_in_day: histogram by the
6338      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6339      *   in days.
6340      *   Must specify list of numeric buckets in spec.
6341      * * publish_time_in_month: histogram by the
6342      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6343      *   in months.
6344      *   Must specify list of numeric buckets in spec.
6345      * * publish_time_in_year: histogram by the
6346      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6347      *   in years.
6348      *   Must specify list of numeric buckets in spec.
6349      * * degree_types: histogram by the
6350      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6351      *   "Bachelors", "Masters".
6352      * * job_level: histogram by the
6353      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6354      *   Level".
6355      * * country: histogram by the country code of jobs, for example, "US", "FR".
6356      * * admin1: histogram by the admin1 code of jobs, which is a global
6357      *   placeholder referring to the state, province, or the particular term a
6358      *   country uses to define the geographic structure below the country level,
6359      *   for example, "CA", "IL".
6360      * * city: histogram by a combination of the "city name, admin1 code". For
6361      *   example,  "Mountain View, CA", "New York, NY".
6362      * * admin1_country: histogram by a combination of the "admin1 code, country",
6363      *   for example, "CA, US", "IL, US".
6364      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6365      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6366      *   coordinates of a city center can change, customers may need to refresh
6367      *   them periodically.
6368      * * locale: histogram by the
6369      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6370      * "en-US",
6371      *   "fr-FR".
6372      * * language: histogram by the language subtag of the
6373      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6374      *   for example, "en", "fr".
6375      * * category: histogram by the
6376      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6377      *   "COMPUTER_AND_IT", "HEALTHCARE".
6378      * * base_compensation_unit: histogram by the
6379      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6380      *   of base salary, for example, "WEEKLY", "MONTHLY".
6381      * * base_compensation: histogram by the base salary. Must specify list of
6382      *   numeric buckets to group results by.
6383      * * annualized_base_compensation: histogram by the base annualized salary.
6384      *   Must specify list of numeric buckets to group results by.
6385      * * annualized_total_compensation: histogram by the total annualized salary.
6386      *   Must specify list of numeric buckets to group results by.
6387      * * string_custom_attribute: histogram by string
6388      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6389      *   Values can be accessed via square bracket notations like
6390      *   string_custom_attribute["key1"].
6391      * * numeric_custom_attribute: histogram by numeric
6392      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6393      *   Values can be accessed via square bracket notations like
6394      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6395      *   group results by.
6396      * Example expressions:
6397      * * `count(admin1)`
6398      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6399      * bucket(100000, MAX)])`
6400      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6401      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6402      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6403      * </pre>
6404      *
6405      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6406      */
getHistogramQueriesOrBuilder( int index)6407     public com.google.cloud.talent.v4.HistogramQueryOrBuilder getHistogramQueriesOrBuilder(
6408         int index) {
6409       if (histogramQueriesBuilder_ == null) {
6410         return histogramQueries_.get(index);
6411       } else {
6412         return histogramQueriesBuilder_.getMessageOrBuilder(index);
6413       }
6414     }
6415     /**
6416      *
6417      *
6418      * <pre>
6419      * An expression specifies a histogram request against matching jobs.
6420      * Expression syntax is an aggregation function call with histogram facets and
6421      * other options.
6422      * Available aggregation function calls are:
6423      * * `count(string_histogram_facet)`: Count the number of matching entities,
6424      * for each distinct attribute value.
6425      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6426      * matching entities within each bucket.
6427      * A maximum of 200 histogram buckets are supported.
6428      * Data types:
6429      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6430      * * String: string like "any string with backslash escape for quote(&#92;")."
6431      * * Number: whole number and floating point number like 10, -1 and -0.01.
6432      * * List: list of elements with comma(,) separator surrounded by square
6433      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6434      * Built-in constants:
6435      * * MIN (minimum number similar to java Double.MIN_VALUE)
6436      * * MAX (maximum number similar to java Double.MAX_VALUE)
6437      * Built-in functions:
6438      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6439      * with range of [start, end). Note that the end is exclusive, for example,
6440      * bucket(1, MAX, "positive number") or bucket(1, 10).
6441      * Job histogram facets:
6442      * * company_display_name: histogram by
6443      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6444      * * employment_type: histogram by
6445      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6446      * example,
6447      *   "FULL_TIME", "PART_TIME".
6448      * * company_size (DEPRECATED): histogram by
6449      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6450      * "MEDIUM", "BIG".
6451      * * publish_time_in_day: histogram by the
6452      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6453      *   in days.
6454      *   Must specify list of numeric buckets in spec.
6455      * * publish_time_in_month: histogram by the
6456      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6457      *   in months.
6458      *   Must specify list of numeric buckets in spec.
6459      * * publish_time_in_year: histogram by the
6460      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6461      *   in years.
6462      *   Must specify list of numeric buckets in spec.
6463      * * degree_types: histogram by the
6464      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6465      *   "Bachelors", "Masters".
6466      * * job_level: histogram by the
6467      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6468      *   Level".
6469      * * country: histogram by the country code of jobs, for example, "US", "FR".
6470      * * admin1: histogram by the admin1 code of jobs, which is a global
6471      *   placeholder referring to the state, province, or the particular term a
6472      *   country uses to define the geographic structure below the country level,
6473      *   for example, "CA", "IL".
6474      * * city: histogram by a combination of the "city name, admin1 code". For
6475      *   example,  "Mountain View, CA", "New York, NY".
6476      * * admin1_country: histogram by a combination of the "admin1 code, country",
6477      *   for example, "CA, US", "IL, US".
6478      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6479      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6480      *   coordinates of a city center can change, customers may need to refresh
6481      *   them periodically.
6482      * * locale: histogram by the
6483      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6484      * "en-US",
6485      *   "fr-FR".
6486      * * language: histogram by the language subtag of the
6487      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6488      *   for example, "en", "fr".
6489      * * category: histogram by the
6490      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6491      *   "COMPUTER_AND_IT", "HEALTHCARE".
6492      * * base_compensation_unit: histogram by the
6493      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6494      *   of base salary, for example, "WEEKLY", "MONTHLY".
6495      * * base_compensation: histogram by the base salary. Must specify list of
6496      *   numeric buckets to group results by.
6497      * * annualized_base_compensation: histogram by the base annualized salary.
6498      *   Must specify list of numeric buckets to group results by.
6499      * * annualized_total_compensation: histogram by the total annualized salary.
6500      *   Must specify list of numeric buckets to group results by.
6501      * * string_custom_attribute: histogram by string
6502      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6503      *   Values can be accessed via square bracket notations like
6504      *   string_custom_attribute["key1"].
6505      * * numeric_custom_attribute: histogram by numeric
6506      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6507      *   Values can be accessed via square bracket notations like
6508      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6509      *   group results by.
6510      * Example expressions:
6511      * * `count(admin1)`
6512      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6513      * bucket(100000, MAX)])`
6514      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6515      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6516      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6517      * </pre>
6518      *
6519      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6520      */
6521     public java.util.List<? extends com.google.cloud.talent.v4.HistogramQueryOrBuilder>
getHistogramQueriesOrBuilderList()6522         getHistogramQueriesOrBuilderList() {
6523       if (histogramQueriesBuilder_ != null) {
6524         return histogramQueriesBuilder_.getMessageOrBuilderList();
6525       } else {
6526         return java.util.Collections.unmodifiableList(histogramQueries_);
6527       }
6528     }
6529     /**
6530      *
6531      *
6532      * <pre>
6533      * An expression specifies a histogram request against matching jobs.
6534      * Expression syntax is an aggregation function call with histogram facets and
6535      * other options.
6536      * Available aggregation function calls are:
6537      * * `count(string_histogram_facet)`: Count the number of matching entities,
6538      * for each distinct attribute value.
6539      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6540      * matching entities within each bucket.
6541      * A maximum of 200 histogram buckets are supported.
6542      * Data types:
6543      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6544      * * String: string like "any string with backslash escape for quote(&#92;")."
6545      * * Number: whole number and floating point number like 10, -1 and -0.01.
6546      * * List: list of elements with comma(,) separator surrounded by square
6547      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6548      * Built-in constants:
6549      * * MIN (minimum number similar to java Double.MIN_VALUE)
6550      * * MAX (maximum number similar to java Double.MAX_VALUE)
6551      * Built-in functions:
6552      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6553      * with range of [start, end). Note that the end is exclusive, for example,
6554      * bucket(1, MAX, "positive number") or bucket(1, 10).
6555      * Job histogram facets:
6556      * * company_display_name: histogram by
6557      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6558      * * employment_type: histogram by
6559      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6560      * example,
6561      *   "FULL_TIME", "PART_TIME".
6562      * * company_size (DEPRECATED): histogram by
6563      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6564      * "MEDIUM", "BIG".
6565      * * publish_time_in_day: histogram by the
6566      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6567      *   in days.
6568      *   Must specify list of numeric buckets in spec.
6569      * * publish_time_in_month: histogram by the
6570      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6571      *   in months.
6572      *   Must specify list of numeric buckets in spec.
6573      * * publish_time_in_year: histogram by the
6574      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6575      *   in years.
6576      *   Must specify list of numeric buckets in spec.
6577      * * degree_types: histogram by the
6578      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6579      *   "Bachelors", "Masters".
6580      * * job_level: histogram by the
6581      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6582      *   Level".
6583      * * country: histogram by the country code of jobs, for example, "US", "FR".
6584      * * admin1: histogram by the admin1 code of jobs, which is a global
6585      *   placeholder referring to the state, province, or the particular term a
6586      *   country uses to define the geographic structure below the country level,
6587      *   for example, "CA", "IL".
6588      * * city: histogram by a combination of the "city name, admin1 code". For
6589      *   example,  "Mountain View, CA", "New York, NY".
6590      * * admin1_country: histogram by a combination of the "admin1 code, country",
6591      *   for example, "CA, US", "IL, US".
6592      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6593      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6594      *   coordinates of a city center can change, customers may need to refresh
6595      *   them periodically.
6596      * * locale: histogram by the
6597      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6598      * "en-US",
6599      *   "fr-FR".
6600      * * language: histogram by the language subtag of the
6601      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6602      *   for example, "en", "fr".
6603      * * category: histogram by the
6604      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6605      *   "COMPUTER_AND_IT", "HEALTHCARE".
6606      * * base_compensation_unit: histogram by the
6607      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6608      *   of base salary, for example, "WEEKLY", "MONTHLY".
6609      * * base_compensation: histogram by the base salary. Must specify list of
6610      *   numeric buckets to group results by.
6611      * * annualized_base_compensation: histogram by the base annualized salary.
6612      *   Must specify list of numeric buckets to group results by.
6613      * * annualized_total_compensation: histogram by the total annualized salary.
6614      *   Must specify list of numeric buckets to group results by.
6615      * * string_custom_attribute: histogram by string
6616      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6617      *   Values can be accessed via square bracket notations like
6618      *   string_custom_attribute["key1"].
6619      * * numeric_custom_attribute: histogram by numeric
6620      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6621      *   Values can be accessed via square bracket notations like
6622      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6623      *   group results by.
6624      * Example expressions:
6625      * * `count(admin1)`
6626      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6627      * bucket(100000, MAX)])`
6628      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6629      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6630      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6631      * </pre>
6632      *
6633      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6634      */
addHistogramQueriesBuilder()6635     public com.google.cloud.talent.v4.HistogramQuery.Builder addHistogramQueriesBuilder() {
6636       return getHistogramQueriesFieldBuilder()
6637           .addBuilder(com.google.cloud.talent.v4.HistogramQuery.getDefaultInstance());
6638     }
6639     /**
6640      *
6641      *
6642      * <pre>
6643      * An expression specifies a histogram request against matching jobs.
6644      * Expression syntax is an aggregation function call with histogram facets and
6645      * other options.
6646      * Available aggregation function calls are:
6647      * * `count(string_histogram_facet)`: Count the number of matching entities,
6648      * for each distinct attribute value.
6649      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6650      * matching entities within each bucket.
6651      * A maximum of 200 histogram buckets are supported.
6652      * Data types:
6653      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6654      * * String: string like "any string with backslash escape for quote(&#92;")."
6655      * * Number: whole number and floating point number like 10, -1 and -0.01.
6656      * * List: list of elements with comma(,) separator surrounded by square
6657      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6658      * Built-in constants:
6659      * * MIN (minimum number similar to java Double.MIN_VALUE)
6660      * * MAX (maximum number similar to java Double.MAX_VALUE)
6661      * Built-in functions:
6662      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6663      * with range of [start, end). Note that the end is exclusive, for example,
6664      * bucket(1, MAX, "positive number") or bucket(1, 10).
6665      * Job histogram facets:
6666      * * company_display_name: histogram by
6667      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6668      * * employment_type: histogram by
6669      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6670      * example,
6671      *   "FULL_TIME", "PART_TIME".
6672      * * company_size (DEPRECATED): histogram by
6673      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6674      * "MEDIUM", "BIG".
6675      * * publish_time_in_day: histogram by the
6676      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6677      *   in days.
6678      *   Must specify list of numeric buckets in spec.
6679      * * publish_time_in_month: histogram by the
6680      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6681      *   in months.
6682      *   Must specify list of numeric buckets in spec.
6683      * * publish_time_in_year: histogram by the
6684      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6685      *   in years.
6686      *   Must specify list of numeric buckets in spec.
6687      * * degree_types: histogram by the
6688      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6689      *   "Bachelors", "Masters".
6690      * * job_level: histogram by the
6691      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6692      *   Level".
6693      * * country: histogram by the country code of jobs, for example, "US", "FR".
6694      * * admin1: histogram by the admin1 code of jobs, which is a global
6695      *   placeholder referring to the state, province, or the particular term a
6696      *   country uses to define the geographic structure below the country level,
6697      *   for example, "CA", "IL".
6698      * * city: histogram by a combination of the "city name, admin1 code". For
6699      *   example,  "Mountain View, CA", "New York, NY".
6700      * * admin1_country: histogram by a combination of the "admin1 code, country",
6701      *   for example, "CA, US", "IL, US".
6702      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6703      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6704      *   coordinates of a city center can change, customers may need to refresh
6705      *   them periodically.
6706      * * locale: histogram by the
6707      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6708      * "en-US",
6709      *   "fr-FR".
6710      * * language: histogram by the language subtag of the
6711      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6712      *   for example, "en", "fr".
6713      * * category: histogram by the
6714      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6715      *   "COMPUTER_AND_IT", "HEALTHCARE".
6716      * * base_compensation_unit: histogram by the
6717      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6718      *   of base salary, for example, "WEEKLY", "MONTHLY".
6719      * * base_compensation: histogram by the base salary. Must specify list of
6720      *   numeric buckets to group results by.
6721      * * annualized_base_compensation: histogram by the base annualized salary.
6722      *   Must specify list of numeric buckets to group results by.
6723      * * annualized_total_compensation: histogram by the total annualized salary.
6724      *   Must specify list of numeric buckets to group results by.
6725      * * string_custom_attribute: histogram by string
6726      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6727      *   Values can be accessed via square bracket notations like
6728      *   string_custom_attribute["key1"].
6729      * * numeric_custom_attribute: histogram by numeric
6730      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6731      *   Values can be accessed via square bracket notations like
6732      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6733      *   group results by.
6734      * Example expressions:
6735      * * `count(admin1)`
6736      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6737      * bucket(100000, MAX)])`
6738      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6739      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6740      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6741      * </pre>
6742      *
6743      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6744      */
addHistogramQueriesBuilder(int index)6745     public com.google.cloud.talent.v4.HistogramQuery.Builder addHistogramQueriesBuilder(int index) {
6746       return getHistogramQueriesFieldBuilder()
6747           .addBuilder(index, com.google.cloud.talent.v4.HistogramQuery.getDefaultInstance());
6748     }
6749     /**
6750      *
6751      *
6752      * <pre>
6753      * An expression specifies a histogram request against matching jobs.
6754      * Expression syntax is an aggregation function call with histogram facets and
6755      * other options.
6756      * Available aggregation function calls are:
6757      * * `count(string_histogram_facet)`: Count the number of matching entities,
6758      * for each distinct attribute value.
6759      * * `count(numeric_histogram_facet, list of buckets)`: Count the number of
6760      * matching entities within each bucket.
6761      * A maximum of 200 histogram buckets are supported.
6762      * Data types:
6763      * * Histogram facet: facet names with format `[a-zA-Z][a-zA-Z0-9_]+`.
6764      * * String: string like "any string with backslash escape for quote(&#92;")."
6765      * * Number: whole number and floating point number like 10, -1 and -0.01.
6766      * * List: list of elements with comma(,) separator surrounded by square
6767      * brackets, for example, [1, 2, 3] and ["one", "two", "three"].
6768      * Built-in constants:
6769      * * MIN (minimum number similar to java Double.MIN_VALUE)
6770      * * MAX (maximum number similar to java Double.MAX_VALUE)
6771      * Built-in functions:
6772      * * bucket(start, end[, label]): bucket built-in function creates a bucket
6773      * with range of [start, end). Note that the end is exclusive, for example,
6774      * bucket(1, MAX, "positive number") or bucket(1, 10).
6775      * Job histogram facets:
6776      * * company_display_name: histogram by
6777      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name].
6778      * * employment_type: histogram by
6779      * [Job.employment_types][google.cloud.talent.v4.Job.employment_types], for
6780      * example,
6781      *   "FULL_TIME", "PART_TIME".
6782      * * company_size (DEPRECATED): histogram by
6783      * [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL",
6784      * "MEDIUM", "BIG".
6785      * * publish_time_in_day: histogram by the
6786      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6787      *   in days.
6788      *   Must specify list of numeric buckets in spec.
6789      * * publish_time_in_month: histogram by the
6790      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6791      *   in months.
6792      *   Must specify list of numeric buckets in spec.
6793      * * publish_time_in_year: histogram by the
6794      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
6795      *   in years.
6796      *   Must specify list of numeric buckets in spec.
6797      * * degree_types: histogram by the
6798      * [Job.degree_types][google.cloud.talent.v4.Job.degree_types], for example,
6799      *   "Bachelors", "Masters".
6800      * * job_level: histogram by the
6801      * [Job.job_level][google.cloud.talent.v4.Job.job_level], for example, "Entry
6802      *   Level".
6803      * * country: histogram by the country code of jobs, for example, "US", "FR".
6804      * * admin1: histogram by the admin1 code of jobs, which is a global
6805      *   placeholder referring to the state, province, or the particular term a
6806      *   country uses to define the geographic structure below the country level,
6807      *   for example, "CA", "IL".
6808      * * city: histogram by a combination of the "city name, admin1 code". For
6809      *   example,  "Mountain View, CA", "New York, NY".
6810      * * admin1_country: histogram by a combination of the "admin1 code, country",
6811      *   for example, "CA, US", "IL, US".
6812      * * city_coordinate: histogram by the city center's GPS coordinates (latitude
6813      *   and longitude), for example, 37.4038522,-122.0987765. Since the
6814      *   coordinates of a city center can change, customers may need to refresh
6815      *   them periodically.
6816      * * locale: histogram by the
6817      * [Job.language_code][google.cloud.talent.v4.Job.language_code], for example,
6818      * "en-US",
6819      *   "fr-FR".
6820      * * language: histogram by the language subtag of the
6821      * [Job.language_code][google.cloud.talent.v4.Job.language_code],
6822      *   for example, "en", "fr".
6823      * * category: histogram by the
6824      * [JobCategory][google.cloud.talent.v4.JobCategory], for example,
6825      *   "COMPUTER_AND_IT", "HEALTHCARE".
6826      * * base_compensation_unit: histogram by the
6827      *   [CompensationInfo.CompensationUnit][google.cloud.talent.v4.CompensationInfo.CompensationUnit]
6828      *   of base salary, for example, "WEEKLY", "MONTHLY".
6829      * * base_compensation: histogram by the base salary. Must specify list of
6830      *   numeric buckets to group results by.
6831      * * annualized_base_compensation: histogram by the base annualized salary.
6832      *   Must specify list of numeric buckets to group results by.
6833      * * annualized_total_compensation: histogram by the total annualized salary.
6834      *   Must specify list of numeric buckets to group results by.
6835      * * string_custom_attribute: histogram by string
6836      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6837      *   Values can be accessed via square bracket notations like
6838      *   string_custom_attribute["key1"].
6839      * * numeric_custom_attribute: histogram by numeric
6840      * [Job.custom_attributes][google.cloud.talent.v4.Job.custom_attributes].
6841      *   Values can be accessed via square bracket notations like
6842      *   numeric_custom_attribute["key1"]. Must specify list of numeric buckets to
6843      *   group results by.
6844      * Example expressions:
6845      * * `count(admin1)`
6846      * * `count(base_compensation, [bucket(1000, 10000), bucket(10000, 100000),
6847      * bucket(100000, MAX)])`
6848      * * `count(string_custom_attribute["some-string-custom-attribute"])`
6849      * * `count(numeric_custom_attribute["some-numeric-custom-attribute"],
6850      *   [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])`
6851      * </pre>
6852      *
6853      * <code>repeated .google.cloud.talent.v4.HistogramQuery histogram_queries = 7;</code>
6854      */
6855     public java.util.List<com.google.cloud.talent.v4.HistogramQuery.Builder>
getHistogramQueriesBuilderList()6856         getHistogramQueriesBuilderList() {
6857       return getHistogramQueriesFieldBuilder().getBuilderList();
6858     }
6859 
6860     private com.google.protobuf.RepeatedFieldBuilderV3<
6861             com.google.cloud.talent.v4.HistogramQuery,
6862             com.google.cloud.talent.v4.HistogramQuery.Builder,
6863             com.google.cloud.talent.v4.HistogramQueryOrBuilder>
getHistogramQueriesFieldBuilder()6864         getHistogramQueriesFieldBuilder() {
6865       if (histogramQueriesBuilder_ == null) {
6866         histogramQueriesBuilder_ =
6867             new com.google.protobuf.RepeatedFieldBuilderV3<
6868                 com.google.cloud.talent.v4.HistogramQuery,
6869                 com.google.cloud.talent.v4.HistogramQuery.Builder,
6870                 com.google.cloud.talent.v4.HistogramQueryOrBuilder>(
6871                 histogramQueries_,
6872                 ((bitField0_ & 0x00000020) != 0),
6873                 getParentForChildren(),
6874                 isClean());
6875         histogramQueries_ = null;
6876       }
6877       return histogramQueriesBuilder_;
6878     }
6879 
6880     private int jobView_ = 0;
6881     /**
6882      *
6883      *
6884      * <pre>
6885      * The desired job attributes returned for jobs in the search response.
6886      * Defaults to
6887      * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
6888      * no value is specified.
6889      * </pre>
6890      *
6891      * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
6892      *
6893      * @return The enum numeric value on the wire for jobView.
6894      */
6895     @java.lang.Override
getJobViewValue()6896     public int getJobViewValue() {
6897       return jobView_;
6898     }
6899     /**
6900      *
6901      *
6902      * <pre>
6903      * The desired job attributes returned for jobs in the search response.
6904      * Defaults to
6905      * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
6906      * no value is specified.
6907      * </pre>
6908      *
6909      * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
6910      *
6911      * @param value The enum numeric value on the wire for jobView to set.
6912      * @return This builder for chaining.
6913      */
setJobViewValue(int value)6914     public Builder setJobViewValue(int value) {
6915       jobView_ = value;
6916       bitField0_ |= 0x00000040;
6917       onChanged();
6918       return this;
6919     }
6920     /**
6921      *
6922      *
6923      * <pre>
6924      * The desired job attributes returned for jobs in the search response.
6925      * Defaults to
6926      * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
6927      * no value is specified.
6928      * </pre>
6929      *
6930      * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
6931      *
6932      * @return The jobView.
6933      */
6934     @java.lang.Override
getJobView()6935     public com.google.cloud.talent.v4.JobView getJobView() {
6936       com.google.cloud.talent.v4.JobView result =
6937           com.google.cloud.talent.v4.JobView.forNumber(jobView_);
6938       return result == null ? com.google.cloud.talent.v4.JobView.UNRECOGNIZED : result;
6939     }
6940     /**
6941      *
6942      *
6943      * <pre>
6944      * The desired job attributes returned for jobs in the search response.
6945      * Defaults to
6946      * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
6947      * no value is specified.
6948      * </pre>
6949      *
6950      * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
6951      *
6952      * @param value The jobView to set.
6953      * @return This builder for chaining.
6954      */
setJobView(com.google.cloud.talent.v4.JobView value)6955     public Builder setJobView(com.google.cloud.talent.v4.JobView value) {
6956       if (value == null) {
6957         throw new NullPointerException();
6958       }
6959       bitField0_ |= 0x00000040;
6960       jobView_ = value.getNumber();
6961       onChanged();
6962       return this;
6963     }
6964     /**
6965      *
6966      *
6967      * <pre>
6968      * The desired job attributes returned for jobs in the search response.
6969      * Defaults to
6970      * [JobView.JOB_VIEW_SMALL][google.cloud.talent.v4.JobView.JOB_VIEW_SMALL] if
6971      * no value is specified.
6972      * </pre>
6973      *
6974      * <code>.google.cloud.talent.v4.JobView job_view = 8;</code>
6975      *
6976      * @return This builder for chaining.
6977      */
clearJobView()6978     public Builder clearJobView() {
6979       bitField0_ = (bitField0_ & ~0x00000040);
6980       jobView_ = 0;
6981       onChanged();
6982       return this;
6983     }
6984 
6985     private int offset_;
6986     /**
6987      *
6988      *
6989      * <pre>
6990      * An integer that specifies the current offset (that is, starting result
6991      * location, amongst the jobs deemed by the API as relevant) in search
6992      * results. This field is only considered if
6993      * [page_token][google.cloud.talent.v4.SearchJobsRequest.page_token] is unset.
6994      * The maximum allowed value is 5000. Otherwise an error is thrown.
6995      * For example, 0 means to  return results starting from the first matching
6996      * job, and 10 means to return from the 11th job. This can be used for
6997      * pagination, (for example, pageSize = 10 and offset = 10 means to return
6998      * from the second page).
6999      * </pre>
7000      *
7001      * <code>int32 offset = 9;</code>
7002      *
7003      * @return The offset.
7004      */
7005     @java.lang.Override
getOffset()7006     public int getOffset() {
7007       return offset_;
7008     }
7009     /**
7010      *
7011      *
7012      * <pre>
7013      * An integer that specifies the current offset (that is, starting result
7014      * location, amongst the jobs deemed by the API as relevant) in search
7015      * results. This field is only considered if
7016      * [page_token][google.cloud.talent.v4.SearchJobsRequest.page_token] is unset.
7017      * The maximum allowed value is 5000. Otherwise an error is thrown.
7018      * For example, 0 means to  return results starting from the first matching
7019      * job, and 10 means to return from the 11th job. This can be used for
7020      * pagination, (for example, pageSize = 10 and offset = 10 means to return
7021      * from the second page).
7022      * </pre>
7023      *
7024      * <code>int32 offset = 9;</code>
7025      *
7026      * @param value The offset to set.
7027      * @return This builder for chaining.
7028      */
setOffset(int value)7029     public Builder setOffset(int value) {
7030 
7031       offset_ = value;
7032       bitField0_ |= 0x00000080;
7033       onChanged();
7034       return this;
7035     }
7036     /**
7037      *
7038      *
7039      * <pre>
7040      * An integer that specifies the current offset (that is, starting result
7041      * location, amongst the jobs deemed by the API as relevant) in search
7042      * results. This field is only considered if
7043      * [page_token][google.cloud.talent.v4.SearchJobsRequest.page_token] is unset.
7044      * The maximum allowed value is 5000. Otherwise an error is thrown.
7045      * For example, 0 means to  return results starting from the first matching
7046      * job, and 10 means to return from the 11th job. This can be used for
7047      * pagination, (for example, pageSize = 10 and offset = 10 means to return
7048      * from the second page).
7049      * </pre>
7050      *
7051      * <code>int32 offset = 9;</code>
7052      *
7053      * @return This builder for chaining.
7054      */
clearOffset()7055     public Builder clearOffset() {
7056       bitField0_ = (bitField0_ & ~0x00000080);
7057       offset_ = 0;
7058       onChanged();
7059       return this;
7060     }
7061 
7062     private int maxPageSize_;
7063     /**
7064      *
7065      *
7066      * <pre>
7067      * A limit on the number of jobs returned in the search results.
7068      * Increasing this value above the default value of 10 can increase search
7069      * response time. The value can be between 1 and 100.
7070      * </pre>
7071      *
7072      * <code>int32 max_page_size = 10;</code>
7073      *
7074      * @return The maxPageSize.
7075      */
7076     @java.lang.Override
getMaxPageSize()7077     public int getMaxPageSize() {
7078       return maxPageSize_;
7079     }
7080     /**
7081      *
7082      *
7083      * <pre>
7084      * A limit on the number of jobs returned in the search results.
7085      * Increasing this value above the default value of 10 can increase search
7086      * response time. The value can be between 1 and 100.
7087      * </pre>
7088      *
7089      * <code>int32 max_page_size = 10;</code>
7090      *
7091      * @param value The maxPageSize to set.
7092      * @return This builder for chaining.
7093      */
setMaxPageSize(int value)7094     public Builder setMaxPageSize(int value) {
7095 
7096       maxPageSize_ = value;
7097       bitField0_ |= 0x00000100;
7098       onChanged();
7099       return this;
7100     }
7101     /**
7102      *
7103      *
7104      * <pre>
7105      * A limit on the number of jobs returned in the search results.
7106      * Increasing this value above the default value of 10 can increase search
7107      * response time. The value can be between 1 and 100.
7108      * </pre>
7109      *
7110      * <code>int32 max_page_size = 10;</code>
7111      *
7112      * @return This builder for chaining.
7113      */
clearMaxPageSize()7114     public Builder clearMaxPageSize() {
7115       bitField0_ = (bitField0_ & ~0x00000100);
7116       maxPageSize_ = 0;
7117       onChanged();
7118       return this;
7119     }
7120 
7121     private java.lang.Object pageToken_ = "";
7122     /**
7123      *
7124      *
7125      * <pre>
7126      * The token specifying the current offset within
7127      * search results. See
7128      * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
7129      * for an explanation of how to obtain the next set of query results.
7130      * </pre>
7131      *
7132      * <code>string page_token = 11;</code>
7133      *
7134      * @return The pageToken.
7135      */
getPageToken()7136     public java.lang.String getPageToken() {
7137       java.lang.Object ref = pageToken_;
7138       if (!(ref instanceof java.lang.String)) {
7139         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7140         java.lang.String s = bs.toStringUtf8();
7141         pageToken_ = s;
7142         return s;
7143       } else {
7144         return (java.lang.String) ref;
7145       }
7146     }
7147     /**
7148      *
7149      *
7150      * <pre>
7151      * The token specifying the current offset within
7152      * search results. See
7153      * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
7154      * for an explanation of how to obtain the next set of query results.
7155      * </pre>
7156      *
7157      * <code>string page_token = 11;</code>
7158      *
7159      * @return The bytes for pageToken.
7160      */
getPageTokenBytes()7161     public com.google.protobuf.ByteString getPageTokenBytes() {
7162       java.lang.Object ref = pageToken_;
7163       if (ref instanceof String) {
7164         com.google.protobuf.ByteString b =
7165             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7166         pageToken_ = b;
7167         return b;
7168       } else {
7169         return (com.google.protobuf.ByteString) ref;
7170       }
7171     }
7172     /**
7173      *
7174      *
7175      * <pre>
7176      * The token specifying the current offset within
7177      * search results. See
7178      * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
7179      * for an explanation of how to obtain the next set of query results.
7180      * </pre>
7181      *
7182      * <code>string page_token = 11;</code>
7183      *
7184      * @param value The pageToken to set.
7185      * @return This builder for chaining.
7186      */
setPageToken(java.lang.String value)7187     public Builder setPageToken(java.lang.String value) {
7188       if (value == null) {
7189         throw new NullPointerException();
7190       }
7191       pageToken_ = value;
7192       bitField0_ |= 0x00000200;
7193       onChanged();
7194       return this;
7195     }
7196     /**
7197      *
7198      *
7199      * <pre>
7200      * The token specifying the current offset within
7201      * search results. See
7202      * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
7203      * for an explanation of how to obtain the next set of query results.
7204      * </pre>
7205      *
7206      * <code>string page_token = 11;</code>
7207      *
7208      * @return This builder for chaining.
7209      */
clearPageToken()7210     public Builder clearPageToken() {
7211       pageToken_ = getDefaultInstance().getPageToken();
7212       bitField0_ = (bitField0_ & ~0x00000200);
7213       onChanged();
7214       return this;
7215     }
7216     /**
7217      *
7218      *
7219      * <pre>
7220      * The token specifying the current offset within
7221      * search results. See
7222      * [SearchJobsResponse.next_page_token][google.cloud.talent.v4.SearchJobsResponse.next_page_token]
7223      * for an explanation of how to obtain the next set of query results.
7224      * </pre>
7225      *
7226      * <code>string page_token = 11;</code>
7227      *
7228      * @param value The bytes for pageToken to set.
7229      * @return This builder for chaining.
7230      */
setPageTokenBytes(com.google.protobuf.ByteString value)7231     public Builder setPageTokenBytes(com.google.protobuf.ByteString value) {
7232       if (value == null) {
7233         throw new NullPointerException();
7234       }
7235       checkByteStringIsUtf8(value);
7236       pageToken_ = value;
7237       bitField0_ |= 0x00000200;
7238       onChanged();
7239       return this;
7240     }
7241 
7242     private java.lang.Object orderBy_ = "";
7243     /**
7244      *
7245      *
7246      * <pre>
7247      * The criteria determining how search results are sorted. Default is
7248      * `"relevance desc"`.
7249      * Supported options are:
7250      * * `"relevance desc"`: By relevance descending, as determined by the API
7251      *   algorithms. Relevance thresholding of query results is only available
7252      *   with this ordering.
7253      * * `"posting_publish_time desc"`: By
7254      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
7255      *   descending.
7256      * * `"posting_update_time desc"`: By
7257      * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
7258      *   descending.
7259      * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
7260      * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
7261      * descending.
7262      * * `"annualized_base_compensation"`: By job's
7263      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7264      *   ascending. Jobs whose annualized base compensation is unspecified are put
7265      *   at the end of search results.
7266      * * `"annualized_base_compensation desc"`: By job's
7267      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7268      *   descending. Jobs whose annualized base compensation is unspecified are
7269      *   put at the end of search results.
7270      * * `"annualized_total_compensation"`: By job's
7271      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7272      *   ascending. Jobs whose annualized base compensation is unspecified are put
7273      *   at the end of search results.
7274      * * `"annualized_total_compensation desc"`: By job's
7275      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7276      *   descending. Jobs whose annualized base compensation is unspecified are
7277      *   put at the end of search results.
7278      * * `"custom_ranking desc"`: By the relevance score adjusted to the
7279      *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
7280      *   with weight factor assigned by
7281      *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
7282      *   in descending order.
7283      * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
7284      *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
7285      *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
7286      *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
7287      *   multiple locations. See details below.&lt;br&gt;
7288      *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
7289      *   multiple locations. See details below.&lt;br&gt;
7290      *   The string can have a maximum of 256 characters. When multiple distance
7291      *   centers are provided, a job that is close to any of the distance centers
7292      *   would have a high rank. When a job has multiple locations, the job
7293      *   location closest to one of the distance centers will be used. Jobs that
7294      *   don't have locations will be ranked at the bottom. Distance is calculated
7295      *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
7296      *   still applied unless explicitly disabled in
7297      *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
7298      * </pre>
7299      *
7300      * <code>string order_by = 12;</code>
7301      *
7302      * @return The orderBy.
7303      */
getOrderBy()7304     public java.lang.String getOrderBy() {
7305       java.lang.Object ref = orderBy_;
7306       if (!(ref instanceof java.lang.String)) {
7307         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7308         java.lang.String s = bs.toStringUtf8();
7309         orderBy_ = s;
7310         return s;
7311       } else {
7312         return (java.lang.String) ref;
7313       }
7314     }
7315     /**
7316      *
7317      *
7318      * <pre>
7319      * The criteria determining how search results are sorted. Default is
7320      * `"relevance desc"`.
7321      * Supported options are:
7322      * * `"relevance desc"`: By relevance descending, as determined by the API
7323      *   algorithms. Relevance thresholding of query results is only available
7324      *   with this ordering.
7325      * * `"posting_publish_time desc"`: By
7326      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
7327      *   descending.
7328      * * `"posting_update_time desc"`: By
7329      * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
7330      *   descending.
7331      * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
7332      * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
7333      * descending.
7334      * * `"annualized_base_compensation"`: By job's
7335      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7336      *   ascending. Jobs whose annualized base compensation is unspecified are put
7337      *   at the end of search results.
7338      * * `"annualized_base_compensation desc"`: By job's
7339      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7340      *   descending. Jobs whose annualized base compensation is unspecified are
7341      *   put at the end of search results.
7342      * * `"annualized_total_compensation"`: By job's
7343      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7344      *   ascending. Jobs whose annualized base compensation is unspecified are put
7345      *   at the end of search results.
7346      * * `"annualized_total_compensation desc"`: By job's
7347      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7348      *   descending. Jobs whose annualized base compensation is unspecified are
7349      *   put at the end of search results.
7350      * * `"custom_ranking desc"`: By the relevance score adjusted to the
7351      *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
7352      *   with weight factor assigned by
7353      *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
7354      *   in descending order.
7355      * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
7356      *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
7357      *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
7358      *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
7359      *   multiple locations. See details below.&lt;br&gt;
7360      *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
7361      *   multiple locations. See details below.&lt;br&gt;
7362      *   The string can have a maximum of 256 characters. When multiple distance
7363      *   centers are provided, a job that is close to any of the distance centers
7364      *   would have a high rank. When a job has multiple locations, the job
7365      *   location closest to one of the distance centers will be used. Jobs that
7366      *   don't have locations will be ranked at the bottom. Distance is calculated
7367      *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
7368      *   still applied unless explicitly disabled in
7369      *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
7370      * </pre>
7371      *
7372      * <code>string order_by = 12;</code>
7373      *
7374      * @return The bytes for orderBy.
7375      */
getOrderByBytes()7376     public com.google.protobuf.ByteString getOrderByBytes() {
7377       java.lang.Object ref = orderBy_;
7378       if (ref instanceof String) {
7379         com.google.protobuf.ByteString b =
7380             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7381         orderBy_ = b;
7382         return b;
7383       } else {
7384         return (com.google.protobuf.ByteString) ref;
7385       }
7386     }
7387     /**
7388      *
7389      *
7390      * <pre>
7391      * The criteria determining how search results are sorted. Default is
7392      * `"relevance desc"`.
7393      * Supported options are:
7394      * * `"relevance desc"`: By relevance descending, as determined by the API
7395      *   algorithms. Relevance thresholding of query results is only available
7396      *   with this ordering.
7397      * * `"posting_publish_time desc"`: By
7398      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
7399      *   descending.
7400      * * `"posting_update_time desc"`: By
7401      * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
7402      *   descending.
7403      * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
7404      * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
7405      * descending.
7406      * * `"annualized_base_compensation"`: By job's
7407      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7408      *   ascending. Jobs whose annualized base compensation is unspecified are put
7409      *   at the end of search results.
7410      * * `"annualized_base_compensation desc"`: By job's
7411      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7412      *   descending. Jobs whose annualized base compensation is unspecified are
7413      *   put at the end of search results.
7414      * * `"annualized_total_compensation"`: By job's
7415      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7416      *   ascending. Jobs whose annualized base compensation is unspecified are put
7417      *   at the end of search results.
7418      * * `"annualized_total_compensation desc"`: By job's
7419      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7420      *   descending. Jobs whose annualized base compensation is unspecified are
7421      *   put at the end of search results.
7422      * * `"custom_ranking desc"`: By the relevance score adjusted to the
7423      *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
7424      *   with weight factor assigned by
7425      *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
7426      *   in descending order.
7427      * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
7428      *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
7429      *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
7430      *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
7431      *   multiple locations. See details below.&lt;br&gt;
7432      *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
7433      *   multiple locations. See details below.&lt;br&gt;
7434      *   The string can have a maximum of 256 characters. When multiple distance
7435      *   centers are provided, a job that is close to any of the distance centers
7436      *   would have a high rank. When a job has multiple locations, the job
7437      *   location closest to one of the distance centers will be used. Jobs that
7438      *   don't have locations will be ranked at the bottom. Distance is calculated
7439      *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
7440      *   still applied unless explicitly disabled in
7441      *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
7442      * </pre>
7443      *
7444      * <code>string order_by = 12;</code>
7445      *
7446      * @param value The orderBy to set.
7447      * @return This builder for chaining.
7448      */
setOrderBy(java.lang.String value)7449     public Builder setOrderBy(java.lang.String value) {
7450       if (value == null) {
7451         throw new NullPointerException();
7452       }
7453       orderBy_ = value;
7454       bitField0_ |= 0x00000400;
7455       onChanged();
7456       return this;
7457     }
7458     /**
7459      *
7460      *
7461      * <pre>
7462      * The criteria determining how search results are sorted. Default is
7463      * `"relevance desc"`.
7464      * Supported options are:
7465      * * `"relevance desc"`: By relevance descending, as determined by the API
7466      *   algorithms. Relevance thresholding of query results is only available
7467      *   with this ordering.
7468      * * `"posting_publish_time desc"`: By
7469      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
7470      *   descending.
7471      * * `"posting_update_time desc"`: By
7472      * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
7473      *   descending.
7474      * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
7475      * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
7476      * descending.
7477      * * `"annualized_base_compensation"`: By job's
7478      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7479      *   ascending. Jobs whose annualized base compensation is unspecified are put
7480      *   at the end of search results.
7481      * * `"annualized_base_compensation desc"`: By job's
7482      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7483      *   descending. Jobs whose annualized base compensation is unspecified are
7484      *   put at the end of search results.
7485      * * `"annualized_total_compensation"`: By job's
7486      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7487      *   ascending. Jobs whose annualized base compensation is unspecified are put
7488      *   at the end of search results.
7489      * * `"annualized_total_compensation desc"`: By job's
7490      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7491      *   descending. Jobs whose annualized base compensation is unspecified are
7492      *   put at the end of search results.
7493      * * `"custom_ranking desc"`: By the relevance score adjusted to the
7494      *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
7495      *   with weight factor assigned by
7496      *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
7497      *   in descending order.
7498      * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
7499      *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
7500      *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
7501      *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
7502      *   multiple locations. See details below.&lt;br&gt;
7503      *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
7504      *   multiple locations. See details below.&lt;br&gt;
7505      *   The string can have a maximum of 256 characters. When multiple distance
7506      *   centers are provided, a job that is close to any of the distance centers
7507      *   would have a high rank. When a job has multiple locations, the job
7508      *   location closest to one of the distance centers will be used. Jobs that
7509      *   don't have locations will be ranked at the bottom. Distance is calculated
7510      *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
7511      *   still applied unless explicitly disabled in
7512      *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
7513      * </pre>
7514      *
7515      * <code>string order_by = 12;</code>
7516      *
7517      * @return This builder for chaining.
7518      */
clearOrderBy()7519     public Builder clearOrderBy() {
7520       orderBy_ = getDefaultInstance().getOrderBy();
7521       bitField0_ = (bitField0_ & ~0x00000400);
7522       onChanged();
7523       return this;
7524     }
7525     /**
7526      *
7527      *
7528      * <pre>
7529      * The criteria determining how search results are sorted. Default is
7530      * `"relevance desc"`.
7531      * Supported options are:
7532      * * `"relevance desc"`: By relevance descending, as determined by the API
7533      *   algorithms. Relevance thresholding of query results is only available
7534      *   with this ordering.
7535      * * `"posting_publish_time desc"`: By
7536      * [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
7537      *   descending.
7538      * * `"posting_update_time desc"`: By
7539      * [Job.posting_update_time][google.cloud.talent.v4.Job.posting_update_time]
7540      *   descending.
7541      * * `"title"`: By [Job.title][google.cloud.talent.v4.Job.title] ascending.
7542      * * `"title desc"`: By [Job.title][google.cloud.talent.v4.Job.title]
7543      * descending.
7544      * * `"annualized_base_compensation"`: By job's
7545      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7546      *   ascending. Jobs whose annualized base compensation is unspecified are put
7547      *   at the end of search results.
7548      * * `"annualized_base_compensation desc"`: By job's
7549      *   [CompensationInfo.annualized_base_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_base_compensation_range]
7550      *   descending. Jobs whose annualized base compensation is unspecified are
7551      *   put at the end of search results.
7552      * * `"annualized_total_compensation"`: By job's
7553      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7554      *   ascending. Jobs whose annualized base compensation is unspecified are put
7555      *   at the end of search results.
7556      * * `"annualized_total_compensation desc"`: By job's
7557      *   [CompensationInfo.annualized_total_compensation_range][google.cloud.talent.v4.CompensationInfo.annualized_total_compensation_range]
7558      *   descending. Jobs whose annualized base compensation is unspecified are
7559      *   put at the end of search results.
7560      * * `"custom_ranking desc"`: By the relevance score adjusted to the
7561      *   [SearchJobsRequest.CustomRankingInfo.ranking_expression][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.ranking_expression]
7562      *   with weight factor assigned by
7563      *   [SearchJobsRequest.CustomRankingInfo.importance_level][google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.importance_level]
7564      *   in descending order.
7565      * * Location sorting: Use the special syntax to order jobs by distance:&lt;br&gt;
7566      *   `"distance_from('Hawaii')"`: Order by distance from Hawaii.&lt;br&gt;
7567      *   `"distance_from(19.89, 155.5)"`: Order by distance from a coordinate.&lt;br&gt;
7568      *   `"distance_from('Hawaii'), distance_from('Puerto Rico')"`: Order by
7569      *   multiple locations. See details below.&lt;br&gt;
7570      *   `"distance_from('Hawaii'), distance_from(19.89, 155.5)"`: Order by
7571      *   multiple locations. See details below.&lt;br&gt;
7572      *   The string can have a maximum of 256 characters. When multiple distance
7573      *   centers are provided, a job that is close to any of the distance centers
7574      *   would have a high rank. When a job has multiple locations, the job
7575      *   location closest to one of the distance centers will be used. Jobs that
7576      *   don't have locations will be ranked at the bottom. Distance is calculated
7577      *   with a precision of 11.3 meters (37.4 feet). Diversification strategy is
7578      *   still applied unless explicitly disabled in
7579      *   [diversification_level][google.cloud.talent.v4.SearchJobsRequest.diversification_level].
7580      * </pre>
7581      *
7582      * <code>string order_by = 12;</code>
7583      *
7584      * @param value The bytes for orderBy to set.
7585      * @return This builder for chaining.
7586      */
setOrderByBytes(com.google.protobuf.ByteString value)7587     public Builder setOrderByBytes(com.google.protobuf.ByteString value) {
7588       if (value == null) {
7589         throw new NullPointerException();
7590       }
7591       checkByteStringIsUtf8(value);
7592       orderBy_ = value;
7593       bitField0_ |= 0x00000400;
7594       onChanged();
7595       return this;
7596     }
7597 
7598     private int diversificationLevel_ = 0;
7599     /**
7600      *
7601      *
7602      * <pre>
7603      * Controls whether highly similar jobs are returned next to each other in
7604      * the search results. Jobs are identified as highly similar based on
7605      * their titles, job categories, and locations. Highly similar results are
7606      * clustered so that only one representative job of the cluster is
7607      * displayed to the job seeker higher up in the results, with the other jobs
7608      * being displayed lower down in the results.
7609      * Defaults to
7610      * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
7611      * if no value is specified.
7612      * </pre>
7613      *
7614      * <code>
7615      * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
7616      * </code>
7617      *
7618      * @return The enum numeric value on the wire for diversificationLevel.
7619      */
7620     @java.lang.Override
getDiversificationLevelValue()7621     public int getDiversificationLevelValue() {
7622       return diversificationLevel_;
7623     }
7624     /**
7625      *
7626      *
7627      * <pre>
7628      * Controls whether highly similar jobs are returned next to each other in
7629      * the search results. Jobs are identified as highly similar based on
7630      * their titles, job categories, and locations. Highly similar results are
7631      * clustered so that only one representative job of the cluster is
7632      * displayed to the job seeker higher up in the results, with the other jobs
7633      * being displayed lower down in the results.
7634      * Defaults to
7635      * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
7636      * if no value is specified.
7637      * </pre>
7638      *
7639      * <code>
7640      * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
7641      * </code>
7642      *
7643      * @param value The enum numeric value on the wire for diversificationLevel to set.
7644      * @return This builder for chaining.
7645      */
setDiversificationLevelValue(int value)7646     public Builder setDiversificationLevelValue(int value) {
7647       diversificationLevel_ = value;
7648       bitField0_ |= 0x00000800;
7649       onChanged();
7650       return this;
7651     }
7652     /**
7653      *
7654      *
7655      * <pre>
7656      * Controls whether highly similar jobs are returned next to each other in
7657      * the search results. Jobs are identified as highly similar based on
7658      * their titles, job categories, and locations. Highly similar results are
7659      * clustered so that only one representative job of the cluster is
7660      * displayed to the job seeker higher up in the results, with the other jobs
7661      * being displayed lower down in the results.
7662      * Defaults to
7663      * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
7664      * if no value is specified.
7665      * </pre>
7666      *
7667      * <code>
7668      * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
7669      * </code>
7670      *
7671      * @return The diversificationLevel.
7672      */
7673     @java.lang.Override
7674     public com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel
getDiversificationLevel()7675         getDiversificationLevel() {
7676       com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel result =
7677           com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.forNumber(
7678               diversificationLevel_);
7679       return result == null
7680           ? com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.UNRECOGNIZED
7681           : result;
7682     }
7683     /**
7684      *
7685      *
7686      * <pre>
7687      * Controls whether highly similar jobs are returned next to each other in
7688      * the search results. Jobs are identified as highly similar based on
7689      * their titles, job categories, and locations. Highly similar results are
7690      * clustered so that only one representative job of the cluster is
7691      * displayed to the job seeker higher up in the results, with the other jobs
7692      * being displayed lower down in the results.
7693      * Defaults to
7694      * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
7695      * if no value is specified.
7696      * </pre>
7697      *
7698      * <code>
7699      * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
7700      * </code>
7701      *
7702      * @param value The diversificationLevel to set.
7703      * @return This builder for chaining.
7704      */
setDiversificationLevel( com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel value)7705     public Builder setDiversificationLevel(
7706         com.google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel value) {
7707       if (value == null) {
7708         throw new NullPointerException();
7709       }
7710       bitField0_ |= 0x00000800;
7711       diversificationLevel_ = value.getNumber();
7712       onChanged();
7713       return this;
7714     }
7715     /**
7716      *
7717      *
7718      * <pre>
7719      * Controls whether highly similar jobs are returned next to each other in
7720      * the search results. Jobs are identified as highly similar based on
7721      * their titles, job categories, and locations. Highly similar results are
7722      * clustered so that only one representative job of the cluster is
7723      * displayed to the job seeker higher up in the results, with the other jobs
7724      * being displayed lower down in the results.
7725      * Defaults to
7726      * [DiversificationLevel.SIMPLE][google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel.SIMPLE]
7727      * if no value is specified.
7728      * </pre>
7729      *
7730      * <code>
7731      * .google.cloud.talent.v4.SearchJobsRequest.DiversificationLevel diversification_level = 13;
7732      * </code>
7733      *
7734      * @return This builder for chaining.
7735      */
clearDiversificationLevel()7736     public Builder clearDiversificationLevel() {
7737       bitField0_ = (bitField0_ & ~0x00000800);
7738       diversificationLevel_ = 0;
7739       onChanged();
7740       return this;
7741     }
7742 
7743     private com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo customRankingInfo_;
7744     private com.google.protobuf.SingleFieldBuilderV3<
7745             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo,
7746             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder,
7747             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder>
7748         customRankingInfoBuilder_;
7749     /**
7750      *
7751      *
7752      * <pre>
7753      * Controls over how job documents get ranked on top of existing relevance
7754      * score (determined by API algorithm).
7755      * </pre>
7756      *
7757      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7758      * </code>
7759      *
7760      * @return Whether the customRankingInfo field is set.
7761      */
hasCustomRankingInfo()7762     public boolean hasCustomRankingInfo() {
7763       return ((bitField0_ & 0x00001000) != 0);
7764     }
7765     /**
7766      *
7767      *
7768      * <pre>
7769      * Controls over how job documents get ranked on top of existing relevance
7770      * score (determined by API algorithm).
7771      * </pre>
7772      *
7773      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7774      * </code>
7775      *
7776      * @return The customRankingInfo.
7777      */
getCustomRankingInfo()7778     public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo getCustomRankingInfo() {
7779       if (customRankingInfoBuilder_ == null) {
7780         return customRankingInfo_ == null
7781             ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance()
7782             : customRankingInfo_;
7783       } else {
7784         return customRankingInfoBuilder_.getMessage();
7785       }
7786     }
7787     /**
7788      *
7789      *
7790      * <pre>
7791      * Controls over how job documents get ranked on top of existing relevance
7792      * score (determined by API algorithm).
7793      * </pre>
7794      *
7795      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7796      * </code>
7797      */
setCustomRankingInfo( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo value)7798     public Builder setCustomRankingInfo(
7799         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo value) {
7800       if (customRankingInfoBuilder_ == null) {
7801         if (value == null) {
7802           throw new NullPointerException();
7803         }
7804         customRankingInfo_ = value;
7805       } else {
7806         customRankingInfoBuilder_.setMessage(value);
7807       }
7808       bitField0_ |= 0x00001000;
7809       onChanged();
7810       return this;
7811     }
7812     /**
7813      *
7814      *
7815      * <pre>
7816      * Controls over how job documents get ranked on top of existing relevance
7817      * score (determined by API algorithm).
7818      * </pre>
7819      *
7820      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7821      * </code>
7822      */
setCustomRankingInfo( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder builderForValue)7823     public Builder setCustomRankingInfo(
7824         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder builderForValue) {
7825       if (customRankingInfoBuilder_ == null) {
7826         customRankingInfo_ = builderForValue.build();
7827       } else {
7828         customRankingInfoBuilder_.setMessage(builderForValue.build());
7829       }
7830       bitField0_ |= 0x00001000;
7831       onChanged();
7832       return this;
7833     }
7834     /**
7835      *
7836      *
7837      * <pre>
7838      * Controls over how job documents get ranked on top of existing relevance
7839      * score (determined by API algorithm).
7840      * </pre>
7841      *
7842      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7843      * </code>
7844      */
mergeCustomRankingInfo( com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo value)7845     public Builder mergeCustomRankingInfo(
7846         com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo value) {
7847       if (customRankingInfoBuilder_ == null) {
7848         if (((bitField0_ & 0x00001000) != 0)
7849             && customRankingInfo_ != null
7850             && customRankingInfo_
7851                 != com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo
7852                     .getDefaultInstance()) {
7853           getCustomRankingInfoBuilder().mergeFrom(value);
7854         } else {
7855           customRankingInfo_ = value;
7856         }
7857       } else {
7858         customRankingInfoBuilder_.mergeFrom(value);
7859       }
7860       bitField0_ |= 0x00001000;
7861       onChanged();
7862       return this;
7863     }
7864     /**
7865      *
7866      *
7867      * <pre>
7868      * Controls over how job documents get ranked on top of existing relevance
7869      * score (determined by API algorithm).
7870      * </pre>
7871      *
7872      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7873      * </code>
7874      */
clearCustomRankingInfo()7875     public Builder clearCustomRankingInfo() {
7876       bitField0_ = (bitField0_ & ~0x00001000);
7877       customRankingInfo_ = null;
7878       if (customRankingInfoBuilder_ != null) {
7879         customRankingInfoBuilder_.dispose();
7880         customRankingInfoBuilder_ = null;
7881       }
7882       onChanged();
7883       return this;
7884     }
7885     /**
7886      *
7887      *
7888      * <pre>
7889      * Controls over how job documents get ranked on top of existing relevance
7890      * score (determined by API algorithm).
7891      * </pre>
7892      *
7893      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7894      * </code>
7895      */
7896     public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder
getCustomRankingInfoBuilder()7897         getCustomRankingInfoBuilder() {
7898       bitField0_ |= 0x00001000;
7899       onChanged();
7900       return getCustomRankingInfoFieldBuilder().getBuilder();
7901     }
7902     /**
7903      *
7904      *
7905      * <pre>
7906      * Controls over how job documents get ranked on top of existing relevance
7907      * score (determined by API algorithm).
7908      * </pre>
7909      *
7910      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7911      * </code>
7912      */
7913     public com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder
getCustomRankingInfoOrBuilder()7914         getCustomRankingInfoOrBuilder() {
7915       if (customRankingInfoBuilder_ != null) {
7916         return customRankingInfoBuilder_.getMessageOrBuilder();
7917       } else {
7918         return customRankingInfo_ == null
7919             ? com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.getDefaultInstance()
7920             : customRankingInfo_;
7921       }
7922     }
7923     /**
7924      *
7925      *
7926      * <pre>
7927      * Controls over how job documents get ranked on top of existing relevance
7928      * score (determined by API algorithm).
7929      * </pre>
7930      *
7931      * <code>.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo custom_ranking_info = 14;
7932      * </code>
7933      */
7934     private com.google.protobuf.SingleFieldBuilderV3<
7935             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo,
7936             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder,
7937             com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder>
getCustomRankingInfoFieldBuilder()7938         getCustomRankingInfoFieldBuilder() {
7939       if (customRankingInfoBuilder_ == null) {
7940         customRankingInfoBuilder_ =
7941             new com.google.protobuf.SingleFieldBuilderV3<
7942                 com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo,
7943                 com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfo.Builder,
7944                 com.google.cloud.talent.v4.SearchJobsRequest.CustomRankingInfoOrBuilder>(
7945                 getCustomRankingInfo(), getParentForChildren(), isClean());
7946         customRankingInfo_ = null;
7947       }
7948       return customRankingInfoBuilder_;
7949     }
7950 
7951     private boolean disableKeywordMatch_;
7952     /**
7953      *
7954      *
7955      * <pre>
7956      * This field is deprecated. Please use
7957      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
7958      * going forward.
7959      * To migrate, disable_keyword_match set to false maps to
7960      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL],
7961      * and disable_keyword_match set to true maps to
7962      * [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED].
7963      * If
7964      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
7965      * is set, this field is ignored.
7966      * Controls whether to disable exact keyword match on
7967      * [Job.title][google.cloud.talent.v4.Job.title],
7968      * [Job.description][google.cloud.talent.v4.Job.description],
7969      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
7970      * [Job.addresses][google.cloud.talent.v4.Job.addresses],
7971      * [Job.qualifications][google.cloud.talent.v4.Job.qualifications]. When
7972      * disable keyword match is turned off, a keyword match returns jobs that do
7973      * not match given category filters when there are matching keywords. For
7974      * example, for the query "program manager," a result is returned even if the
7975      * job posting has the title "software developer," which doesn't fall into
7976      * "program manager" ontology, but does have "program manager" appearing in
7977      * its description.
7978      * For queries like "cloud" that don't contain title or
7979      * location specific ontology, jobs with "cloud" keyword matches are returned
7980      * regardless of this flag's value.
7981      * Use
7982      * [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes]
7983      * if company-specific globally matched custom field/attribute string values
7984      * are needed. Enabling keyword match improves recall of subsequent search
7985      * requests.
7986      * Defaults to false.
7987      * </pre>
7988      *
7989      * <code>bool disable_keyword_match = 16 [deprecated = true];</code>
7990      *
7991      * @deprecated google.cloud.talent.v4.SearchJobsRequest.disable_keyword_match is deprecated. See
7992      *     google/cloud/talent/v4/job_service.proto;l=799
7993      * @return The disableKeywordMatch.
7994      */
7995     @java.lang.Override
7996     @java.lang.Deprecated
getDisableKeywordMatch()7997     public boolean getDisableKeywordMatch() {
7998       return disableKeywordMatch_;
7999     }
8000     /**
8001      *
8002      *
8003      * <pre>
8004      * This field is deprecated. Please use
8005      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
8006      * going forward.
8007      * To migrate, disable_keyword_match set to false maps to
8008      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL],
8009      * and disable_keyword_match set to true maps to
8010      * [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED].
8011      * If
8012      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
8013      * is set, this field is ignored.
8014      * Controls whether to disable exact keyword match on
8015      * [Job.title][google.cloud.talent.v4.Job.title],
8016      * [Job.description][google.cloud.talent.v4.Job.description],
8017      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
8018      * [Job.addresses][google.cloud.talent.v4.Job.addresses],
8019      * [Job.qualifications][google.cloud.talent.v4.Job.qualifications]. When
8020      * disable keyword match is turned off, a keyword match returns jobs that do
8021      * not match given category filters when there are matching keywords. For
8022      * example, for the query "program manager," a result is returned even if the
8023      * job posting has the title "software developer," which doesn't fall into
8024      * "program manager" ontology, but does have "program manager" appearing in
8025      * its description.
8026      * For queries like "cloud" that don't contain title or
8027      * location specific ontology, jobs with "cloud" keyword matches are returned
8028      * regardless of this flag's value.
8029      * Use
8030      * [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes]
8031      * if company-specific globally matched custom field/attribute string values
8032      * are needed. Enabling keyword match improves recall of subsequent search
8033      * requests.
8034      * Defaults to false.
8035      * </pre>
8036      *
8037      * <code>bool disable_keyword_match = 16 [deprecated = true];</code>
8038      *
8039      * @deprecated google.cloud.talent.v4.SearchJobsRequest.disable_keyword_match is deprecated. See
8040      *     google/cloud/talent/v4/job_service.proto;l=799
8041      * @param value The disableKeywordMatch to set.
8042      * @return This builder for chaining.
8043      */
8044     @java.lang.Deprecated
setDisableKeywordMatch(boolean value)8045     public Builder setDisableKeywordMatch(boolean value) {
8046 
8047       disableKeywordMatch_ = value;
8048       bitField0_ |= 0x00002000;
8049       onChanged();
8050       return this;
8051     }
8052     /**
8053      *
8054      *
8055      * <pre>
8056      * This field is deprecated. Please use
8057      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
8058      * going forward.
8059      * To migrate, disable_keyword_match set to false maps to
8060      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL],
8061      * and disable_keyword_match set to true maps to
8062      * [KeywordMatchMode.KEYWORD_MATCH_DISABLED][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_DISABLED].
8063      * If
8064      * [SearchJobsRequest.keyword_match_mode][google.cloud.talent.v4.SearchJobsRequest.keyword_match_mode]
8065      * is set, this field is ignored.
8066      * Controls whether to disable exact keyword match on
8067      * [Job.title][google.cloud.talent.v4.Job.title],
8068      * [Job.description][google.cloud.talent.v4.Job.description],
8069      * [Job.company_display_name][google.cloud.talent.v4.Job.company_display_name],
8070      * [Job.addresses][google.cloud.talent.v4.Job.addresses],
8071      * [Job.qualifications][google.cloud.talent.v4.Job.qualifications]. When
8072      * disable keyword match is turned off, a keyword match returns jobs that do
8073      * not match given category filters when there are matching keywords. For
8074      * example, for the query "program manager," a result is returned even if the
8075      * job posting has the title "software developer," which doesn't fall into
8076      * "program manager" ontology, but does have "program manager" appearing in
8077      * its description.
8078      * For queries like "cloud" that don't contain title or
8079      * location specific ontology, jobs with "cloud" keyword matches are returned
8080      * regardless of this flag's value.
8081      * Use
8082      * [Company.keyword_searchable_job_custom_attributes][google.cloud.talent.v4.Company.keyword_searchable_job_custom_attributes]
8083      * if company-specific globally matched custom field/attribute string values
8084      * are needed. Enabling keyword match improves recall of subsequent search
8085      * requests.
8086      * Defaults to false.
8087      * </pre>
8088      *
8089      * <code>bool disable_keyword_match = 16 [deprecated = true];</code>
8090      *
8091      * @deprecated google.cloud.talent.v4.SearchJobsRequest.disable_keyword_match is deprecated. See
8092      *     google/cloud/talent/v4/job_service.proto;l=799
8093      * @return This builder for chaining.
8094      */
8095     @java.lang.Deprecated
clearDisableKeywordMatch()8096     public Builder clearDisableKeywordMatch() {
8097       bitField0_ = (bitField0_ & ~0x00002000);
8098       disableKeywordMatch_ = false;
8099       onChanged();
8100       return this;
8101     }
8102 
8103     private int keywordMatchMode_ = 0;
8104     /**
8105      *
8106      *
8107      * <pre>
8108      * Controls what keyword match options to use. If both keyword_match_mode and
8109      * disable_keyword_match are set, keyword_match_mode will take precedence.
8110      * Defaults to
8111      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
8112      * if no value is specified.
8113      * </pre>
8114      *
8115      * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
8116      * </code>
8117      *
8118      * @return The enum numeric value on the wire for keywordMatchMode.
8119      */
8120     @java.lang.Override
getKeywordMatchModeValue()8121     public int getKeywordMatchModeValue() {
8122       return keywordMatchMode_;
8123     }
8124     /**
8125      *
8126      *
8127      * <pre>
8128      * Controls what keyword match options to use. If both keyword_match_mode and
8129      * disable_keyword_match are set, keyword_match_mode will take precedence.
8130      * Defaults to
8131      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
8132      * if no value is specified.
8133      * </pre>
8134      *
8135      * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
8136      * </code>
8137      *
8138      * @param value The enum numeric value on the wire for keywordMatchMode to set.
8139      * @return This builder for chaining.
8140      */
setKeywordMatchModeValue(int value)8141     public Builder setKeywordMatchModeValue(int value) {
8142       keywordMatchMode_ = value;
8143       bitField0_ |= 0x00004000;
8144       onChanged();
8145       return this;
8146     }
8147     /**
8148      *
8149      *
8150      * <pre>
8151      * Controls what keyword match options to use. If both keyword_match_mode and
8152      * disable_keyword_match are set, keyword_match_mode will take precedence.
8153      * Defaults to
8154      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
8155      * if no value is specified.
8156      * </pre>
8157      *
8158      * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
8159      * </code>
8160      *
8161      * @return The keywordMatchMode.
8162      */
8163     @java.lang.Override
getKeywordMatchMode()8164     public com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode getKeywordMatchMode() {
8165       com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode result =
8166           com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.forNumber(
8167               keywordMatchMode_);
8168       return result == null
8169           ? com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.UNRECOGNIZED
8170           : result;
8171     }
8172     /**
8173      *
8174      *
8175      * <pre>
8176      * Controls what keyword match options to use. If both keyword_match_mode and
8177      * disable_keyword_match are set, keyword_match_mode will take precedence.
8178      * Defaults to
8179      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
8180      * if no value is specified.
8181      * </pre>
8182      *
8183      * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
8184      * </code>
8185      *
8186      * @param value The keywordMatchMode to set.
8187      * @return This builder for chaining.
8188      */
setKeywordMatchMode( com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode value)8189     public Builder setKeywordMatchMode(
8190         com.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode value) {
8191       if (value == null) {
8192         throw new NullPointerException();
8193       }
8194       bitField0_ |= 0x00004000;
8195       keywordMatchMode_ = value.getNumber();
8196       onChanged();
8197       return this;
8198     }
8199     /**
8200      *
8201      *
8202      * <pre>
8203      * Controls what keyword match options to use. If both keyword_match_mode and
8204      * disable_keyword_match are set, keyword_match_mode will take precedence.
8205      * Defaults to
8206      * [KeywordMatchMode.KEYWORD_MATCH_ALL][google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode.KEYWORD_MATCH_ALL]
8207      * if no value is specified.
8208      * </pre>
8209      *
8210      * <code>.google.cloud.talent.v4.SearchJobsRequest.KeywordMatchMode keyword_match_mode = 18;
8211      * </code>
8212      *
8213      * @return This builder for chaining.
8214      */
clearKeywordMatchMode()8215     public Builder clearKeywordMatchMode() {
8216       bitField0_ = (bitField0_ & ~0x00004000);
8217       keywordMatchMode_ = 0;
8218       onChanged();
8219       return this;
8220     }
8221 
8222     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)8223     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
8224       return super.setUnknownFields(unknownFields);
8225     }
8226 
8227     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)8228     public final Builder mergeUnknownFields(
8229         final com.google.protobuf.UnknownFieldSet unknownFields) {
8230       return super.mergeUnknownFields(unknownFields);
8231     }
8232 
8233     // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4.SearchJobsRequest)
8234   }
8235 
8236   // @@protoc_insertion_point(class_scope:google.cloud.talent.v4.SearchJobsRequest)
8237   private static final com.google.cloud.talent.v4.SearchJobsRequest DEFAULT_INSTANCE;
8238 
8239   static {
8240     DEFAULT_INSTANCE = new com.google.cloud.talent.v4.SearchJobsRequest();
8241   }
8242 
getDefaultInstance()8243   public static com.google.cloud.talent.v4.SearchJobsRequest getDefaultInstance() {
8244     return DEFAULT_INSTANCE;
8245   }
8246 
8247   private static final com.google.protobuf.Parser<SearchJobsRequest> PARSER =
8248       new com.google.protobuf.AbstractParser<SearchJobsRequest>() {
8249         @java.lang.Override
8250         public SearchJobsRequest parsePartialFrom(
8251             com.google.protobuf.CodedInputStream input,
8252             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8253             throws com.google.protobuf.InvalidProtocolBufferException {
8254           Builder builder = newBuilder();
8255           try {
8256             builder.mergeFrom(input, extensionRegistry);
8257           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8258             throw e.setUnfinishedMessage(builder.buildPartial());
8259           } catch (com.google.protobuf.UninitializedMessageException e) {
8260             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
8261           } catch (java.io.IOException e) {
8262             throw new com.google.protobuf.InvalidProtocolBufferException(e)
8263                 .setUnfinishedMessage(builder.buildPartial());
8264           }
8265           return builder.buildPartial();
8266         }
8267       };
8268 
parser()8269   public static com.google.protobuf.Parser<SearchJobsRequest> parser() {
8270     return PARSER;
8271   }
8272 
8273   @java.lang.Override
getParserForType()8274   public com.google.protobuf.Parser<SearchJobsRequest> getParserForType() {
8275     return PARSER;
8276   }
8277 
8278   @java.lang.Override
getDefaultInstanceForType()8279   public com.google.cloud.talent.v4.SearchJobsRequest getDefaultInstanceForType() {
8280     return DEFAULT_INSTANCE;
8281   }
8282 }
8283