• 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/v4beta1/filters.proto
18 
19 package com.google.cloud.talent.v4beta1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * The query required to perform a search query.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.talent.v4beta1.JobQuery}
29  */
30 public final class JobQuery extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.talent.v4beta1.JobQuery)
33     JobQueryOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use JobQuery.newBuilder() to construct.
JobQuery(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private JobQuery(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
JobQuery()40   private JobQuery() {
41     query_ = "";
42     queryLanguageCode_ = "";
43     companies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
44     locationFilters_ = java.util.Collections.emptyList();
45     jobCategories_ = java.util.Collections.emptyList();
46     companyDisplayNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
47     customAttributeFilter_ = "";
48     employmentTypes_ = java.util.Collections.emptyList();
49     languageCodes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
50     excludedJobs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
51   }
52 
53   @java.lang.Override
54   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)55   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
56     return new JobQuery();
57   }
58 
59   @java.lang.Override
getUnknownFields()60   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
61     return this.unknownFields;
62   }
63 
getDescriptor()64   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
65     return com.google.cloud.talent.v4beta1.FiltersProto
66         .internal_static_google_cloud_talent_v4beta1_JobQuery_descriptor;
67   }
68 
69   @java.lang.Override
70   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()71       internalGetFieldAccessorTable() {
72     return com.google.cloud.talent.v4beta1.FiltersProto
73         .internal_static_google_cloud_talent_v4beta1_JobQuery_fieldAccessorTable
74         .ensureFieldAccessorsInitialized(
75             com.google.cloud.talent.v4beta1.JobQuery.class,
76             com.google.cloud.talent.v4beta1.JobQuery.Builder.class);
77   }
78 
79   public static final int QUERY_FIELD_NUMBER = 1;
80 
81   @SuppressWarnings("serial")
82   private volatile java.lang.Object query_ = "";
83   /**
84    *
85    *
86    * <pre>
87    * The query string that matches against the job title, description, and
88    * location fields.
89    * The maximum number of allowed characters is 255.
90    * </pre>
91    *
92    * <code>string query = 1;</code>
93    *
94    * @return The query.
95    */
96   @java.lang.Override
getQuery()97   public java.lang.String getQuery() {
98     java.lang.Object ref = query_;
99     if (ref instanceof java.lang.String) {
100       return (java.lang.String) ref;
101     } else {
102       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
103       java.lang.String s = bs.toStringUtf8();
104       query_ = s;
105       return s;
106     }
107   }
108   /**
109    *
110    *
111    * <pre>
112    * The query string that matches against the job title, description, and
113    * location fields.
114    * The maximum number of allowed characters is 255.
115    * </pre>
116    *
117    * <code>string query = 1;</code>
118    *
119    * @return The bytes for query.
120    */
121   @java.lang.Override
getQueryBytes()122   public com.google.protobuf.ByteString getQueryBytes() {
123     java.lang.Object ref = query_;
124     if (ref instanceof java.lang.String) {
125       com.google.protobuf.ByteString b =
126           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
127       query_ = b;
128       return b;
129     } else {
130       return (com.google.protobuf.ByteString) ref;
131     }
132   }
133 
134   public static final int QUERY_LANGUAGE_CODE_FIELD_NUMBER = 14;
135 
136   @SuppressWarnings("serial")
137   private volatile java.lang.Object queryLanguageCode_ = "";
138   /**
139    *
140    *
141    * <pre>
142    * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
143    * For example, "en-US". This field helps to better interpret the query.
144    * If a value isn't specified, the query language code is automatically
145    * detected, which may not be accurate.
146    * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
147    * For more information, see
148    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
149    * </pre>
150    *
151    * <code>string query_language_code = 14;</code>
152    *
153    * @return The queryLanguageCode.
154    */
155   @java.lang.Override
getQueryLanguageCode()156   public java.lang.String getQueryLanguageCode() {
157     java.lang.Object ref = queryLanguageCode_;
158     if (ref instanceof java.lang.String) {
159       return (java.lang.String) ref;
160     } else {
161       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
162       java.lang.String s = bs.toStringUtf8();
163       queryLanguageCode_ = s;
164       return s;
165     }
166   }
167   /**
168    *
169    *
170    * <pre>
171    * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
172    * For example, "en-US". This field helps to better interpret the query.
173    * If a value isn't specified, the query language code is automatically
174    * detected, which may not be accurate.
175    * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
176    * For more information, see
177    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
178    * </pre>
179    *
180    * <code>string query_language_code = 14;</code>
181    *
182    * @return The bytes for queryLanguageCode.
183    */
184   @java.lang.Override
getQueryLanguageCodeBytes()185   public com.google.protobuf.ByteString getQueryLanguageCodeBytes() {
186     java.lang.Object ref = queryLanguageCode_;
187     if (ref instanceof java.lang.String) {
188       com.google.protobuf.ByteString b =
189           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
190       queryLanguageCode_ = b;
191       return b;
192     } else {
193       return (com.google.protobuf.ByteString) ref;
194     }
195   }
196 
197   public static final int COMPANIES_FIELD_NUMBER = 2;
198 
199   @SuppressWarnings("serial")
200   private com.google.protobuf.LazyStringList companies_;
201   /**
202    *
203    *
204    * <pre>
205    * This filter specifies the company entities to search against.
206    * If a value isn't specified, jobs are searched for against all
207    * companies.
208    * If multiple values are specified, jobs are searched against the
209    * companies specified.
210    * The format is
211    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
212    * example, "projects/foo/tenants/bar/companies/baz".
213    * If tenant id is unspecified, the default tenant is used. For
214    * example, "projects/foo/companies/bar".
215    * At most 20 company filters are allowed.
216    * </pre>
217    *
218    * <code>repeated string companies = 2;</code>
219    *
220    * @return A list containing the companies.
221    */
getCompaniesList()222   public com.google.protobuf.ProtocolStringList getCompaniesList() {
223     return companies_;
224   }
225   /**
226    *
227    *
228    * <pre>
229    * This filter specifies the company entities to search against.
230    * If a value isn't specified, jobs are searched for against all
231    * companies.
232    * If multiple values are specified, jobs are searched against the
233    * companies specified.
234    * The format is
235    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
236    * example, "projects/foo/tenants/bar/companies/baz".
237    * If tenant id is unspecified, the default tenant is used. For
238    * example, "projects/foo/companies/bar".
239    * At most 20 company filters are allowed.
240    * </pre>
241    *
242    * <code>repeated string companies = 2;</code>
243    *
244    * @return The count of companies.
245    */
getCompaniesCount()246   public int getCompaniesCount() {
247     return companies_.size();
248   }
249   /**
250    *
251    *
252    * <pre>
253    * This filter specifies the company entities to search against.
254    * If a value isn't specified, jobs are searched for against all
255    * companies.
256    * If multiple values are specified, jobs are searched against the
257    * companies specified.
258    * The format is
259    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
260    * example, "projects/foo/tenants/bar/companies/baz".
261    * If tenant id is unspecified, the default tenant is used. For
262    * example, "projects/foo/companies/bar".
263    * At most 20 company filters are allowed.
264    * </pre>
265    *
266    * <code>repeated string companies = 2;</code>
267    *
268    * @param index The index of the element to return.
269    * @return The companies at the given index.
270    */
getCompanies(int index)271   public java.lang.String getCompanies(int index) {
272     return companies_.get(index);
273   }
274   /**
275    *
276    *
277    * <pre>
278    * This filter specifies the company entities to search against.
279    * If a value isn't specified, jobs are searched for against all
280    * companies.
281    * If multiple values are specified, jobs are searched against the
282    * companies specified.
283    * The format is
284    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
285    * example, "projects/foo/tenants/bar/companies/baz".
286    * If tenant id is unspecified, the default tenant is used. For
287    * example, "projects/foo/companies/bar".
288    * At most 20 company filters are allowed.
289    * </pre>
290    *
291    * <code>repeated string companies = 2;</code>
292    *
293    * @param index The index of the value to return.
294    * @return The bytes of the companies at the given index.
295    */
getCompaniesBytes(int index)296   public com.google.protobuf.ByteString getCompaniesBytes(int index) {
297     return companies_.getByteString(index);
298   }
299 
300   public static final int LOCATION_FILTERS_FIELD_NUMBER = 3;
301 
302   @SuppressWarnings("serial")
303   private java.util.List<com.google.cloud.talent.v4beta1.LocationFilter> locationFilters_;
304   /**
305    *
306    *
307    * <pre>
308    * The location filter specifies geo-regions containing the jobs to
309    * search against. See
310    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
311    * information.
312    * If a location value isn't specified, jobs fitting the other search
313    * criteria are retrieved regardless of where they're located.
314    * If multiple values are specified, jobs are retrieved from any of the
315    * specified locations. If different values are specified for the
316    * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
317    * parameter, the maximum provided distance is used for all locations.
318    * At most 5 location filters are allowed.
319    * </pre>
320    *
321    * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
322    */
323   @java.lang.Override
getLocationFiltersList()324   public java.util.List<com.google.cloud.talent.v4beta1.LocationFilter> getLocationFiltersList() {
325     return locationFilters_;
326   }
327   /**
328    *
329    *
330    * <pre>
331    * The location filter specifies geo-regions containing the jobs to
332    * search against. See
333    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
334    * information.
335    * If a location value isn't specified, jobs fitting the other search
336    * criteria are retrieved regardless of where they're located.
337    * If multiple values are specified, jobs are retrieved from any of the
338    * specified locations. If different values are specified for the
339    * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
340    * parameter, the maximum provided distance is used for all locations.
341    * At most 5 location filters are allowed.
342    * </pre>
343    *
344    * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
345    */
346   @java.lang.Override
347   public java.util.List<? extends com.google.cloud.talent.v4beta1.LocationFilterOrBuilder>
getLocationFiltersOrBuilderList()348       getLocationFiltersOrBuilderList() {
349     return locationFilters_;
350   }
351   /**
352    *
353    *
354    * <pre>
355    * The location filter specifies geo-regions containing the jobs to
356    * search against. See
357    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
358    * information.
359    * If a location value isn't specified, jobs fitting the other search
360    * criteria are retrieved regardless of where they're located.
361    * If multiple values are specified, jobs are retrieved from any of the
362    * specified locations. If different values are specified for the
363    * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
364    * parameter, the maximum provided distance is used for all locations.
365    * At most 5 location filters are allowed.
366    * </pre>
367    *
368    * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
369    */
370   @java.lang.Override
getLocationFiltersCount()371   public int getLocationFiltersCount() {
372     return locationFilters_.size();
373   }
374   /**
375    *
376    *
377    * <pre>
378    * The location filter specifies geo-regions containing the jobs to
379    * search against. See
380    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
381    * information.
382    * If a location value isn't specified, jobs fitting the other search
383    * criteria are retrieved regardless of where they're located.
384    * If multiple values are specified, jobs are retrieved from any of the
385    * specified locations. If different values are specified for the
386    * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
387    * parameter, the maximum provided distance is used for all locations.
388    * At most 5 location filters are allowed.
389    * </pre>
390    *
391    * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
392    */
393   @java.lang.Override
getLocationFilters(int index)394   public com.google.cloud.talent.v4beta1.LocationFilter getLocationFilters(int index) {
395     return locationFilters_.get(index);
396   }
397   /**
398    *
399    *
400    * <pre>
401    * The location filter specifies geo-regions containing the jobs to
402    * search against. See
403    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
404    * information.
405    * If a location value isn't specified, jobs fitting the other search
406    * criteria are retrieved regardless of where they're located.
407    * If multiple values are specified, jobs are retrieved from any of the
408    * specified locations. If different values are specified for the
409    * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
410    * parameter, the maximum provided distance is used for all locations.
411    * At most 5 location filters are allowed.
412    * </pre>
413    *
414    * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
415    */
416   @java.lang.Override
getLocationFiltersOrBuilder( int index)417   public com.google.cloud.talent.v4beta1.LocationFilterOrBuilder getLocationFiltersOrBuilder(
418       int index) {
419     return locationFilters_.get(index);
420   }
421 
422   public static final int JOB_CATEGORIES_FIELD_NUMBER = 4;
423 
424   @SuppressWarnings("serial")
425   private java.util.List<java.lang.Integer> jobCategories_;
426 
427   private static final com.google.protobuf.Internal.ListAdapter.Converter<
428           java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>
429       jobCategories_converter_ =
430           new com.google.protobuf.Internal.ListAdapter.Converter<
431               java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>() {
432             public com.google.cloud.talent.v4beta1.JobCategory convert(java.lang.Integer from) {
433               com.google.cloud.talent.v4beta1.JobCategory result =
434                   com.google.cloud.talent.v4beta1.JobCategory.forNumber(from);
435               return result == null
436                   ? com.google.cloud.talent.v4beta1.JobCategory.UNRECOGNIZED
437                   : result;
438             }
439           };
440   /**
441    *
442    *
443    * <pre>
444    * The category filter specifies the categories of jobs to search against.
445    * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
446    * information.
447    * If a value isn't specified, jobs from any category are searched against.
448    * If multiple values are specified, jobs from any of the specified
449    * categories are searched against.
450    * </pre>
451    *
452    * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
453    *
454    * @return A list containing the jobCategories.
455    */
456   @java.lang.Override
getJobCategoriesList()457   public java.util.List<com.google.cloud.talent.v4beta1.JobCategory> getJobCategoriesList() {
458     return new com.google.protobuf.Internal.ListAdapter<
459         java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>(
460         jobCategories_, jobCategories_converter_);
461   }
462   /**
463    *
464    *
465    * <pre>
466    * The category filter specifies the categories of jobs to search against.
467    * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
468    * information.
469    * If a value isn't specified, jobs from any category are searched against.
470    * If multiple values are specified, jobs from any of the specified
471    * categories are searched against.
472    * </pre>
473    *
474    * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
475    *
476    * @return The count of jobCategories.
477    */
478   @java.lang.Override
getJobCategoriesCount()479   public int getJobCategoriesCount() {
480     return jobCategories_.size();
481   }
482   /**
483    *
484    *
485    * <pre>
486    * The category filter specifies the categories of jobs to search against.
487    * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
488    * information.
489    * If a value isn't specified, jobs from any category are searched against.
490    * If multiple values are specified, jobs from any of the specified
491    * categories are searched against.
492    * </pre>
493    *
494    * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
495    *
496    * @param index The index of the element to return.
497    * @return The jobCategories at the given index.
498    */
499   @java.lang.Override
getJobCategories(int index)500   public com.google.cloud.talent.v4beta1.JobCategory getJobCategories(int index) {
501     return jobCategories_converter_.convert(jobCategories_.get(index));
502   }
503   /**
504    *
505    *
506    * <pre>
507    * The category filter specifies the categories of jobs to search against.
508    * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
509    * information.
510    * If a value isn't specified, jobs from any category are searched against.
511    * If multiple values are specified, jobs from any of the specified
512    * categories are searched against.
513    * </pre>
514    *
515    * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
516    *
517    * @return A list containing the enum numeric values on the wire for jobCategories.
518    */
519   @java.lang.Override
getJobCategoriesValueList()520   public java.util.List<java.lang.Integer> getJobCategoriesValueList() {
521     return jobCategories_;
522   }
523   /**
524    *
525    *
526    * <pre>
527    * The category filter specifies the categories of jobs to search against.
528    * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
529    * information.
530    * If a value isn't specified, jobs from any category are searched against.
531    * If multiple values are specified, jobs from any of the specified
532    * categories are searched against.
533    * </pre>
534    *
535    * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
536    *
537    * @param index The index of the value to return.
538    * @return The enum numeric value on the wire of jobCategories at the given index.
539    */
540   @java.lang.Override
getJobCategoriesValue(int index)541   public int getJobCategoriesValue(int index) {
542     return jobCategories_.get(index);
543   }
544 
545   private int jobCategoriesMemoizedSerializedSize;
546 
547   public static final int COMMUTE_FILTER_FIELD_NUMBER = 5;
548   private com.google.cloud.talent.v4beta1.CommuteFilter commuteFilter_;
549   /**
550    *
551    *
552    * <pre>
553    * Allows filtering jobs by commute time with different travel methods (for
554    *  example, driving or public transit).
555    * Note: This only works when you specify a
556    * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
557    * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
558    * is ignored.
559    *  Currently we don't support sorting by commute time.
560    * </pre>
561    *
562    * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
563    *
564    * @return Whether the commuteFilter field is set.
565    */
566   @java.lang.Override
hasCommuteFilter()567   public boolean hasCommuteFilter() {
568     return commuteFilter_ != null;
569   }
570   /**
571    *
572    *
573    * <pre>
574    * Allows filtering jobs by commute time with different travel methods (for
575    *  example, driving or public transit).
576    * Note: This only works when you specify a
577    * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
578    * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
579    * is ignored.
580    *  Currently we don't support sorting by commute time.
581    * </pre>
582    *
583    * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
584    *
585    * @return The commuteFilter.
586    */
587   @java.lang.Override
getCommuteFilter()588   public com.google.cloud.talent.v4beta1.CommuteFilter getCommuteFilter() {
589     return commuteFilter_ == null
590         ? com.google.cloud.talent.v4beta1.CommuteFilter.getDefaultInstance()
591         : commuteFilter_;
592   }
593   /**
594    *
595    *
596    * <pre>
597    * Allows filtering jobs by commute time with different travel methods (for
598    *  example, driving or public transit).
599    * Note: This only works when you specify a
600    * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
601    * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
602    * is ignored.
603    *  Currently we don't support sorting by commute time.
604    * </pre>
605    *
606    * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
607    */
608   @java.lang.Override
getCommuteFilterOrBuilder()609   public com.google.cloud.talent.v4beta1.CommuteFilterOrBuilder getCommuteFilterOrBuilder() {
610     return commuteFilter_ == null
611         ? com.google.cloud.talent.v4beta1.CommuteFilter.getDefaultInstance()
612         : commuteFilter_;
613   }
614 
615   public static final int COMPANY_DISPLAY_NAMES_FIELD_NUMBER = 6;
616 
617   @SuppressWarnings("serial")
618   private com.google.protobuf.LazyStringList companyDisplayNames_;
619   /**
620    *
621    *
622    * <pre>
623    * This filter specifies the company
624    * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
625    * the jobs to search against. The company name must match the value exactly.
626    * Alternatively, the value being searched for can be wrapped in different
627    * match operators.
628    * `SUBSTRING_MATCH([value])`
629    * The company name must contain a case insensitive substring match of the
630    * value. Using this function may increase latency.
631    * Sample Value: `SUBSTRING_MATCH(google)`
632    * `MULTI_WORD_TOKEN_MATCH([value])`
633    * The value will be treated as a multi word token and the company name must
634    * contain a case insensitive match of the value. Using this function may
635    * increase latency.
636    * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
637    * If a value isn't specified, jobs within the search results are
638    * associated with any company.
639    * If multiple values are specified, jobs within the search results may be
640    * associated with any of the specified companies.
641    * At most 20 company display name filters are allowed.
642    * </pre>
643    *
644    * <code>repeated string company_display_names = 6;</code>
645    *
646    * @return A list containing the companyDisplayNames.
647    */
getCompanyDisplayNamesList()648   public com.google.protobuf.ProtocolStringList getCompanyDisplayNamesList() {
649     return companyDisplayNames_;
650   }
651   /**
652    *
653    *
654    * <pre>
655    * This filter specifies the company
656    * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
657    * the jobs to search against. The company name must match the value exactly.
658    * Alternatively, the value being searched for can be wrapped in different
659    * match operators.
660    * `SUBSTRING_MATCH([value])`
661    * The company name must contain a case insensitive substring match of the
662    * value. Using this function may increase latency.
663    * Sample Value: `SUBSTRING_MATCH(google)`
664    * `MULTI_WORD_TOKEN_MATCH([value])`
665    * The value will be treated as a multi word token and the company name must
666    * contain a case insensitive match of the value. Using this function may
667    * increase latency.
668    * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
669    * If a value isn't specified, jobs within the search results are
670    * associated with any company.
671    * If multiple values are specified, jobs within the search results may be
672    * associated with any of the specified companies.
673    * At most 20 company display name filters are allowed.
674    * </pre>
675    *
676    * <code>repeated string company_display_names = 6;</code>
677    *
678    * @return The count of companyDisplayNames.
679    */
getCompanyDisplayNamesCount()680   public int getCompanyDisplayNamesCount() {
681     return companyDisplayNames_.size();
682   }
683   /**
684    *
685    *
686    * <pre>
687    * This filter specifies the company
688    * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
689    * the jobs to search against. The company name must match the value exactly.
690    * Alternatively, the value being searched for can be wrapped in different
691    * match operators.
692    * `SUBSTRING_MATCH([value])`
693    * The company name must contain a case insensitive substring match of the
694    * value. Using this function may increase latency.
695    * Sample Value: `SUBSTRING_MATCH(google)`
696    * `MULTI_WORD_TOKEN_MATCH([value])`
697    * The value will be treated as a multi word token and the company name must
698    * contain a case insensitive match of the value. Using this function may
699    * increase latency.
700    * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
701    * If a value isn't specified, jobs within the search results are
702    * associated with any company.
703    * If multiple values are specified, jobs within the search results may be
704    * associated with any of the specified companies.
705    * At most 20 company display name filters are allowed.
706    * </pre>
707    *
708    * <code>repeated string company_display_names = 6;</code>
709    *
710    * @param index The index of the element to return.
711    * @return The companyDisplayNames at the given index.
712    */
getCompanyDisplayNames(int index)713   public java.lang.String getCompanyDisplayNames(int index) {
714     return companyDisplayNames_.get(index);
715   }
716   /**
717    *
718    *
719    * <pre>
720    * This filter specifies the company
721    * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
722    * the jobs to search against. The company name must match the value exactly.
723    * Alternatively, the value being searched for can be wrapped in different
724    * match operators.
725    * `SUBSTRING_MATCH([value])`
726    * The company name must contain a case insensitive substring match of the
727    * value. Using this function may increase latency.
728    * Sample Value: `SUBSTRING_MATCH(google)`
729    * `MULTI_WORD_TOKEN_MATCH([value])`
730    * The value will be treated as a multi word token and the company name must
731    * contain a case insensitive match of the value. Using this function may
732    * increase latency.
733    * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
734    * If a value isn't specified, jobs within the search results are
735    * associated with any company.
736    * If multiple values are specified, jobs within the search results may be
737    * associated with any of the specified companies.
738    * At most 20 company display name filters are allowed.
739    * </pre>
740    *
741    * <code>repeated string company_display_names = 6;</code>
742    *
743    * @param index The index of the value to return.
744    * @return The bytes of the companyDisplayNames at the given index.
745    */
getCompanyDisplayNamesBytes(int index)746   public com.google.protobuf.ByteString getCompanyDisplayNamesBytes(int index) {
747     return companyDisplayNames_.getByteString(index);
748   }
749 
750   public static final int COMPENSATION_FILTER_FIELD_NUMBER = 7;
751   private com.google.cloud.talent.v4beta1.CompensationFilter compensationFilter_;
752   /**
753    *
754    *
755    * <pre>
756    * This search filter is applied only to
757    * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
758    * For example, if the filter is specified as "Hourly job with per-hour
759    * compensation &gt; $15", only jobs meeting these criteria are searched. If a
760    * filter isn't defined, all open jobs are searched.
761    * </pre>
762    *
763    * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
764    *
765    * @return Whether the compensationFilter field is set.
766    */
767   @java.lang.Override
hasCompensationFilter()768   public boolean hasCompensationFilter() {
769     return compensationFilter_ != null;
770   }
771   /**
772    *
773    *
774    * <pre>
775    * This search filter is applied only to
776    * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
777    * For example, if the filter is specified as "Hourly job with per-hour
778    * compensation &gt; $15", only jobs meeting these criteria are searched. If a
779    * filter isn't defined, all open jobs are searched.
780    * </pre>
781    *
782    * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
783    *
784    * @return The compensationFilter.
785    */
786   @java.lang.Override
getCompensationFilter()787   public com.google.cloud.talent.v4beta1.CompensationFilter getCompensationFilter() {
788     return compensationFilter_ == null
789         ? com.google.cloud.talent.v4beta1.CompensationFilter.getDefaultInstance()
790         : compensationFilter_;
791   }
792   /**
793    *
794    *
795    * <pre>
796    * This search filter is applied only to
797    * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
798    * For example, if the filter is specified as "Hourly job with per-hour
799    * compensation &gt; $15", only jobs meeting these criteria are searched. If a
800    * filter isn't defined, all open jobs are searched.
801    * </pre>
802    *
803    * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
804    */
805   @java.lang.Override
806   public com.google.cloud.talent.v4beta1.CompensationFilterOrBuilder
getCompensationFilterOrBuilder()807       getCompensationFilterOrBuilder() {
808     return compensationFilter_ == null
809         ? com.google.cloud.talent.v4beta1.CompensationFilter.getDefaultInstance()
810         : compensationFilter_;
811   }
812 
813   public static final int CUSTOM_ATTRIBUTE_FILTER_FIELD_NUMBER = 8;
814 
815   @SuppressWarnings("serial")
816   private volatile java.lang.Object customAttributeFilter_ = "";
817   /**
818    *
819    *
820    * <pre>
821    * This filter specifies a structured syntax to match against the
822    * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
823    * marked as `filterable`.
824    * The syntax for this expression is a subset of SQL syntax.
825    * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
826    * left of the operator is a custom field key and the right of the operator
827    * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
828    * quote (&#92;") characters.
829    * Supported functions are `LOWER([field_name])` to
830    * perform a case insensitive match and `EMPTY([field_name])` to filter on the
831    * existence of a key.
832    * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
833    * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
834    * comparisons or functions are allowed in the expression. The expression
835    * must be &lt; 10000 bytes in length.
836    * Sample Query:
837    * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
838    * driving_years &gt; 10`
839    * </pre>
840    *
841    * <code>string custom_attribute_filter = 8;</code>
842    *
843    * @return The customAttributeFilter.
844    */
845   @java.lang.Override
getCustomAttributeFilter()846   public java.lang.String getCustomAttributeFilter() {
847     java.lang.Object ref = customAttributeFilter_;
848     if (ref instanceof java.lang.String) {
849       return (java.lang.String) ref;
850     } else {
851       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
852       java.lang.String s = bs.toStringUtf8();
853       customAttributeFilter_ = s;
854       return s;
855     }
856   }
857   /**
858    *
859    *
860    * <pre>
861    * This filter specifies a structured syntax to match against the
862    * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
863    * marked as `filterable`.
864    * The syntax for this expression is a subset of SQL syntax.
865    * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
866    * left of the operator is a custom field key and the right of the operator
867    * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
868    * quote (&#92;") characters.
869    * Supported functions are `LOWER([field_name])` to
870    * perform a case insensitive match and `EMPTY([field_name])` to filter on the
871    * existence of a key.
872    * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
873    * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
874    * comparisons or functions are allowed in the expression. The expression
875    * must be &lt; 10000 bytes in length.
876    * Sample Query:
877    * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
878    * driving_years &gt; 10`
879    * </pre>
880    *
881    * <code>string custom_attribute_filter = 8;</code>
882    *
883    * @return The bytes for customAttributeFilter.
884    */
885   @java.lang.Override
getCustomAttributeFilterBytes()886   public com.google.protobuf.ByteString getCustomAttributeFilterBytes() {
887     java.lang.Object ref = customAttributeFilter_;
888     if (ref instanceof java.lang.String) {
889       com.google.protobuf.ByteString b =
890           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
891       customAttributeFilter_ = b;
892       return b;
893     } else {
894       return (com.google.protobuf.ByteString) ref;
895     }
896   }
897 
898   public static final int DISABLE_SPELL_CHECK_FIELD_NUMBER = 9;
899   private boolean disableSpellCheck_ = false;
900   /**
901    *
902    *
903    * <pre>
904    * This flag controls the spell-check feature. If false, the
905    * service attempts to correct a misspelled query,
906    * for example, "enginee" is corrected to "engineer".
907    * Defaults to false: a spell check is performed.
908    * </pre>
909    *
910    * <code>bool disable_spell_check = 9;</code>
911    *
912    * @return The disableSpellCheck.
913    */
914   @java.lang.Override
getDisableSpellCheck()915   public boolean getDisableSpellCheck() {
916     return disableSpellCheck_;
917   }
918 
919   public static final int EMPLOYMENT_TYPES_FIELD_NUMBER = 10;
920 
921   @SuppressWarnings("serial")
922   private java.util.List<java.lang.Integer> employmentTypes_;
923 
924   private static final com.google.protobuf.Internal.ListAdapter.Converter<
925           java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>
926       employmentTypes_converter_ =
927           new com.google.protobuf.Internal.ListAdapter.Converter<
928               java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>() {
929             public com.google.cloud.talent.v4beta1.EmploymentType convert(java.lang.Integer from) {
930               com.google.cloud.talent.v4beta1.EmploymentType result =
931                   com.google.cloud.talent.v4beta1.EmploymentType.forNumber(from);
932               return result == null
933                   ? com.google.cloud.talent.v4beta1.EmploymentType.UNRECOGNIZED
934                   : result;
935             }
936           };
937   /**
938    *
939    *
940    * <pre>
941    * The employment type filter specifies the employment type of jobs to
942    * search against, such as
943    * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
944    * If a value isn't specified, jobs in the search results includes any
945    * employment type.
946    * If multiple values are specified, jobs in the search results include
947    * any of the specified employment types.
948    * </pre>
949    *
950    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
951    *
952    * @return A list containing the employmentTypes.
953    */
954   @java.lang.Override
getEmploymentTypesList()955   public java.util.List<com.google.cloud.talent.v4beta1.EmploymentType> getEmploymentTypesList() {
956     return new com.google.protobuf.Internal.ListAdapter<
957         java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>(
958         employmentTypes_, employmentTypes_converter_);
959   }
960   /**
961    *
962    *
963    * <pre>
964    * The employment type filter specifies the employment type of jobs to
965    * search against, such as
966    * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
967    * If a value isn't specified, jobs in the search results includes any
968    * employment type.
969    * If multiple values are specified, jobs in the search results include
970    * any of the specified employment types.
971    * </pre>
972    *
973    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
974    *
975    * @return The count of employmentTypes.
976    */
977   @java.lang.Override
getEmploymentTypesCount()978   public int getEmploymentTypesCount() {
979     return employmentTypes_.size();
980   }
981   /**
982    *
983    *
984    * <pre>
985    * The employment type filter specifies the employment type of jobs to
986    * search against, such as
987    * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
988    * If a value isn't specified, jobs in the search results includes any
989    * employment type.
990    * If multiple values are specified, jobs in the search results include
991    * any of the specified employment types.
992    * </pre>
993    *
994    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
995    *
996    * @param index The index of the element to return.
997    * @return The employmentTypes at the given index.
998    */
999   @java.lang.Override
getEmploymentTypes(int index)1000   public com.google.cloud.talent.v4beta1.EmploymentType getEmploymentTypes(int index) {
1001     return employmentTypes_converter_.convert(employmentTypes_.get(index));
1002   }
1003   /**
1004    *
1005    *
1006    * <pre>
1007    * The employment type filter specifies the employment type of jobs to
1008    * search against, such as
1009    * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
1010    * If a value isn't specified, jobs in the search results includes any
1011    * employment type.
1012    * If multiple values are specified, jobs in the search results include
1013    * any of the specified employment types.
1014    * </pre>
1015    *
1016    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
1017    *
1018    * @return A list containing the enum numeric values on the wire for employmentTypes.
1019    */
1020   @java.lang.Override
getEmploymentTypesValueList()1021   public java.util.List<java.lang.Integer> getEmploymentTypesValueList() {
1022     return employmentTypes_;
1023   }
1024   /**
1025    *
1026    *
1027    * <pre>
1028    * The employment type filter specifies the employment type of jobs to
1029    * search against, such as
1030    * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
1031    * If a value isn't specified, jobs in the search results includes any
1032    * employment type.
1033    * If multiple values are specified, jobs in the search results include
1034    * any of the specified employment types.
1035    * </pre>
1036    *
1037    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
1038    *
1039    * @param index The index of the value to return.
1040    * @return The enum numeric value on the wire of employmentTypes at the given index.
1041    */
1042   @java.lang.Override
getEmploymentTypesValue(int index)1043   public int getEmploymentTypesValue(int index) {
1044     return employmentTypes_.get(index);
1045   }
1046 
1047   private int employmentTypesMemoizedSerializedSize;
1048 
1049   public static final int LANGUAGE_CODES_FIELD_NUMBER = 11;
1050 
1051   @SuppressWarnings("serial")
1052   private com.google.protobuf.LazyStringList languageCodes_;
1053   /**
1054    *
1055    *
1056    * <pre>
1057    * This filter specifies the locale of jobs to search against,
1058    * for example, "en-US".
1059    * If a value isn't specified, the search results can contain jobs in any
1060    * locale.
1061    * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
1062    * For more information, see
1063    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1064    * At most 10 language code filters are allowed.
1065    * </pre>
1066    *
1067    * <code>repeated string language_codes = 11;</code>
1068    *
1069    * @return A list containing the languageCodes.
1070    */
getLanguageCodesList()1071   public com.google.protobuf.ProtocolStringList getLanguageCodesList() {
1072     return languageCodes_;
1073   }
1074   /**
1075    *
1076    *
1077    * <pre>
1078    * This filter specifies the locale of jobs to search against,
1079    * for example, "en-US".
1080    * If a value isn't specified, the search results can contain jobs in any
1081    * locale.
1082    * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
1083    * For more information, see
1084    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1085    * At most 10 language code filters are allowed.
1086    * </pre>
1087    *
1088    * <code>repeated string language_codes = 11;</code>
1089    *
1090    * @return The count of languageCodes.
1091    */
getLanguageCodesCount()1092   public int getLanguageCodesCount() {
1093     return languageCodes_.size();
1094   }
1095   /**
1096    *
1097    *
1098    * <pre>
1099    * This filter specifies the locale of jobs to search against,
1100    * for example, "en-US".
1101    * If a value isn't specified, the search results can contain jobs in any
1102    * locale.
1103    * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
1104    * For more information, see
1105    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1106    * At most 10 language code filters are allowed.
1107    * </pre>
1108    *
1109    * <code>repeated string language_codes = 11;</code>
1110    *
1111    * @param index The index of the element to return.
1112    * @return The languageCodes at the given index.
1113    */
getLanguageCodes(int index)1114   public java.lang.String getLanguageCodes(int index) {
1115     return languageCodes_.get(index);
1116   }
1117   /**
1118    *
1119    *
1120    * <pre>
1121    * This filter specifies the locale of jobs to search against,
1122    * for example, "en-US".
1123    * If a value isn't specified, the search results can contain jobs in any
1124    * locale.
1125    * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
1126    * For more information, see
1127    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
1128    * At most 10 language code filters are allowed.
1129    * </pre>
1130    *
1131    * <code>repeated string language_codes = 11;</code>
1132    *
1133    * @param index The index of the value to return.
1134    * @return The bytes of the languageCodes at the given index.
1135    */
getLanguageCodesBytes(int index)1136   public com.google.protobuf.ByteString getLanguageCodesBytes(int index) {
1137     return languageCodes_.getByteString(index);
1138   }
1139 
1140   public static final int PUBLISH_TIME_RANGE_FIELD_NUMBER = 12;
1141   private com.google.cloud.talent.v4beta1.TimestampRange publishTimeRange_;
1142   /**
1143    *
1144    *
1145    * <pre>
1146    * Jobs published within a range specified by this filter are searched
1147    * against.
1148    * </pre>
1149    *
1150    * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
1151    *
1152    * @return Whether the publishTimeRange field is set.
1153    */
1154   @java.lang.Override
hasPublishTimeRange()1155   public boolean hasPublishTimeRange() {
1156     return publishTimeRange_ != null;
1157   }
1158   /**
1159    *
1160    *
1161    * <pre>
1162    * Jobs published within a range specified by this filter are searched
1163    * against.
1164    * </pre>
1165    *
1166    * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
1167    *
1168    * @return The publishTimeRange.
1169    */
1170   @java.lang.Override
getPublishTimeRange()1171   public com.google.cloud.talent.v4beta1.TimestampRange getPublishTimeRange() {
1172     return publishTimeRange_ == null
1173         ? com.google.cloud.talent.v4beta1.TimestampRange.getDefaultInstance()
1174         : publishTimeRange_;
1175   }
1176   /**
1177    *
1178    *
1179    * <pre>
1180    * Jobs published within a range specified by this filter are searched
1181    * against.
1182    * </pre>
1183    *
1184    * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
1185    */
1186   @java.lang.Override
getPublishTimeRangeOrBuilder()1187   public com.google.cloud.talent.v4beta1.TimestampRangeOrBuilder getPublishTimeRangeOrBuilder() {
1188     return publishTimeRange_ == null
1189         ? com.google.cloud.talent.v4beta1.TimestampRange.getDefaultInstance()
1190         : publishTimeRange_;
1191   }
1192 
1193   public static final int EXCLUDED_JOBS_FIELD_NUMBER = 13;
1194 
1195   @SuppressWarnings("serial")
1196   private com.google.protobuf.LazyStringList excludedJobs_;
1197   /**
1198    *
1199    *
1200    * <pre>
1201    * This filter specifies a list of job names to be excluded during search.
1202    * At most 400 excluded job names are allowed.
1203    * </pre>
1204    *
1205    * <code>repeated string excluded_jobs = 13;</code>
1206    *
1207    * @return A list containing the excludedJobs.
1208    */
getExcludedJobsList()1209   public com.google.protobuf.ProtocolStringList getExcludedJobsList() {
1210     return excludedJobs_;
1211   }
1212   /**
1213    *
1214    *
1215    * <pre>
1216    * This filter specifies a list of job names to be excluded during search.
1217    * At most 400 excluded job names are allowed.
1218    * </pre>
1219    *
1220    * <code>repeated string excluded_jobs = 13;</code>
1221    *
1222    * @return The count of excludedJobs.
1223    */
getExcludedJobsCount()1224   public int getExcludedJobsCount() {
1225     return excludedJobs_.size();
1226   }
1227   /**
1228    *
1229    *
1230    * <pre>
1231    * This filter specifies a list of job names to be excluded during search.
1232    * At most 400 excluded job names are allowed.
1233    * </pre>
1234    *
1235    * <code>repeated string excluded_jobs = 13;</code>
1236    *
1237    * @param index The index of the element to return.
1238    * @return The excludedJobs at the given index.
1239    */
getExcludedJobs(int index)1240   public java.lang.String getExcludedJobs(int index) {
1241     return excludedJobs_.get(index);
1242   }
1243   /**
1244    *
1245    *
1246    * <pre>
1247    * This filter specifies a list of job names to be excluded during search.
1248    * At most 400 excluded job names are allowed.
1249    * </pre>
1250    *
1251    * <code>repeated string excluded_jobs = 13;</code>
1252    *
1253    * @param index The index of the value to return.
1254    * @return The bytes of the excludedJobs at the given index.
1255    */
getExcludedJobsBytes(int index)1256   public com.google.protobuf.ByteString getExcludedJobsBytes(int index) {
1257     return excludedJobs_.getByteString(index);
1258   }
1259 
1260   private byte memoizedIsInitialized = -1;
1261 
1262   @java.lang.Override
isInitialized()1263   public final boolean isInitialized() {
1264     byte isInitialized = memoizedIsInitialized;
1265     if (isInitialized == 1) return true;
1266     if (isInitialized == 0) return false;
1267 
1268     memoizedIsInitialized = 1;
1269     return true;
1270   }
1271 
1272   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1273   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1274     getSerializedSize();
1275     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(query_)) {
1276       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, query_);
1277     }
1278     for (int i = 0; i < companies_.size(); i++) {
1279       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, companies_.getRaw(i));
1280     }
1281     for (int i = 0; i < locationFilters_.size(); i++) {
1282       output.writeMessage(3, locationFilters_.get(i));
1283     }
1284     if (getJobCategoriesList().size() > 0) {
1285       output.writeUInt32NoTag(34);
1286       output.writeUInt32NoTag(jobCategoriesMemoizedSerializedSize);
1287     }
1288     for (int i = 0; i < jobCategories_.size(); i++) {
1289       output.writeEnumNoTag(jobCategories_.get(i));
1290     }
1291     if (commuteFilter_ != null) {
1292       output.writeMessage(5, getCommuteFilter());
1293     }
1294     for (int i = 0; i < companyDisplayNames_.size(); i++) {
1295       com.google.protobuf.GeneratedMessageV3.writeString(output, 6, companyDisplayNames_.getRaw(i));
1296     }
1297     if (compensationFilter_ != null) {
1298       output.writeMessage(7, getCompensationFilter());
1299     }
1300     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customAttributeFilter_)) {
1301       com.google.protobuf.GeneratedMessageV3.writeString(output, 8, customAttributeFilter_);
1302     }
1303     if (disableSpellCheck_ != false) {
1304       output.writeBool(9, disableSpellCheck_);
1305     }
1306     if (getEmploymentTypesList().size() > 0) {
1307       output.writeUInt32NoTag(82);
1308       output.writeUInt32NoTag(employmentTypesMemoizedSerializedSize);
1309     }
1310     for (int i = 0; i < employmentTypes_.size(); i++) {
1311       output.writeEnumNoTag(employmentTypes_.get(i));
1312     }
1313     for (int i = 0; i < languageCodes_.size(); i++) {
1314       com.google.protobuf.GeneratedMessageV3.writeString(output, 11, languageCodes_.getRaw(i));
1315     }
1316     if (publishTimeRange_ != null) {
1317       output.writeMessage(12, getPublishTimeRange());
1318     }
1319     for (int i = 0; i < excludedJobs_.size(); i++) {
1320       com.google.protobuf.GeneratedMessageV3.writeString(output, 13, excludedJobs_.getRaw(i));
1321     }
1322     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(queryLanguageCode_)) {
1323       com.google.protobuf.GeneratedMessageV3.writeString(output, 14, queryLanguageCode_);
1324     }
1325     getUnknownFields().writeTo(output);
1326   }
1327 
1328   @java.lang.Override
getSerializedSize()1329   public int getSerializedSize() {
1330     int size = memoizedSize;
1331     if (size != -1) return size;
1332 
1333     size = 0;
1334     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(query_)) {
1335       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, query_);
1336     }
1337     {
1338       int dataSize = 0;
1339       for (int i = 0; i < companies_.size(); i++) {
1340         dataSize += computeStringSizeNoTag(companies_.getRaw(i));
1341       }
1342       size += dataSize;
1343       size += 1 * getCompaniesList().size();
1344     }
1345     for (int i = 0; i < locationFilters_.size(); i++) {
1346       size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, locationFilters_.get(i));
1347     }
1348     {
1349       int dataSize = 0;
1350       for (int i = 0; i < jobCategories_.size(); i++) {
1351         dataSize +=
1352             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(jobCategories_.get(i));
1353       }
1354       size += dataSize;
1355       if (!getJobCategoriesList().isEmpty()) {
1356         size += 1;
1357         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
1358       }
1359       jobCategoriesMemoizedSerializedSize = dataSize;
1360     }
1361     if (commuteFilter_ != null) {
1362       size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getCommuteFilter());
1363     }
1364     {
1365       int dataSize = 0;
1366       for (int i = 0; i < companyDisplayNames_.size(); i++) {
1367         dataSize += computeStringSizeNoTag(companyDisplayNames_.getRaw(i));
1368       }
1369       size += dataSize;
1370       size += 1 * getCompanyDisplayNamesList().size();
1371     }
1372     if (compensationFilter_ != null) {
1373       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getCompensationFilter());
1374     }
1375     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(customAttributeFilter_)) {
1376       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, customAttributeFilter_);
1377     }
1378     if (disableSpellCheck_ != false) {
1379       size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, disableSpellCheck_);
1380     }
1381     {
1382       int dataSize = 0;
1383       for (int i = 0; i < employmentTypes_.size(); i++) {
1384         dataSize +=
1385             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(employmentTypes_.get(i));
1386       }
1387       size += dataSize;
1388       if (!getEmploymentTypesList().isEmpty()) {
1389         size += 1;
1390         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
1391       }
1392       employmentTypesMemoizedSerializedSize = dataSize;
1393     }
1394     {
1395       int dataSize = 0;
1396       for (int i = 0; i < languageCodes_.size(); i++) {
1397         dataSize += computeStringSizeNoTag(languageCodes_.getRaw(i));
1398       }
1399       size += dataSize;
1400       size += 1 * getLanguageCodesList().size();
1401     }
1402     if (publishTimeRange_ != null) {
1403       size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getPublishTimeRange());
1404     }
1405     {
1406       int dataSize = 0;
1407       for (int i = 0; i < excludedJobs_.size(); i++) {
1408         dataSize += computeStringSizeNoTag(excludedJobs_.getRaw(i));
1409       }
1410       size += dataSize;
1411       size += 1 * getExcludedJobsList().size();
1412     }
1413     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(queryLanguageCode_)) {
1414       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, queryLanguageCode_);
1415     }
1416     size += getUnknownFields().getSerializedSize();
1417     memoizedSize = size;
1418     return size;
1419   }
1420 
1421   @java.lang.Override
equals(final java.lang.Object obj)1422   public boolean equals(final java.lang.Object obj) {
1423     if (obj == this) {
1424       return true;
1425     }
1426     if (!(obj instanceof com.google.cloud.talent.v4beta1.JobQuery)) {
1427       return super.equals(obj);
1428     }
1429     com.google.cloud.talent.v4beta1.JobQuery other = (com.google.cloud.talent.v4beta1.JobQuery) obj;
1430 
1431     if (!getQuery().equals(other.getQuery())) return false;
1432     if (!getQueryLanguageCode().equals(other.getQueryLanguageCode())) return false;
1433     if (!getCompaniesList().equals(other.getCompaniesList())) return false;
1434     if (!getLocationFiltersList().equals(other.getLocationFiltersList())) return false;
1435     if (!jobCategories_.equals(other.jobCategories_)) return false;
1436     if (hasCommuteFilter() != other.hasCommuteFilter()) return false;
1437     if (hasCommuteFilter()) {
1438       if (!getCommuteFilter().equals(other.getCommuteFilter())) return false;
1439     }
1440     if (!getCompanyDisplayNamesList().equals(other.getCompanyDisplayNamesList())) return false;
1441     if (hasCompensationFilter() != other.hasCompensationFilter()) return false;
1442     if (hasCompensationFilter()) {
1443       if (!getCompensationFilter().equals(other.getCompensationFilter())) return false;
1444     }
1445     if (!getCustomAttributeFilter().equals(other.getCustomAttributeFilter())) return false;
1446     if (getDisableSpellCheck() != other.getDisableSpellCheck()) return false;
1447     if (!employmentTypes_.equals(other.employmentTypes_)) return false;
1448     if (!getLanguageCodesList().equals(other.getLanguageCodesList())) return false;
1449     if (hasPublishTimeRange() != other.hasPublishTimeRange()) return false;
1450     if (hasPublishTimeRange()) {
1451       if (!getPublishTimeRange().equals(other.getPublishTimeRange())) return false;
1452     }
1453     if (!getExcludedJobsList().equals(other.getExcludedJobsList())) return false;
1454     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1455     return true;
1456   }
1457 
1458   @java.lang.Override
hashCode()1459   public int hashCode() {
1460     if (memoizedHashCode != 0) {
1461       return memoizedHashCode;
1462     }
1463     int hash = 41;
1464     hash = (19 * hash) + getDescriptor().hashCode();
1465     hash = (37 * hash) + QUERY_FIELD_NUMBER;
1466     hash = (53 * hash) + getQuery().hashCode();
1467     hash = (37 * hash) + QUERY_LANGUAGE_CODE_FIELD_NUMBER;
1468     hash = (53 * hash) + getQueryLanguageCode().hashCode();
1469     if (getCompaniesCount() > 0) {
1470       hash = (37 * hash) + COMPANIES_FIELD_NUMBER;
1471       hash = (53 * hash) + getCompaniesList().hashCode();
1472     }
1473     if (getLocationFiltersCount() > 0) {
1474       hash = (37 * hash) + LOCATION_FILTERS_FIELD_NUMBER;
1475       hash = (53 * hash) + getLocationFiltersList().hashCode();
1476     }
1477     if (getJobCategoriesCount() > 0) {
1478       hash = (37 * hash) + JOB_CATEGORIES_FIELD_NUMBER;
1479       hash = (53 * hash) + jobCategories_.hashCode();
1480     }
1481     if (hasCommuteFilter()) {
1482       hash = (37 * hash) + COMMUTE_FILTER_FIELD_NUMBER;
1483       hash = (53 * hash) + getCommuteFilter().hashCode();
1484     }
1485     if (getCompanyDisplayNamesCount() > 0) {
1486       hash = (37 * hash) + COMPANY_DISPLAY_NAMES_FIELD_NUMBER;
1487       hash = (53 * hash) + getCompanyDisplayNamesList().hashCode();
1488     }
1489     if (hasCompensationFilter()) {
1490       hash = (37 * hash) + COMPENSATION_FILTER_FIELD_NUMBER;
1491       hash = (53 * hash) + getCompensationFilter().hashCode();
1492     }
1493     hash = (37 * hash) + CUSTOM_ATTRIBUTE_FILTER_FIELD_NUMBER;
1494     hash = (53 * hash) + getCustomAttributeFilter().hashCode();
1495     hash = (37 * hash) + DISABLE_SPELL_CHECK_FIELD_NUMBER;
1496     hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDisableSpellCheck());
1497     if (getEmploymentTypesCount() > 0) {
1498       hash = (37 * hash) + EMPLOYMENT_TYPES_FIELD_NUMBER;
1499       hash = (53 * hash) + employmentTypes_.hashCode();
1500     }
1501     if (getLanguageCodesCount() > 0) {
1502       hash = (37 * hash) + LANGUAGE_CODES_FIELD_NUMBER;
1503       hash = (53 * hash) + getLanguageCodesList().hashCode();
1504     }
1505     if (hasPublishTimeRange()) {
1506       hash = (37 * hash) + PUBLISH_TIME_RANGE_FIELD_NUMBER;
1507       hash = (53 * hash) + getPublishTimeRange().hashCode();
1508     }
1509     if (getExcludedJobsCount() > 0) {
1510       hash = (37 * hash) + EXCLUDED_JOBS_FIELD_NUMBER;
1511       hash = (53 * hash) + getExcludedJobsList().hashCode();
1512     }
1513     hash = (29 * hash) + getUnknownFields().hashCode();
1514     memoizedHashCode = hash;
1515     return hash;
1516   }
1517 
parseFrom(java.nio.ByteBuffer data)1518   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(java.nio.ByteBuffer data)
1519       throws com.google.protobuf.InvalidProtocolBufferException {
1520     return PARSER.parseFrom(data);
1521   }
1522 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1523   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1524       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1525       throws com.google.protobuf.InvalidProtocolBufferException {
1526     return PARSER.parseFrom(data, extensionRegistry);
1527   }
1528 
parseFrom( com.google.protobuf.ByteString data)1529   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1530       com.google.protobuf.ByteString data)
1531       throws com.google.protobuf.InvalidProtocolBufferException {
1532     return PARSER.parseFrom(data);
1533   }
1534 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1535   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1536       com.google.protobuf.ByteString data,
1537       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1538       throws com.google.protobuf.InvalidProtocolBufferException {
1539     return PARSER.parseFrom(data, extensionRegistry);
1540   }
1541 
parseFrom(byte[] data)1542   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(byte[] data)
1543       throws com.google.protobuf.InvalidProtocolBufferException {
1544     return PARSER.parseFrom(data);
1545   }
1546 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1547   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1548       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1549       throws com.google.protobuf.InvalidProtocolBufferException {
1550     return PARSER.parseFrom(data, extensionRegistry);
1551   }
1552 
parseFrom(java.io.InputStream input)1553   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(java.io.InputStream input)
1554       throws java.io.IOException {
1555     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1556   }
1557 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1558   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1559       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1560       throws java.io.IOException {
1561     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1562         PARSER, input, extensionRegistry);
1563   }
1564 
parseDelimitedFrom( java.io.InputStream input)1565   public static com.google.cloud.talent.v4beta1.JobQuery parseDelimitedFrom(
1566       java.io.InputStream input) throws java.io.IOException {
1567     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1568   }
1569 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1570   public static com.google.cloud.talent.v4beta1.JobQuery parseDelimitedFrom(
1571       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1572       throws java.io.IOException {
1573     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1574         PARSER, input, extensionRegistry);
1575   }
1576 
parseFrom( com.google.protobuf.CodedInputStream input)1577   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1578       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1579     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1580   }
1581 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1582   public static com.google.cloud.talent.v4beta1.JobQuery parseFrom(
1583       com.google.protobuf.CodedInputStream input,
1584       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1585       throws java.io.IOException {
1586     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1587         PARSER, input, extensionRegistry);
1588   }
1589 
1590   @java.lang.Override
newBuilderForType()1591   public Builder newBuilderForType() {
1592     return newBuilder();
1593   }
1594 
newBuilder()1595   public static Builder newBuilder() {
1596     return DEFAULT_INSTANCE.toBuilder();
1597   }
1598 
newBuilder(com.google.cloud.talent.v4beta1.JobQuery prototype)1599   public static Builder newBuilder(com.google.cloud.talent.v4beta1.JobQuery prototype) {
1600     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1601   }
1602 
1603   @java.lang.Override
toBuilder()1604   public Builder toBuilder() {
1605     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1606   }
1607 
1608   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1609   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1610     Builder builder = new Builder(parent);
1611     return builder;
1612   }
1613   /**
1614    *
1615    *
1616    * <pre>
1617    * The query required to perform a search query.
1618    * </pre>
1619    *
1620    * Protobuf type {@code google.cloud.talent.v4beta1.JobQuery}
1621    */
1622   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1623       implements
1624       // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4beta1.JobQuery)
1625       com.google.cloud.talent.v4beta1.JobQueryOrBuilder {
getDescriptor()1626     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1627       return com.google.cloud.talent.v4beta1.FiltersProto
1628           .internal_static_google_cloud_talent_v4beta1_JobQuery_descriptor;
1629     }
1630 
1631     @java.lang.Override
1632     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1633         internalGetFieldAccessorTable() {
1634       return com.google.cloud.talent.v4beta1.FiltersProto
1635           .internal_static_google_cloud_talent_v4beta1_JobQuery_fieldAccessorTable
1636           .ensureFieldAccessorsInitialized(
1637               com.google.cloud.talent.v4beta1.JobQuery.class,
1638               com.google.cloud.talent.v4beta1.JobQuery.Builder.class);
1639     }
1640 
1641     // Construct using com.google.cloud.talent.v4beta1.JobQuery.newBuilder()
Builder()1642     private Builder() {}
1643 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1644     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1645       super(parent);
1646     }
1647 
1648     @java.lang.Override
clear()1649     public Builder clear() {
1650       super.clear();
1651       bitField0_ = 0;
1652       query_ = "";
1653       queryLanguageCode_ = "";
1654       companies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1655       bitField0_ = (bitField0_ & ~0x00000004);
1656       if (locationFiltersBuilder_ == null) {
1657         locationFilters_ = java.util.Collections.emptyList();
1658       } else {
1659         locationFilters_ = null;
1660         locationFiltersBuilder_.clear();
1661       }
1662       bitField0_ = (bitField0_ & ~0x00000008);
1663       jobCategories_ = java.util.Collections.emptyList();
1664       bitField0_ = (bitField0_ & ~0x00000010);
1665       commuteFilter_ = null;
1666       if (commuteFilterBuilder_ != null) {
1667         commuteFilterBuilder_.dispose();
1668         commuteFilterBuilder_ = null;
1669       }
1670       companyDisplayNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1671       bitField0_ = (bitField0_ & ~0x00000040);
1672       compensationFilter_ = null;
1673       if (compensationFilterBuilder_ != null) {
1674         compensationFilterBuilder_.dispose();
1675         compensationFilterBuilder_ = null;
1676       }
1677       customAttributeFilter_ = "";
1678       disableSpellCheck_ = false;
1679       employmentTypes_ = java.util.Collections.emptyList();
1680       bitField0_ = (bitField0_ & ~0x00000400);
1681       languageCodes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1682       bitField0_ = (bitField0_ & ~0x00000800);
1683       publishTimeRange_ = null;
1684       if (publishTimeRangeBuilder_ != null) {
1685         publishTimeRangeBuilder_.dispose();
1686         publishTimeRangeBuilder_ = null;
1687       }
1688       excludedJobs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1689       bitField0_ = (bitField0_ & ~0x00002000);
1690       return this;
1691     }
1692 
1693     @java.lang.Override
getDescriptorForType()1694     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1695       return com.google.cloud.talent.v4beta1.FiltersProto
1696           .internal_static_google_cloud_talent_v4beta1_JobQuery_descriptor;
1697     }
1698 
1699     @java.lang.Override
getDefaultInstanceForType()1700     public com.google.cloud.talent.v4beta1.JobQuery getDefaultInstanceForType() {
1701       return com.google.cloud.talent.v4beta1.JobQuery.getDefaultInstance();
1702     }
1703 
1704     @java.lang.Override
build()1705     public com.google.cloud.talent.v4beta1.JobQuery build() {
1706       com.google.cloud.talent.v4beta1.JobQuery result = buildPartial();
1707       if (!result.isInitialized()) {
1708         throw newUninitializedMessageException(result);
1709       }
1710       return result;
1711     }
1712 
1713     @java.lang.Override
buildPartial()1714     public com.google.cloud.talent.v4beta1.JobQuery buildPartial() {
1715       com.google.cloud.talent.v4beta1.JobQuery result =
1716           new com.google.cloud.talent.v4beta1.JobQuery(this);
1717       buildPartialRepeatedFields(result);
1718       if (bitField0_ != 0) {
1719         buildPartial0(result);
1720       }
1721       onBuilt();
1722       return result;
1723     }
1724 
buildPartialRepeatedFields(com.google.cloud.talent.v4beta1.JobQuery result)1725     private void buildPartialRepeatedFields(com.google.cloud.talent.v4beta1.JobQuery result) {
1726       if (((bitField0_ & 0x00000004) != 0)) {
1727         companies_ = companies_.getUnmodifiableView();
1728         bitField0_ = (bitField0_ & ~0x00000004);
1729       }
1730       result.companies_ = companies_;
1731       if (locationFiltersBuilder_ == null) {
1732         if (((bitField0_ & 0x00000008) != 0)) {
1733           locationFilters_ = java.util.Collections.unmodifiableList(locationFilters_);
1734           bitField0_ = (bitField0_ & ~0x00000008);
1735         }
1736         result.locationFilters_ = locationFilters_;
1737       } else {
1738         result.locationFilters_ = locationFiltersBuilder_.build();
1739       }
1740       if (((bitField0_ & 0x00000010) != 0)) {
1741         jobCategories_ = java.util.Collections.unmodifiableList(jobCategories_);
1742         bitField0_ = (bitField0_ & ~0x00000010);
1743       }
1744       result.jobCategories_ = jobCategories_;
1745       if (((bitField0_ & 0x00000040) != 0)) {
1746         companyDisplayNames_ = companyDisplayNames_.getUnmodifiableView();
1747         bitField0_ = (bitField0_ & ~0x00000040);
1748       }
1749       result.companyDisplayNames_ = companyDisplayNames_;
1750       if (((bitField0_ & 0x00000400) != 0)) {
1751         employmentTypes_ = java.util.Collections.unmodifiableList(employmentTypes_);
1752         bitField0_ = (bitField0_ & ~0x00000400);
1753       }
1754       result.employmentTypes_ = employmentTypes_;
1755       if (((bitField0_ & 0x00000800) != 0)) {
1756         languageCodes_ = languageCodes_.getUnmodifiableView();
1757         bitField0_ = (bitField0_ & ~0x00000800);
1758       }
1759       result.languageCodes_ = languageCodes_;
1760       if (((bitField0_ & 0x00002000) != 0)) {
1761         excludedJobs_ = excludedJobs_.getUnmodifiableView();
1762         bitField0_ = (bitField0_ & ~0x00002000);
1763       }
1764       result.excludedJobs_ = excludedJobs_;
1765     }
1766 
buildPartial0(com.google.cloud.talent.v4beta1.JobQuery result)1767     private void buildPartial0(com.google.cloud.talent.v4beta1.JobQuery result) {
1768       int from_bitField0_ = bitField0_;
1769       if (((from_bitField0_ & 0x00000001) != 0)) {
1770         result.query_ = query_;
1771       }
1772       if (((from_bitField0_ & 0x00000002) != 0)) {
1773         result.queryLanguageCode_ = queryLanguageCode_;
1774       }
1775       if (((from_bitField0_ & 0x00000020) != 0)) {
1776         result.commuteFilter_ =
1777             commuteFilterBuilder_ == null ? commuteFilter_ : commuteFilterBuilder_.build();
1778       }
1779       if (((from_bitField0_ & 0x00000080) != 0)) {
1780         result.compensationFilter_ =
1781             compensationFilterBuilder_ == null
1782                 ? compensationFilter_
1783                 : compensationFilterBuilder_.build();
1784       }
1785       if (((from_bitField0_ & 0x00000100) != 0)) {
1786         result.customAttributeFilter_ = customAttributeFilter_;
1787       }
1788       if (((from_bitField0_ & 0x00000200) != 0)) {
1789         result.disableSpellCheck_ = disableSpellCheck_;
1790       }
1791       if (((from_bitField0_ & 0x00001000) != 0)) {
1792         result.publishTimeRange_ =
1793             publishTimeRangeBuilder_ == null ? publishTimeRange_ : publishTimeRangeBuilder_.build();
1794       }
1795     }
1796 
1797     @java.lang.Override
clone()1798     public Builder clone() {
1799       return super.clone();
1800     }
1801 
1802     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1803     public Builder setField(
1804         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1805       return super.setField(field, value);
1806     }
1807 
1808     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1809     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1810       return super.clearField(field);
1811     }
1812 
1813     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1814     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1815       return super.clearOneof(oneof);
1816     }
1817 
1818     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1819     public Builder setRepeatedField(
1820         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1821       return super.setRepeatedField(field, index, value);
1822     }
1823 
1824     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1825     public Builder addRepeatedField(
1826         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1827       return super.addRepeatedField(field, value);
1828     }
1829 
1830     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1831     public Builder mergeFrom(com.google.protobuf.Message other) {
1832       if (other instanceof com.google.cloud.talent.v4beta1.JobQuery) {
1833         return mergeFrom((com.google.cloud.talent.v4beta1.JobQuery) other);
1834       } else {
1835         super.mergeFrom(other);
1836         return this;
1837       }
1838     }
1839 
mergeFrom(com.google.cloud.talent.v4beta1.JobQuery other)1840     public Builder mergeFrom(com.google.cloud.talent.v4beta1.JobQuery other) {
1841       if (other == com.google.cloud.talent.v4beta1.JobQuery.getDefaultInstance()) return this;
1842       if (!other.getQuery().isEmpty()) {
1843         query_ = other.query_;
1844         bitField0_ |= 0x00000001;
1845         onChanged();
1846       }
1847       if (!other.getQueryLanguageCode().isEmpty()) {
1848         queryLanguageCode_ = other.queryLanguageCode_;
1849         bitField0_ |= 0x00000002;
1850         onChanged();
1851       }
1852       if (!other.companies_.isEmpty()) {
1853         if (companies_.isEmpty()) {
1854           companies_ = other.companies_;
1855           bitField0_ = (bitField0_ & ~0x00000004);
1856         } else {
1857           ensureCompaniesIsMutable();
1858           companies_.addAll(other.companies_);
1859         }
1860         onChanged();
1861       }
1862       if (locationFiltersBuilder_ == null) {
1863         if (!other.locationFilters_.isEmpty()) {
1864           if (locationFilters_.isEmpty()) {
1865             locationFilters_ = other.locationFilters_;
1866             bitField0_ = (bitField0_ & ~0x00000008);
1867           } else {
1868             ensureLocationFiltersIsMutable();
1869             locationFilters_.addAll(other.locationFilters_);
1870           }
1871           onChanged();
1872         }
1873       } else {
1874         if (!other.locationFilters_.isEmpty()) {
1875           if (locationFiltersBuilder_.isEmpty()) {
1876             locationFiltersBuilder_.dispose();
1877             locationFiltersBuilder_ = null;
1878             locationFilters_ = other.locationFilters_;
1879             bitField0_ = (bitField0_ & ~0x00000008);
1880             locationFiltersBuilder_ =
1881                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
1882                     ? getLocationFiltersFieldBuilder()
1883                     : null;
1884           } else {
1885             locationFiltersBuilder_.addAllMessages(other.locationFilters_);
1886           }
1887         }
1888       }
1889       if (!other.jobCategories_.isEmpty()) {
1890         if (jobCategories_.isEmpty()) {
1891           jobCategories_ = other.jobCategories_;
1892           bitField0_ = (bitField0_ & ~0x00000010);
1893         } else {
1894           ensureJobCategoriesIsMutable();
1895           jobCategories_.addAll(other.jobCategories_);
1896         }
1897         onChanged();
1898       }
1899       if (other.hasCommuteFilter()) {
1900         mergeCommuteFilter(other.getCommuteFilter());
1901       }
1902       if (!other.companyDisplayNames_.isEmpty()) {
1903         if (companyDisplayNames_.isEmpty()) {
1904           companyDisplayNames_ = other.companyDisplayNames_;
1905           bitField0_ = (bitField0_ & ~0x00000040);
1906         } else {
1907           ensureCompanyDisplayNamesIsMutable();
1908           companyDisplayNames_.addAll(other.companyDisplayNames_);
1909         }
1910         onChanged();
1911       }
1912       if (other.hasCompensationFilter()) {
1913         mergeCompensationFilter(other.getCompensationFilter());
1914       }
1915       if (!other.getCustomAttributeFilter().isEmpty()) {
1916         customAttributeFilter_ = other.customAttributeFilter_;
1917         bitField0_ |= 0x00000100;
1918         onChanged();
1919       }
1920       if (other.getDisableSpellCheck() != false) {
1921         setDisableSpellCheck(other.getDisableSpellCheck());
1922       }
1923       if (!other.employmentTypes_.isEmpty()) {
1924         if (employmentTypes_.isEmpty()) {
1925           employmentTypes_ = other.employmentTypes_;
1926           bitField0_ = (bitField0_ & ~0x00000400);
1927         } else {
1928           ensureEmploymentTypesIsMutable();
1929           employmentTypes_.addAll(other.employmentTypes_);
1930         }
1931         onChanged();
1932       }
1933       if (!other.languageCodes_.isEmpty()) {
1934         if (languageCodes_.isEmpty()) {
1935           languageCodes_ = other.languageCodes_;
1936           bitField0_ = (bitField0_ & ~0x00000800);
1937         } else {
1938           ensureLanguageCodesIsMutable();
1939           languageCodes_.addAll(other.languageCodes_);
1940         }
1941         onChanged();
1942       }
1943       if (other.hasPublishTimeRange()) {
1944         mergePublishTimeRange(other.getPublishTimeRange());
1945       }
1946       if (!other.excludedJobs_.isEmpty()) {
1947         if (excludedJobs_.isEmpty()) {
1948           excludedJobs_ = other.excludedJobs_;
1949           bitField0_ = (bitField0_ & ~0x00002000);
1950         } else {
1951           ensureExcludedJobsIsMutable();
1952           excludedJobs_.addAll(other.excludedJobs_);
1953         }
1954         onChanged();
1955       }
1956       this.mergeUnknownFields(other.getUnknownFields());
1957       onChanged();
1958       return this;
1959     }
1960 
1961     @java.lang.Override
isInitialized()1962     public final boolean isInitialized() {
1963       return true;
1964     }
1965 
1966     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1967     public Builder mergeFrom(
1968         com.google.protobuf.CodedInputStream input,
1969         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1970         throws java.io.IOException {
1971       if (extensionRegistry == null) {
1972         throw new java.lang.NullPointerException();
1973       }
1974       try {
1975         boolean done = false;
1976         while (!done) {
1977           int tag = input.readTag();
1978           switch (tag) {
1979             case 0:
1980               done = true;
1981               break;
1982             case 10:
1983               {
1984                 query_ = input.readStringRequireUtf8();
1985                 bitField0_ |= 0x00000001;
1986                 break;
1987               } // case 10
1988             case 18:
1989               {
1990                 java.lang.String s = input.readStringRequireUtf8();
1991                 ensureCompaniesIsMutable();
1992                 companies_.add(s);
1993                 break;
1994               } // case 18
1995             case 26:
1996               {
1997                 com.google.cloud.talent.v4beta1.LocationFilter m =
1998                     input.readMessage(
1999                         com.google.cloud.talent.v4beta1.LocationFilter.parser(), extensionRegistry);
2000                 if (locationFiltersBuilder_ == null) {
2001                   ensureLocationFiltersIsMutable();
2002                   locationFilters_.add(m);
2003                 } else {
2004                   locationFiltersBuilder_.addMessage(m);
2005                 }
2006                 break;
2007               } // case 26
2008             case 32:
2009               {
2010                 int tmpRaw = input.readEnum();
2011                 ensureJobCategoriesIsMutable();
2012                 jobCategories_.add(tmpRaw);
2013                 break;
2014               } // case 32
2015             case 34:
2016               {
2017                 int length = input.readRawVarint32();
2018                 int oldLimit = input.pushLimit(length);
2019                 while (input.getBytesUntilLimit() > 0) {
2020                   int tmpRaw = input.readEnum();
2021                   ensureJobCategoriesIsMutable();
2022                   jobCategories_.add(tmpRaw);
2023                 }
2024                 input.popLimit(oldLimit);
2025                 break;
2026               } // case 34
2027             case 42:
2028               {
2029                 input.readMessage(getCommuteFilterFieldBuilder().getBuilder(), extensionRegistry);
2030                 bitField0_ |= 0x00000020;
2031                 break;
2032               } // case 42
2033             case 50:
2034               {
2035                 java.lang.String s = input.readStringRequireUtf8();
2036                 ensureCompanyDisplayNamesIsMutable();
2037                 companyDisplayNames_.add(s);
2038                 break;
2039               } // case 50
2040             case 58:
2041               {
2042                 input.readMessage(
2043                     getCompensationFilterFieldBuilder().getBuilder(), extensionRegistry);
2044                 bitField0_ |= 0x00000080;
2045                 break;
2046               } // case 58
2047             case 66:
2048               {
2049                 customAttributeFilter_ = input.readStringRequireUtf8();
2050                 bitField0_ |= 0x00000100;
2051                 break;
2052               } // case 66
2053             case 72:
2054               {
2055                 disableSpellCheck_ = input.readBool();
2056                 bitField0_ |= 0x00000200;
2057                 break;
2058               } // case 72
2059             case 80:
2060               {
2061                 int tmpRaw = input.readEnum();
2062                 ensureEmploymentTypesIsMutable();
2063                 employmentTypes_.add(tmpRaw);
2064                 break;
2065               } // case 80
2066             case 82:
2067               {
2068                 int length = input.readRawVarint32();
2069                 int oldLimit = input.pushLimit(length);
2070                 while (input.getBytesUntilLimit() > 0) {
2071                   int tmpRaw = input.readEnum();
2072                   ensureEmploymentTypesIsMutable();
2073                   employmentTypes_.add(tmpRaw);
2074                 }
2075                 input.popLimit(oldLimit);
2076                 break;
2077               } // case 82
2078             case 90:
2079               {
2080                 java.lang.String s = input.readStringRequireUtf8();
2081                 ensureLanguageCodesIsMutable();
2082                 languageCodes_.add(s);
2083                 break;
2084               } // case 90
2085             case 98:
2086               {
2087                 input.readMessage(
2088                     getPublishTimeRangeFieldBuilder().getBuilder(), extensionRegistry);
2089                 bitField0_ |= 0x00001000;
2090                 break;
2091               } // case 98
2092             case 106:
2093               {
2094                 java.lang.String s = input.readStringRequireUtf8();
2095                 ensureExcludedJobsIsMutable();
2096                 excludedJobs_.add(s);
2097                 break;
2098               } // case 106
2099             case 114:
2100               {
2101                 queryLanguageCode_ = input.readStringRequireUtf8();
2102                 bitField0_ |= 0x00000002;
2103                 break;
2104               } // case 114
2105             default:
2106               {
2107                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2108                   done = true; // was an endgroup tag
2109                 }
2110                 break;
2111               } // default:
2112           } // switch (tag)
2113         } // while (!done)
2114       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2115         throw e.unwrapIOException();
2116       } finally {
2117         onChanged();
2118       } // finally
2119       return this;
2120     }
2121 
2122     private int bitField0_;
2123 
2124     private java.lang.Object query_ = "";
2125     /**
2126      *
2127      *
2128      * <pre>
2129      * The query string that matches against the job title, description, and
2130      * location fields.
2131      * The maximum number of allowed characters is 255.
2132      * </pre>
2133      *
2134      * <code>string query = 1;</code>
2135      *
2136      * @return The query.
2137      */
getQuery()2138     public java.lang.String getQuery() {
2139       java.lang.Object ref = query_;
2140       if (!(ref instanceof java.lang.String)) {
2141         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2142         java.lang.String s = bs.toStringUtf8();
2143         query_ = s;
2144         return s;
2145       } else {
2146         return (java.lang.String) ref;
2147       }
2148     }
2149     /**
2150      *
2151      *
2152      * <pre>
2153      * The query string that matches against the job title, description, and
2154      * location fields.
2155      * The maximum number of allowed characters is 255.
2156      * </pre>
2157      *
2158      * <code>string query = 1;</code>
2159      *
2160      * @return The bytes for query.
2161      */
getQueryBytes()2162     public com.google.protobuf.ByteString getQueryBytes() {
2163       java.lang.Object ref = query_;
2164       if (ref instanceof String) {
2165         com.google.protobuf.ByteString b =
2166             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2167         query_ = b;
2168         return b;
2169       } else {
2170         return (com.google.protobuf.ByteString) ref;
2171       }
2172     }
2173     /**
2174      *
2175      *
2176      * <pre>
2177      * The query string that matches against the job title, description, and
2178      * location fields.
2179      * The maximum number of allowed characters is 255.
2180      * </pre>
2181      *
2182      * <code>string query = 1;</code>
2183      *
2184      * @param value The query to set.
2185      * @return This builder for chaining.
2186      */
setQuery(java.lang.String value)2187     public Builder setQuery(java.lang.String value) {
2188       if (value == null) {
2189         throw new NullPointerException();
2190       }
2191       query_ = value;
2192       bitField0_ |= 0x00000001;
2193       onChanged();
2194       return this;
2195     }
2196     /**
2197      *
2198      *
2199      * <pre>
2200      * The query string that matches against the job title, description, and
2201      * location fields.
2202      * The maximum number of allowed characters is 255.
2203      * </pre>
2204      *
2205      * <code>string query = 1;</code>
2206      *
2207      * @return This builder for chaining.
2208      */
clearQuery()2209     public Builder clearQuery() {
2210       query_ = getDefaultInstance().getQuery();
2211       bitField0_ = (bitField0_ & ~0x00000001);
2212       onChanged();
2213       return this;
2214     }
2215     /**
2216      *
2217      *
2218      * <pre>
2219      * The query string that matches against the job title, description, and
2220      * location fields.
2221      * The maximum number of allowed characters is 255.
2222      * </pre>
2223      *
2224      * <code>string query = 1;</code>
2225      *
2226      * @param value The bytes for query to set.
2227      * @return This builder for chaining.
2228      */
setQueryBytes(com.google.protobuf.ByteString value)2229     public Builder setQueryBytes(com.google.protobuf.ByteString value) {
2230       if (value == null) {
2231         throw new NullPointerException();
2232       }
2233       checkByteStringIsUtf8(value);
2234       query_ = value;
2235       bitField0_ |= 0x00000001;
2236       onChanged();
2237       return this;
2238     }
2239 
2240     private java.lang.Object queryLanguageCode_ = "";
2241     /**
2242      *
2243      *
2244      * <pre>
2245      * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
2246      * For example, "en-US". This field helps to better interpret the query.
2247      * If a value isn't specified, the query language code is automatically
2248      * detected, which may not be accurate.
2249      * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
2250      * For more information, see
2251      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2252      * </pre>
2253      *
2254      * <code>string query_language_code = 14;</code>
2255      *
2256      * @return The queryLanguageCode.
2257      */
getQueryLanguageCode()2258     public java.lang.String getQueryLanguageCode() {
2259       java.lang.Object ref = queryLanguageCode_;
2260       if (!(ref instanceof java.lang.String)) {
2261         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2262         java.lang.String s = bs.toStringUtf8();
2263         queryLanguageCode_ = s;
2264         return s;
2265       } else {
2266         return (java.lang.String) ref;
2267       }
2268     }
2269     /**
2270      *
2271      *
2272      * <pre>
2273      * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
2274      * For example, "en-US". This field helps to better interpret the query.
2275      * If a value isn't specified, the query language code is automatically
2276      * detected, which may not be accurate.
2277      * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
2278      * For more information, see
2279      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2280      * </pre>
2281      *
2282      * <code>string query_language_code = 14;</code>
2283      *
2284      * @return The bytes for queryLanguageCode.
2285      */
getQueryLanguageCodeBytes()2286     public com.google.protobuf.ByteString getQueryLanguageCodeBytes() {
2287       java.lang.Object ref = queryLanguageCode_;
2288       if (ref instanceof String) {
2289         com.google.protobuf.ByteString b =
2290             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2291         queryLanguageCode_ = b;
2292         return b;
2293       } else {
2294         return (com.google.protobuf.ByteString) ref;
2295       }
2296     }
2297     /**
2298      *
2299      *
2300      * <pre>
2301      * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
2302      * For example, "en-US". This field helps to better interpret the query.
2303      * If a value isn't specified, the query language code is automatically
2304      * detected, which may not be accurate.
2305      * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
2306      * For more information, see
2307      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2308      * </pre>
2309      *
2310      * <code>string query_language_code = 14;</code>
2311      *
2312      * @param value The queryLanguageCode to set.
2313      * @return This builder for chaining.
2314      */
setQueryLanguageCode(java.lang.String value)2315     public Builder setQueryLanguageCode(java.lang.String value) {
2316       if (value == null) {
2317         throw new NullPointerException();
2318       }
2319       queryLanguageCode_ = value;
2320       bitField0_ |= 0x00000002;
2321       onChanged();
2322       return this;
2323     }
2324     /**
2325      *
2326      *
2327      * <pre>
2328      * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
2329      * For example, "en-US". This field helps to better interpret the query.
2330      * If a value isn't specified, the query language code is automatically
2331      * detected, which may not be accurate.
2332      * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
2333      * For more information, see
2334      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2335      * </pre>
2336      *
2337      * <code>string query_language_code = 14;</code>
2338      *
2339      * @return This builder for chaining.
2340      */
clearQueryLanguageCode()2341     public Builder clearQueryLanguageCode() {
2342       queryLanguageCode_ = getDefaultInstance().getQueryLanguageCode();
2343       bitField0_ = (bitField0_ & ~0x00000002);
2344       onChanged();
2345       return this;
2346     }
2347     /**
2348      *
2349      *
2350      * <pre>
2351      * The language code of [query][google.cloud.talent.v4beta1.JobQuery.query].
2352      * For example, "en-US". This field helps to better interpret the query.
2353      * If a value isn't specified, the query language code is automatically
2354      * detected, which may not be accurate.
2355      * Language code should be in BCP-47 format, such as "en-US" or "sr-Latn".
2356      * For more information, see
2357      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
2358      * </pre>
2359      *
2360      * <code>string query_language_code = 14;</code>
2361      *
2362      * @param value The bytes for queryLanguageCode to set.
2363      * @return This builder for chaining.
2364      */
setQueryLanguageCodeBytes(com.google.protobuf.ByteString value)2365     public Builder setQueryLanguageCodeBytes(com.google.protobuf.ByteString value) {
2366       if (value == null) {
2367         throw new NullPointerException();
2368       }
2369       checkByteStringIsUtf8(value);
2370       queryLanguageCode_ = value;
2371       bitField0_ |= 0x00000002;
2372       onChanged();
2373       return this;
2374     }
2375 
2376     private com.google.protobuf.LazyStringList companies_ =
2377         com.google.protobuf.LazyStringArrayList.EMPTY;
2378 
ensureCompaniesIsMutable()2379     private void ensureCompaniesIsMutable() {
2380       if (!((bitField0_ & 0x00000004) != 0)) {
2381         companies_ = new com.google.protobuf.LazyStringArrayList(companies_);
2382         bitField0_ |= 0x00000004;
2383       }
2384     }
2385     /**
2386      *
2387      *
2388      * <pre>
2389      * This filter specifies the company entities to search against.
2390      * If a value isn't specified, jobs are searched for against all
2391      * companies.
2392      * If multiple values are specified, jobs are searched against the
2393      * companies specified.
2394      * The format is
2395      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2396      * example, "projects/foo/tenants/bar/companies/baz".
2397      * If tenant id is unspecified, the default tenant is used. For
2398      * example, "projects/foo/companies/bar".
2399      * At most 20 company filters are allowed.
2400      * </pre>
2401      *
2402      * <code>repeated string companies = 2;</code>
2403      *
2404      * @return A list containing the companies.
2405      */
getCompaniesList()2406     public com.google.protobuf.ProtocolStringList getCompaniesList() {
2407       return companies_.getUnmodifiableView();
2408     }
2409     /**
2410      *
2411      *
2412      * <pre>
2413      * This filter specifies the company entities to search against.
2414      * If a value isn't specified, jobs are searched for against all
2415      * companies.
2416      * If multiple values are specified, jobs are searched against the
2417      * companies specified.
2418      * The format is
2419      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2420      * example, "projects/foo/tenants/bar/companies/baz".
2421      * If tenant id is unspecified, the default tenant is used. For
2422      * example, "projects/foo/companies/bar".
2423      * At most 20 company filters are allowed.
2424      * </pre>
2425      *
2426      * <code>repeated string companies = 2;</code>
2427      *
2428      * @return The count of companies.
2429      */
getCompaniesCount()2430     public int getCompaniesCount() {
2431       return companies_.size();
2432     }
2433     /**
2434      *
2435      *
2436      * <pre>
2437      * This filter specifies the company entities to search against.
2438      * If a value isn't specified, jobs are searched for against all
2439      * companies.
2440      * If multiple values are specified, jobs are searched against the
2441      * companies specified.
2442      * The format is
2443      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2444      * example, "projects/foo/tenants/bar/companies/baz".
2445      * If tenant id is unspecified, the default tenant is used. For
2446      * example, "projects/foo/companies/bar".
2447      * At most 20 company filters are allowed.
2448      * </pre>
2449      *
2450      * <code>repeated string companies = 2;</code>
2451      *
2452      * @param index The index of the element to return.
2453      * @return The companies at the given index.
2454      */
getCompanies(int index)2455     public java.lang.String getCompanies(int index) {
2456       return companies_.get(index);
2457     }
2458     /**
2459      *
2460      *
2461      * <pre>
2462      * This filter specifies the company entities to search against.
2463      * If a value isn't specified, jobs are searched for against all
2464      * companies.
2465      * If multiple values are specified, jobs are searched against the
2466      * companies specified.
2467      * The format is
2468      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2469      * example, "projects/foo/tenants/bar/companies/baz".
2470      * If tenant id is unspecified, the default tenant is used. For
2471      * example, "projects/foo/companies/bar".
2472      * At most 20 company filters are allowed.
2473      * </pre>
2474      *
2475      * <code>repeated string companies = 2;</code>
2476      *
2477      * @param index The index of the value to return.
2478      * @return The bytes of the companies at the given index.
2479      */
getCompaniesBytes(int index)2480     public com.google.protobuf.ByteString getCompaniesBytes(int index) {
2481       return companies_.getByteString(index);
2482     }
2483     /**
2484      *
2485      *
2486      * <pre>
2487      * This filter specifies the company entities to search against.
2488      * If a value isn't specified, jobs are searched for against all
2489      * companies.
2490      * If multiple values are specified, jobs are searched against the
2491      * companies specified.
2492      * The format is
2493      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2494      * example, "projects/foo/tenants/bar/companies/baz".
2495      * If tenant id is unspecified, the default tenant is used. For
2496      * example, "projects/foo/companies/bar".
2497      * At most 20 company filters are allowed.
2498      * </pre>
2499      *
2500      * <code>repeated string companies = 2;</code>
2501      *
2502      * @param index The index to set the value at.
2503      * @param value The companies to set.
2504      * @return This builder for chaining.
2505      */
setCompanies(int index, java.lang.String value)2506     public Builder setCompanies(int index, java.lang.String value) {
2507       if (value == null) {
2508         throw new NullPointerException();
2509       }
2510       ensureCompaniesIsMutable();
2511       companies_.set(index, value);
2512       onChanged();
2513       return this;
2514     }
2515     /**
2516      *
2517      *
2518      * <pre>
2519      * This filter specifies the company entities to search against.
2520      * If a value isn't specified, jobs are searched for against all
2521      * companies.
2522      * If multiple values are specified, jobs are searched against the
2523      * companies specified.
2524      * The format is
2525      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2526      * example, "projects/foo/tenants/bar/companies/baz".
2527      * If tenant id is unspecified, the default tenant is used. For
2528      * example, "projects/foo/companies/bar".
2529      * At most 20 company filters are allowed.
2530      * </pre>
2531      *
2532      * <code>repeated string companies = 2;</code>
2533      *
2534      * @param value The companies to add.
2535      * @return This builder for chaining.
2536      */
addCompanies(java.lang.String value)2537     public Builder addCompanies(java.lang.String value) {
2538       if (value == null) {
2539         throw new NullPointerException();
2540       }
2541       ensureCompaniesIsMutable();
2542       companies_.add(value);
2543       onChanged();
2544       return this;
2545     }
2546     /**
2547      *
2548      *
2549      * <pre>
2550      * This filter specifies the company entities to search against.
2551      * If a value isn't specified, jobs are searched for against all
2552      * companies.
2553      * If multiple values are specified, jobs are searched against the
2554      * companies specified.
2555      * The format is
2556      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2557      * example, "projects/foo/tenants/bar/companies/baz".
2558      * If tenant id is unspecified, the default tenant is used. For
2559      * example, "projects/foo/companies/bar".
2560      * At most 20 company filters are allowed.
2561      * </pre>
2562      *
2563      * <code>repeated string companies = 2;</code>
2564      *
2565      * @param values The companies to add.
2566      * @return This builder for chaining.
2567      */
addAllCompanies(java.lang.Iterable<java.lang.String> values)2568     public Builder addAllCompanies(java.lang.Iterable<java.lang.String> values) {
2569       ensureCompaniesIsMutable();
2570       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, companies_);
2571       onChanged();
2572       return this;
2573     }
2574     /**
2575      *
2576      *
2577      * <pre>
2578      * This filter specifies the company entities to search against.
2579      * If a value isn't specified, jobs are searched for against all
2580      * companies.
2581      * If multiple values are specified, jobs are searched against the
2582      * companies specified.
2583      * The format is
2584      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2585      * example, "projects/foo/tenants/bar/companies/baz".
2586      * If tenant id is unspecified, the default tenant is used. For
2587      * example, "projects/foo/companies/bar".
2588      * At most 20 company filters are allowed.
2589      * </pre>
2590      *
2591      * <code>repeated string companies = 2;</code>
2592      *
2593      * @return This builder for chaining.
2594      */
clearCompanies()2595     public Builder clearCompanies() {
2596       companies_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2597       bitField0_ = (bitField0_ & ~0x00000004);
2598       onChanged();
2599       return this;
2600     }
2601     /**
2602      *
2603      *
2604      * <pre>
2605      * This filter specifies the company entities to search against.
2606      * If a value isn't specified, jobs are searched for against all
2607      * companies.
2608      * If multiple values are specified, jobs are searched against the
2609      * companies specified.
2610      * The format is
2611      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
2612      * example, "projects/foo/tenants/bar/companies/baz".
2613      * If tenant id is unspecified, the default tenant is used. For
2614      * example, "projects/foo/companies/bar".
2615      * At most 20 company filters are allowed.
2616      * </pre>
2617      *
2618      * <code>repeated string companies = 2;</code>
2619      *
2620      * @param value The bytes of the companies to add.
2621      * @return This builder for chaining.
2622      */
addCompaniesBytes(com.google.protobuf.ByteString value)2623     public Builder addCompaniesBytes(com.google.protobuf.ByteString value) {
2624       if (value == null) {
2625         throw new NullPointerException();
2626       }
2627       checkByteStringIsUtf8(value);
2628       ensureCompaniesIsMutable();
2629       companies_.add(value);
2630       onChanged();
2631       return this;
2632     }
2633 
2634     private java.util.List<com.google.cloud.talent.v4beta1.LocationFilter> locationFilters_ =
2635         java.util.Collections.emptyList();
2636 
ensureLocationFiltersIsMutable()2637     private void ensureLocationFiltersIsMutable() {
2638       if (!((bitField0_ & 0x00000008) != 0)) {
2639         locationFilters_ =
2640             new java.util.ArrayList<com.google.cloud.talent.v4beta1.LocationFilter>(
2641                 locationFilters_);
2642         bitField0_ |= 0x00000008;
2643       }
2644     }
2645 
2646     private com.google.protobuf.RepeatedFieldBuilderV3<
2647             com.google.cloud.talent.v4beta1.LocationFilter,
2648             com.google.cloud.talent.v4beta1.LocationFilter.Builder,
2649             com.google.cloud.talent.v4beta1.LocationFilterOrBuilder>
2650         locationFiltersBuilder_;
2651 
2652     /**
2653      *
2654      *
2655      * <pre>
2656      * The location filter specifies geo-regions containing the jobs to
2657      * search against. See
2658      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2659      * information.
2660      * If a location value isn't specified, jobs fitting the other search
2661      * criteria are retrieved regardless of where they're located.
2662      * If multiple values are specified, jobs are retrieved from any of the
2663      * specified locations. If different values are specified for the
2664      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2665      * parameter, the maximum provided distance is used for all locations.
2666      * At most 5 location filters are allowed.
2667      * </pre>
2668      *
2669      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2670      */
getLocationFiltersList()2671     public java.util.List<com.google.cloud.talent.v4beta1.LocationFilter> getLocationFiltersList() {
2672       if (locationFiltersBuilder_ == null) {
2673         return java.util.Collections.unmodifiableList(locationFilters_);
2674       } else {
2675         return locationFiltersBuilder_.getMessageList();
2676       }
2677     }
2678     /**
2679      *
2680      *
2681      * <pre>
2682      * The location filter specifies geo-regions containing the jobs to
2683      * search against. See
2684      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2685      * information.
2686      * If a location value isn't specified, jobs fitting the other search
2687      * criteria are retrieved regardless of where they're located.
2688      * If multiple values are specified, jobs are retrieved from any of the
2689      * specified locations. If different values are specified for the
2690      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2691      * parameter, the maximum provided distance is used for all locations.
2692      * At most 5 location filters are allowed.
2693      * </pre>
2694      *
2695      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2696      */
getLocationFiltersCount()2697     public int getLocationFiltersCount() {
2698       if (locationFiltersBuilder_ == null) {
2699         return locationFilters_.size();
2700       } else {
2701         return locationFiltersBuilder_.getCount();
2702       }
2703     }
2704     /**
2705      *
2706      *
2707      * <pre>
2708      * The location filter specifies geo-regions containing the jobs to
2709      * search against. See
2710      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2711      * information.
2712      * If a location value isn't specified, jobs fitting the other search
2713      * criteria are retrieved regardless of where they're located.
2714      * If multiple values are specified, jobs are retrieved from any of the
2715      * specified locations. If different values are specified for the
2716      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2717      * parameter, the maximum provided distance is used for all locations.
2718      * At most 5 location filters are allowed.
2719      * </pre>
2720      *
2721      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2722      */
getLocationFilters(int index)2723     public com.google.cloud.talent.v4beta1.LocationFilter getLocationFilters(int index) {
2724       if (locationFiltersBuilder_ == null) {
2725         return locationFilters_.get(index);
2726       } else {
2727         return locationFiltersBuilder_.getMessage(index);
2728       }
2729     }
2730     /**
2731      *
2732      *
2733      * <pre>
2734      * The location filter specifies geo-regions containing the jobs to
2735      * search against. See
2736      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2737      * information.
2738      * If a location value isn't specified, jobs fitting the other search
2739      * criteria are retrieved regardless of where they're located.
2740      * If multiple values are specified, jobs are retrieved from any of the
2741      * specified locations. If different values are specified for the
2742      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2743      * parameter, the maximum provided distance is used for all locations.
2744      * At most 5 location filters are allowed.
2745      * </pre>
2746      *
2747      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2748      */
setLocationFilters( int index, com.google.cloud.talent.v4beta1.LocationFilter value)2749     public Builder setLocationFilters(
2750         int index, com.google.cloud.talent.v4beta1.LocationFilter value) {
2751       if (locationFiltersBuilder_ == null) {
2752         if (value == null) {
2753           throw new NullPointerException();
2754         }
2755         ensureLocationFiltersIsMutable();
2756         locationFilters_.set(index, value);
2757         onChanged();
2758       } else {
2759         locationFiltersBuilder_.setMessage(index, value);
2760       }
2761       return this;
2762     }
2763     /**
2764      *
2765      *
2766      * <pre>
2767      * The location filter specifies geo-regions containing the jobs to
2768      * search against. See
2769      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2770      * information.
2771      * If a location value isn't specified, jobs fitting the other search
2772      * criteria are retrieved regardless of where they're located.
2773      * If multiple values are specified, jobs are retrieved from any of the
2774      * specified locations. If different values are specified for the
2775      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2776      * parameter, the maximum provided distance is used for all locations.
2777      * At most 5 location filters are allowed.
2778      * </pre>
2779      *
2780      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2781      */
setLocationFilters( int index, com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue)2782     public Builder setLocationFilters(
2783         int index, com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue) {
2784       if (locationFiltersBuilder_ == null) {
2785         ensureLocationFiltersIsMutable();
2786         locationFilters_.set(index, builderForValue.build());
2787         onChanged();
2788       } else {
2789         locationFiltersBuilder_.setMessage(index, builderForValue.build());
2790       }
2791       return this;
2792     }
2793     /**
2794      *
2795      *
2796      * <pre>
2797      * The location filter specifies geo-regions containing the jobs to
2798      * search against. See
2799      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2800      * information.
2801      * If a location value isn't specified, jobs fitting the other search
2802      * criteria are retrieved regardless of where they're located.
2803      * If multiple values are specified, jobs are retrieved from any of the
2804      * specified locations. If different values are specified for the
2805      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2806      * parameter, the maximum provided distance is used for all locations.
2807      * At most 5 location filters are allowed.
2808      * </pre>
2809      *
2810      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2811      */
addLocationFilters(com.google.cloud.talent.v4beta1.LocationFilter value)2812     public Builder addLocationFilters(com.google.cloud.talent.v4beta1.LocationFilter value) {
2813       if (locationFiltersBuilder_ == null) {
2814         if (value == null) {
2815           throw new NullPointerException();
2816         }
2817         ensureLocationFiltersIsMutable();
2818         locationFilters_.add(value);
2819         onChanged();
2820       } else {
2821         locationFiltersBuilder_.addMessage(value);
2822       }
2823       return this;
2824     }
2825     /**
2826      *
2827      *
2828      * <pre>
2829      * The location filter specifies geo-regions containing the jobs to
2830      * search against. See
2831      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2832      * information.
2833      * If a location value isn't specified, jobs fitting the other search
2834      * criteria are retrieved regardless of where they're located.
2835      * If multiple values are specified, jobs are retrieved from any of the
2836      * specified locations. If different values are specified for the
2837      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2838      * parameter, the maximum provided distance is used for all locations.
2839      * At most 5 location filters are allowed.
2840      * </pre>
2841      *
2842      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2843      */
addLocationFilters( int index, com.google.cloud.talent.v4beta1.LocationFilter value)2844     public Builder addLocationFilters(
2845         int index, com.google.cloud.talent.v4beta1.LocationFilter value) {
2846       if (locationFiltersBuilder_ == null) {
2847         if (value == null) {
2848           throw new NullPointerException();
2849         }
2850         ensureLocationFiltersIsMutable();
2851         locationFilters_.add(index, value);
2852         onChanged();
2853       } else {
2854         locationFiltersBuilder_.addMessage(index, value);
2855       }
2856       return this;
2857     }
2858     /**
2859      *
2860      *
2861      * <pre>
2862      * The location filter specifies geo-regions containing the jobs to
2863      * search against. See
2864      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2865      * information.
2866      * If a location value isn't specified, jobs fitting the other search
2867      * criteria are retrieved regardless of where they're located.
2868      * If multiple values are specified, jobs are retrieved from any of the
2869      * specified locations. If different values are specified for the
2870      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2871      * parameter, the maximum provided distance is used for all locations.
2872      * At most 5 location filters are allowed.
2873      * </pre>
2874      *
2875      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2876      */
addLocationFilters( com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue)2877     public Builder addLocationFilters(
2878         com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue) {
2879       if (locationFiltersBuilder_ == null) {
2880         ensureLocationFiltersIsMutable();
2881         locationFilters_.add(builderForValue.build());
2882         onChanged();
2883       } else {
2884         locationFiltersBuilder_.addMessage(builderForValue.build());
2885       }
2886       return this;
2887     }
2888     /**
2889      *
2890      *
2891      * <pre>
2892      * The location filter specifies geo-regions containing the jobs to
2893      * search against. See
2894      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2895      * information.
2896      * If a location value isn't specified, jobs fitting the other search
2897      * criteria are retrieved regardless of where they're located.
2898      * If multiple values are specified, jobs are retrieved from any of the
2899      * specified locations. If different values are specified for the
2900      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2901      * parameter, the maximum provided distance is used for all locations.
2902      * At most 5 location filters are allowed.
2903      * </pre>
2904      *
2905      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2906      */
addLocationFilters( int index, com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue)2907     public Builder addLocationFilters(
2908         int index, com.google.cloud.talent.v4beta1.LocationFilter.Builder builderForValue) {
2909       if (locationFiltersBuilder_ == null) {
2910         ensureLocationFiltersIsMutable();
2911         locationFilters_.add(index, builderForValue.build());
2912         onChanged();
2913       } else {
2914         locationFiltersBuilder_.addMessage(index, builderForValue.build());
2915       }
2916       return this;
2917     }
2918     /**
2919      *
2920      *
2921      * <pre>
2922      * The location filter specifies geo-regions containing the jobs to
2923      * search against. See
2924      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2925      * information.
2926      * If a location value isn't specified, jobs fitting the other search
2927      * criteria are retrieved regardless of where they're located.
2928      * If multiple values are specified, jobs are retrieved from any of the
2929      * specified locations. If different values are specified for the
2930      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2931      * parameter, the maximum provided distance is used for all locations.
2932      * At most 5 location filters are allowed.
2933      * </pre>
2934      *
2935      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2936      */
addAllLocationFilters( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.LocationFilter> values)2937     public Builder addAllLocationFilters(
2938         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.LocationFilter> values) {
2939       if (locationFiltersBuilder_ == null) {
2940         ensureLocationFiltersIsMutable();
2941         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, locationFilters_);
2942         onChanged();
2943       } else {
2944         locationFiltersBuilder_.addAllMessages(values);
2945       }
2946       return this;
2947     }
2948     /**
2949      *
2950      *
2951      * <pre>
2952      * The location filter specifies geo-regions containing the jobs to
2953      * search against. See
2954      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2955      * information.
2956      * If a location value isn't specified, jobs fitting the other search
2957      * criteria are retrieved regardless of where they're located.
2958      * If multiple values are specified, jobs are retrieved from any of the
2959      * specified locations. If different values are specified for the
2960      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2961      * parameter, the maximum provided distance is used for all locations.
2962      * At most 5 location filters are allowed.
2963      * </pre>
2964      *
2965      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2966      */
clearLocationFilters()2967     public Builder clearLocationFilters() {
2968       if (locationFiltersBuilder_ == null) {
2969         locationFilters_ = java.util.Collections.emptyList();
2970         bitField0_ = (bitField0_ & ~0x00000008);
2971         onChanged();
2972       } else {
2973         locationFiltersBuilder_.clear();
2974       }
2975       return this;
2976     }
2977     /**
2978      *
2979      *
2980      * <pre>
2981      * The location filter specifies geo-regions containing the jobs to
2982      * search against. See
2983      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
2984      * information.
2985      * If a location value isn't specified, jobs fitting the other search
2986      * criteria are retrieved regardless of where they're located.
2987      * If multiple values are specified, jobs are retrieved from any of the
2988      * specified locations. If different values are specified for the
2989      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
2990      * parameter, the maximum provided distance is used for all locations.
2991      * At most 5 location filters are allowed.
2992      * </pre>
2993      *
2994      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
2995      */
removeLocationFilters(int index)2996     public Builder removeLocationFilters(int index) {
2997       if (locationFiltersBuilder_ == null) {
2998         ensureLocationFiltersIsMutable();
2999         locationFilters_.remove(index);
3000         onChanged();
3001       } else {
3002         locationFiltersBuilder_.remove(index);
3003       }
3004       return this;
3005     }
3006     /**
3007      *
3008      *
3009      * <pre>
3010      * The location filter specifies geo-regions containing the jobs to
3011      * search against. See
3012      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3013      * information.
3014      * If a location value isn't specified, jobs fitting the other search
3015      * criteria are retrieved regardless of where they're located.
3016      * If multiple values are specified, jobs are retrieved from any of the
3017      * specified locations. If different values are specified for the
3018      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3019      * parameter, the maximum provided distance is used for all locations.
3020      * At most 5 location filters are allowed.
3021      * </pre>
3022      *
3023      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3024      */
getLocationFiltersBuilder( int index)3025     public com.google.cloud.talent.v4beta1.LocationFilter.Builder getLocationFiltersBuilder(
3026         int index) {
3027       return getLocationFiltersFieldBuilder().getBuilder(index);
3028     }
3029     /**
3030      *
3031      *
3032      * <pre>
3033      * The location filter specifies geo-regions containing the jobs to
3034      * search against. See
3035      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3036      * information.
3037      * If a location value isn't specified, jobs fitting the other search
3038      * criteria are retrieved regardless of where they're located.
3039      * If multiple values are specified, jobs are retrieved from any of the
3040      * specified locations. If different values are specified for the
3041      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3042      * parameter, the maximum provided distance is used for all locations.
3043      * At most 5 location filters are allowed.
3044      * </pre>
3045      *
3046      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3047      */
getLocationFiltersOrBuilder( int index)3048     public com.google.cloud.talent.v4beta1.LocationFilterOrBuilder getLocationFiltersOrBuilder(
3049         int index) {
3050       if (locationFiltersBuilder_ == null) {
3051         return locationFilters_.get(index);
3052       } else {
3053         return locationFiltersBuilder_.getMessageOrBuilder(index);
3054       }
3055     }
3056     /**
3057      *
3058      *
3059      * <pre>
3060      * The location filter specifies geo-regions containing the jobs to
3061      * search against. See
3062      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3063      * information.
3064      * If a location value isn't specified, jobs fitting the other search
3065      * criteria are retrieved regardless of where they're located.
3066      * If multiple values are specified, jobs are retrieved from any of the
3067      * specified locations. If different values are specified for the
3068      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3069      * parameter, the maximum provided distance is used for all locations.
3070      * At most 5 location filters are allowed.
3071      * </pre>
3072      *
3073      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3074      */
3075     public java.util.List<? extends com.google.cloud.talent.v4beta1.LocationFilterOrBuilder>
getLocationFiltersOrBuilderList()3076         getLocationFiltersOrBuilderList() {
3077       if (locationFiltersBuilder_ != null) {
3078         return locationFiltersBuilder_.getMessageOrBuilderList();
3079       } else {
3080         return java.util.Collections.unmodifiableList(locationFilters_);
3081       }
3082     }
3083     /**
3084      *
3085      *
3086      * <pre>
3087      * The location filter specifies geo-regions containing the jobs to
3088      * search against. See
3089      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3090      * information.
3091      * If a location value isn't specified, jobs fitting the other search
3092      * criteria are retrieved regardless of where they're located.
3093      * If multiple values are specified, jobs are retrieved from any of the
3094      * specified locations. If different values are specified for the
3095      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3096      * parameter, the maximum provided distance is used for all locations.
3097      * At most 5 location filters are allowed.
3098      * </pre>
3099      *
3100      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3101      */
addLocationFiltersBuilder()3102     public com.google.cloud.talent.v4beta1.LocationFilter.Builder addLocationFiltersBuilder() {
3103       return getLocationFiltersFieldBuilder()
3104           .addBuilder(com.google.cloud.talent.v4beta1.LocationFilter.getDefaultInstance());
3105     }
3106     /**
3107      *
3108      *
3109      * <pre>
3110      * The location filter specifies geo-regions containing the jobs to
3111      * search against. See
3112      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3113      * information.
3114      * If a location value isn't specified, jobs fitting the other search
3115      * criteria are retrieved regardless of where they're located.
3116      * If multiple values are specified, jobs are retrieved from any of the
3117      * specified locations. If different values are specified for the
3118      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3119      * parameter, the maximum provided distance is used for all locations.
3120      * At most 5 location filters are allowed.
3121      * </pre>
3122      *
3123      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3124      */
addLocationFiltersBuilder( int index)3125     public com.google.cloud.talent.v4beta1.LocationFilter.Builder addLocationFiltersBuilder(
3126         int index) {
3127       return getLocationFiltersFieldBuilder()
3128           .addBuilder(index, com.google.cloud.talent.v4beta1.LocationFilter.getDefaultInstance());
3129     }
3130     /**
3131      *
3132      *
3133      * <pre>
3134      * The location filter specifies geo-regions containing the jobs to
3135      * search against. See
3136      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] for more
3137      * information.
3138      * If a location value isn't specified, jobs fitting the other search
3139      * criteria are retrieved regardless of where they're located.
3140      * If multiple values are specified, jobs are retrieved from any of the
3141      * specified locations. If different values are specified for the
3142      * [LocationFilter.distance_in_miles][google.cloud.talent.v4beta1.LocationFilter.distance_in_miles]
3143      * parameter, the maximum provided distance is used for all locations.
3144      * At most 5 location filters are allowed.
3145      * </pre>
3146      *
3147      * <code>repeated .google.cloud.talent.v4beta1.LocationFilter location_filters = 3;</code>
3148      */
3149     public java.util.List<com.google.cloud.talent.v4beta1.LocationFilter.Builder>
getLocationFiltersBuilderList()3150         getLocationFiltersBuilderList() {
3151       return getLocationFiltersFieldBuilder().getBuilderList();
3152     }
3153 
3154     private com.google.protobuf.RepeatedFieldBuilderV3<
3155             com.google.cloud.talent.v4beta1.LocationFilter,
3156             com.google.cloud.talent.v4beta1.LocationFilter.Builder,
3157             com.google.cloud.talent.v4beta1.LocationFilterOrBuilder>
getLocationFiltersFieldBuilder()3158         getLocationFiltersFieldBuilder() {
3159       if (locationFiltersBuilder_ == null) {
3160         locationFiltersBuilder_ =
3161             new com.google.protobuf.RepeatedFieldBuilderV3<
3162                 com.google.cloud.talent.v4beta1.LocationFilter,
3163                 com.google.cloud.talent.v4beta1.LocationFilter.Builder,
3164                 com.google.cloud.talent.v4beta1.LocationFilterOrBuilder>(
3165                 locationFilters_,
3166                 ((bitField0_ & 0x00000008) != 0),
3167                 getParentForChildren(),
3168                 isClean());
3169         locationFilters_ = null;
3170       }
3171       return locationFiltersBuilder_;
3172     }
3173 
3174     private java.util.List<java.lang.Integer> jobCategories_ = java.util.Collections.emptyList();
3175 
ensureJobCategoriesIsMutable()3176     private void ensureJobCategoriesIsMutable() {
3177       if (!((bitField0_ & 0x00000010) != 0)) {
3178         jobCategories_ = new java.util.ArrayList<java.lang.Integer>(jobCategories_);
3179         bitField0_ |= 0x00000010;
3180       }
3181     }
3182     /**
3183      *
3184      *
3185      * <pre>
3186      * The category filter specifies the categories of jobs to search against.
3187      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3188      * information.
3189      * If a value isn't specified, jobs from any category are searched against.
3190      * If multiple values are specified, jobs from any of the specified
3191      * categories are searched against.
3192      * </pre>
3193      *
3194      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3195      *
3196      * @return A list containing the jobCategories.
3197      */
getJobCategoriesList()3198     public java.util.List<com.google.cloud.talent.v4beta1.JobCategory> getJobCategoriesList() {
3199       return new com.google.protobuf.Internal.ListAdapter<
3200           java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>(
3201           jobCategories_, jobCategories_converter_);
3202     }
3203     /**
3204      *
3205      *
3206      * <pre>
3207      * The category filter specifies the categories of jobs to search against.
3208      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3209      * information.
3210      * If a value isn't specified, jobs from any category are searched against.
3211      * If multiple values are specified, jobs from any of the specified
3212      * categories are searched against.
3213      * </pre>
3214      *
3215      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3216      *
3217      * @return The count of jobCategories.
3218      */
getJobCategoriesCount()3219     public int getJobCategoriesCount() {
3220       return jobCategories_.size();
3221     }
3222     /**
3223      *
3224      *
3225      * <pre>
3226      * The category filter specifies the categories of jobs to search against.
3227      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3228      * information.
3229      * If a value isn't specified, jobs from any category are searched against.
3230      * If multiple values are specified, jobs from any of the specified
3231      * categories are searched against.
3232      * </pre>
3233      *
3234      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3235      *
3236      * @param index The index of the element to return.
3237      * @return The jobCategories at the given index.
3238      */
getJobCategories(int index)3239     public com.google.cloud.talent.v4beta1.JobCategory getJobCategories(int index) {
3240       return jobCategories_converter_.convert(jobCategories_.get(index));
3241     }
3242     /**
3243      *
3244      *
3245      * <pre>
3246      * The category filter specifies the categories of jobs to search against.
3247      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3248      * information.
3249      * If a value isn't specified, jobs from any category are searched against.
3250      * If multiple values are specified, jobs from any of the specified
3251      * categories are searched against.
3252      * </pre>
3253      *
3254      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3255      *
3256      * @param index The index to set the value at.
3257      * @param value The jobCategories to set.
3258      * @return This builder for chaining.
3259      */
setJobCategories(int index, com.google.cloud.talent.v4beta1.JobCategory value)3260     public Builder setJobCategories(int index, com.google.cloud.talent.v4beta1.JobCategory value) {
3261       if (value == null) {
3262         throw new NullPointerException();
3263       }
3264       ensureJobCategoriesIsMutable();
3265       jobCategories_.set(index, value.getNumber());
3266       onChanged();
3267       return this;
3268     }
3269     /**
3270      *
3271      *
3272      * <pre>
3273      * The category filter specifies the categories of jobs to search against.
3274      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3275      * information.
3276      * If a value isn't specified, jobs from any category are searched against.
3277      * If multiple values are specified, jobs from any of the specified
3278      * categories are searched against.
3279      * </pre>
3280      *
3281      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3282      *
3283      * @param value The jobCategories to add.
3284      * @return This builder for chaining.
3285      */
addJobCategories(com.google.cloud.talent.v4beta1.JobCategory value)3286     public Builder addJobCategories(com.google.cloud.talent.v4beta1.JobCategory value) {
3287       if (value == null) {
3288         throw new NullPointerException();
3289       }
3290       ensureJobCategoriesIsMutable();
3291       jobCategories_.add(value.getNumber());
3292       onChanged();
3293       return this;
3294     }
3295     /**
3296      *
3297      *
3298      * <pre>
3299      * The category filter specifies the categories of jobs to search against.
3300      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3301      * information.
3302      * If a value isn't specified, jobs from any category are searched against.
3303      * If multiple values are specified, jobs from any of the specified
3304      * categories are searched against.
3305      * </pre>
3306      *
3307      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3308      *
3309      * @param values The jobCategories to add.
3310      * @return This builder for chaining.
3311      */
addAllJobCategories( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobCategory> values)3312     public Builder addAllJobCategories(
3313         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobCategory> values) {
3314       ensureJobCategoriesIsMutable();
3315       for (com.google.cloud.talent.v4beta1.JobCategory value : values) {
3316         jobCategories_.add(value.getNumber());
3317       }
3318       onChanged();
3319       return this;
3320     }
3321     /**
3322      *
3323      *
3324      * <pre>
3325      * The category filter specifies the categories of jobs to search against.
3326      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3327      * information.
3328      * If a value isn't specified, jobs from any category are searched against.
3329      * If multiple values are specified, jobs from any of the specified
3330      * categories are searched against.
3331      * </pre>
3332      *
3333      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3334      *
3335      * @return This builder for chaining.
3336      */
clearJobCategories()3337     public Builder clearJobCategories() {
3338       jobCategories_ = java.util.Collections.emptyList();
3339       bitField0_ = (bitField0_ & ~0x00000010);
3340       onChanged();
3341       return this;
3342     }
3343     /**
3344      *
3345      *
3346      * <pre>
3347      * The category filter specifies the categories of jobs to search against.
3348      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3349      * information.
3350      * If a value isn't specified, jobs from any category are searched against.
3351      * If multiple values are specified, jobs from any of the specified
3352      * categories are searched against.
3353      * </pre>
3354      *
3355      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3356      *
3357      * @return A list containing the enum numeric values on the wire for jobCategories.
3358      */
getJobCategoriesValueList()3359     public java.util.List<java.lang.Integer> getJobCategoriesValueList() {
3360       return java.util.Collections.unmodifiableList(jobCategories_);
3361     }
3362     /**
3363      *
3364      *
3365      * <pre>
3366      * The category filter specifies the categories of jobs to search against.
3367      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3368      * information.
3369      * If a value isn't specified, jobs from any category are searched against.
3370      * If multiple values are specified, jobs from any of the specified
3371      * categories are searched against.
3372      * </pre>
3373      *
3374      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3375      *
3376      * @param index The index of the value to return.
3377      * @return The enum numeric value on the wire of jobCategories at the given index.
3378      */
getJobCategoriesValue(int index)3379     public int getJobCategoriesValue(int index) {
3380       return jobCategories_.get(index);
3381     }
3382     /**
3383      *
3384      *
3385      * <pre>
3386      * The category filter specifies the categories of jobs to search against.
3387      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3388      * information.
3389      * If a value isn't specified, jobs from any category are searched against.
3390      * If multiple values are specified, jobs from any of the specified
3391      * categories are searched against.
3392      * </pre>
3393      *
3394      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3395      *
3396      * @param index The index to set the value at.
3397      * @param value The enum numeric value on the wire for jobCategories to set.
3398      * @return This builder for chaining.
3399      */
setJobCategoriesValue(int index, int value)3400     public Builder setJobCategoriesValue(int index, int value) {
3401       ensureJobCategoriesIsMutable();
3402       jobCategories_.set(index, value);
3403       onChanged();
3404       return this;
3405     }
3406     /**
3407      *
3408      *
3409      * <pre>
3410      * The category filter specifies the categories of jobs to search against.
3411      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3412      * information.
3413      * If a value isn't specified, jobs from any category are searched against.
3414      * If multiple values are specified, jobs from any of the specified
3415      * categories are searched against.
3416      * </pre>
3417      *
3418      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3419      *
3420      * @param value The enum numeric value on the wire for jobCategories to add.
3421      * @return This builder for chaining.
3422      */
addJobCategoriesValue(int value)3423     public Builder addJobCategoriesValue(int value) {
3424       ensureJobCategoriesIsMutable();
3425       jobCategories_.add(value);
3426       onChanged();
3427       return this;
3428     }
3429     /**
3430      *
3431      *
3432      * <pre>
3433      * The category filter specifies the categories of jobs to search against.
3434      * See [JobCategory][google.cloud.talent.v4beta1.JobCategory] for more
3435      * information.
3436      * If a value isn't specified, jobs from any category are searched against.
3437      * If multiple values are specified, jobs from any of the specified
3438      * categories are searched against.
3439      * </pre>
3440      *
3441      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 4;</code>
3442      *
3443      * @param values The enum numeric values on the wire for jobCategories to add.
3444      * @return This builder for chaining.
3445      */
addAllJobCategoriesValue(java.lang.Iterable<java.lang.Integer> values)3446     public Builder addAllJobCategoriesValue(java.lang.Iterable<java.lang.Integer> values) {
3447       ensureJobCategoriesIsMutable();
3448       for (int value : values) {
3449         jobCategories_.add(value);
3450       }
3451       onChanged();
3452       return this;
3453     }
3454 
3455     private com.google.cloud.talent.v4beta1.CommuteFilter commuteFilter_;
3456     private com.google.protobuf.SingleFieldBuilderV3<
3457             com.google.cloud.talent.v4beta1.CommuteFilter,
3458             com.google.cloud.talent.v4beta1.CommuteFilter.Builder,
3459             com.google.cloud.talent.v4beta1.CommuteFilterOrBuilder>
3460         commuteFilterBuilder_;
3461     /**
3462      *
3463      *
3464      * <pre>
3465      * Allows filtering jobs by commute time with different travel methods (for
3466      *  example, driving or public transit).
3467      * Note: This only works when you specify a
3468      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3469      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3470      * is ignored.
3471      *  Currently we don't support sorting by commute time.
3472      * </pre>
3473      *
3474      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3475      *
3476      * @return Whether the commuteFilter field is set.
3477      */
hasCommuteFilter()3478     public boolean hasCommuteFilter() {
3479       return ((bitField0_ & 0x00000020) != 0);
3480     }
3481     /**
3482      *
3483      *
3484      * <pre>
3485      * Allows filtering jobs by commute time with different travel methods (for
3486      *  example, driving or public transit).
3487      * Note: This only works when you specify a
3488      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3489      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3490      * is ignored.
3491      *  Currently we don't support sorting by commute time.
3492      * </pre>
3493      *
3494      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3495      *
3496      * @return The commuteFilter.
3497      */
getCommuteFilter()3498     public com.google.cloud.talent.v4beta1.CommuteFilter getCommuteFilter() {
3499       if (commuteFilterBuilder_ == null) {
3500         return commuteFilter_ == null
3501             ? com.google.cloud.talent.v4beta1.CommuteFilter.getDefaultInstance()
3502             : commuteFilter_;
3503       } else {
3504         return commuteFilterBuilder_.getMessage();
3505       }
3506     }
3507     /**
3508      *
3509      *
3510      * <pre>
3511      * Allows filtering jobs by commute time with different travel methods (for
3512      *  example, driving or public transit).
3513      * Note: This only works when you specify a
3514      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3515      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3516      * is ignored.
3517      *  Currently we don't support sorting by commute time.
3518      * </pre>
3519      *
3520      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3521      */
setCommuteFilter(com.google.cloud.talent.v4beta1.CommuteFilter value)3522     public Builder setCommuteFilter(com.google.cloud.talent.v4beta1.CommuteFilter value) {
3523       if (commuteFilterBuilder_ == null) {
3524         if (value == null) {
3525           throw new NullPointerException();
3526         }
3527         commuteFilter_ = value;
3528       } else {
3529         commuteFilterBuilder_.setMessage(value);
3530       }
3531       bitField0_ |= 0x00000020;
3532       onChanged();
3533       return this;
3534     }
3535     /**
3536      *
3537      *
3538      * <pre>
3539      * Allows filtering jobs by commute time with different travel methods (for
3540      *  example, driving or public transit).
3541      * Note: This only works when you specify a
3542      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3543      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3544      * is ignored.
3545      *  Currently we don't support sorting by commute time.
3546      * </pre>
3547      *
3548      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3549      */
setCommuteFilter( com.google.cloud.talent.v4beta1.CommuteFilter.Builder builderForValue)3550     public Builder setCommuteFilter(
3551         com.google.cloud.talent.v4beta1.CommuteFilter.Builder builderForValue) {
3552       if (commuteFilterBuilder_ == null) {
3553         commuteFilter_ = builderForValue.build();
3554       } else {
3555         commuteFilterBuilder_.setMessage(builderForValue.build());
3556       }
3557       bitField0_ |= 0x00000020;
3558       onChanged();
3559       return this;
3560     }
3561     /**
3562      *
3563      *
3564      * <pre>
3565      * Allows filtering jobs by commute time with different travel methods (for
3566      *  example, driving or public transit).
3567      * Note: This only works when you specify a
3568      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3569      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3570      * is ignored.
3571      *  Currently we don't support sorting by commute time.
3572      * </pre>
3573      *
3574      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3575      */
mergeCommuteFilter(com.google.cloud.talent.v4beta1.CommuteFilter value)3576     public Builder mergeCommuteFilter(com.google.cloud.talent.v4beta1.CommuteFilter value) {
3577       if (commuteFilterBuilder_ == null) {
3578         if (((bitField0_ & 0x00000020) != 0)
3579             && commuteFilter_ != null
3580             && commuteFilter_
3581                 != com.google.cloud.talent.v4beta1.CommuteFilter.getDefaultInstance()) {
3582           getCommuteFilterBuilder().mergeFrom(value);
3583         } else {
3584           commuteFilter_ = value;
3585         }
3586       } else {
3587         commuteFilterBuilder_.mergeFrom(value);
3588       }
3589       bitField0_ |= 0x00000020;
3590       onChanged();
3591       return this;
3592     }
3593     /**
3594      *
3595      *
3596      * <pre>
3597      * Allows filtering jobs by commute time with different travel methods (for
3598      *  example, driving or public transit).
3599      * Note: This only works when you specify a
3600      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3601      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3602      * is ignored.
3603      *  Currently we don't support sorting by commute time.
3604      * </pre>
3605      *
3606      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3607      */
clearCommuteFilter()3608     public Builder clearCommuteFilter() {
3609       bitField0_ = (bitField0_ & ~0x00000020);
3610       commuteFilter_ = null;
3611       if (commuteFilterBuilder_ != null) {
3612         commuteFilterBuilder_.dispose();
3613         commuteFilterBuilder_ = null;
3614       }
3615       onChanged();
3616       return this;
3617     }
3618     /**
3619      *
3620      *
3621      * <pre>
3622      * Allows filtering jobs by commute time with different travel methods (for
3623      *  example, driving or public transit).
3624      * Note: This only works when you specify a
3625      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3626      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3627      * is ignored.
3628      *  Currently we don't support sorting by commute time.
3629      * </pre>
3630      *
3631      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3632      */
getCommuteFilterBuilder()3633     public com.google.cloud.talent.v4beta1.CommuteFilter.Builder getCommuteFilterBuilder() {
3634       bitField0_ |= 0x00000020;
3635       onChanged();
3636       return getCommuteFilterFieldBuilder().getBuilder();
3637     }
3638     /**
3639      *
3640      *
3641      * <pre>
3642      * Allows filtering jobs by commute time with different travel methods (for
3643      *  example, driving or public transit).
3644      * Note: This only works when you specify a
3645      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3646      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3647      * is ignored.
3648      *  Currently we don't support sorting by commute time.
3649      * </pre>
3650      *
3651      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3652      */
getCommuteFilterOrBuilder()3653     public com.google.cloud.talent.v4beta1.CommuteFilterOrBuilder getCommuteFilterOrBuilder() {
3654       if (commuteFilterBuilder_ != null) {
3655         return commuteFilterBuilder_.getMessageOrBuilder();
3656       } else {
3657         return commuteFilter_ == null
3658             ? com.google.cloud.talent.v4beta1.CommuteFilter.getDefaultInstance()
3659             : commuteFilter_;
3660       }
3661     }
3662     /**
3663      *
3664      *
3665      * <pre>
3666      * Allows filtering jobs by commute time with different travel methods (for
3667      *  example, driving or public transit).
3668      * Note: This only works when you specify a
3669      * [CommuteMethod][google.cloud.talent.v4beta1.CommuteMethod]. In this case,
3670      * [location_filters][google.cloud.talent.v4beta1.JobQuery.location_filters]
3671      * is ignored.
3672      *  Currently we don't support sorting by commute time.
3673      * </pre>
3674      *
3675      * <code>.google.cloud.talent.v4beta1.CommuteFilter commute_filter = 5;</code>
3676      */
3677     private com.google.protobuf.SingleFieldBuilderV3<
3678             com.google.cloud.talent.v4beta1.CommuteFilter,
3679             com.google.cloud.talent.v4beta1.CommuteFilter.Builder,
3680             com.google.cloud.talent.v4beta1.CommuteFilterOrBuilder>
getCommuteFilterFieldBuilder()3681         getCommuteFilterFieldBuilder() {
3682       if (commuteFilterBuilder_ == null) {
3683         commuteFilterBuilder_ =
3684             new com.google.protobuf.SingleFieldBuilderV3<
3685                 com.google.cloud.talent.v4beta1.CommuteFilter,
3686                 com.google.cloud.talent.v4beta1.CommuteFilter.Builder,
3687                 com.google.cloud.talent.v4beta1.CommuteFilterOrBuilder>(
3688                 getCommuteFilter(), getParentForChildren(), isClean());
3689         commuteFilter_ = null;
3690       }
3691       return commuteFilterBuilder_;
3692     }
3693 
3694     private com.google.protobuf.LazyStringList companyDisplayNames_ =
3695         com.google.protobuf.LazyStringArrayList.EMPTY;
3696 
ensureCompanyDisplayNamesIsMutable()3697     private void ensureCompanyDisplayNamesIsMutable() {
3698       if (!((bitField0_ & 0x00000040) != 0)) {
3699         companyDisplayNames_ = new com.google.protobuf.LazyStringArrayList(companyDisplayNames_);
3700         bitField0_ |= 0x00000040;
3701       }
3702     }
3703     /**
3704      *
3705      *
3706      * <pre>
3707      * This filter specifies the company
3708      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3709      * the jobs to search against. The company name must match the value exactly.
3710      * Alternatively, the value being searched for can be wrapped in different
3711      * match operators.
3712      * `SUBSTRING_MATCH([value])`
3713      * The company name must contain a case insensitive substring match of the
3714      * value. Using this function may increase latency.
3715      * Sample Value: `SUBSTRING_MATCH(google)`
3716      * `MULTI_WORD_TOKEN_MATCH([value])`
3717      * The value will be treated as a multi word token and the company name must
3718      * contain a case insensitive match of the value. Using this function may
3719      * increase latency.
3720      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3721      * If a value isn't specified, jobs within the search results are
3722      * associated with any company.
3723      * If multiple values are specified, jobs within the search results may be
3724      * associated with any of the specified companies.
3725      * At most 20 company display name filters are allowed.
3726      * </pre>
3727      *
3728      * <code>repeated string company_display_names = 6;</code>
3729      *
3730      * @return A list containing the companyDisplayNames.
3731      */
getCompanyDisplayNamesList()3732     public com.google.protobuf.ProtocolStringList getCompanyDisplayNamesList() {
3733       return companyDisplayNames_.getUnmodifiableView();
3734     }
3735     /**
3736      *
3737      *
3738      * <pre>
3739      * This filter specifies the company
3740      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3741      * the jobs to search against. The company name must match the value exactly.
3742      * Alternatively, the value being searched for can be wrapped in different
3743      * match operators.
3744      * `SUBSTRING_MATCH([value])`
3745      * The company name must contain a case insensitive substring match of the
3746      * value. Using this function may increase latency.
3747      * Sample Value: `SUBSTRING_MATCH(google)`
3748      * `MULTI_WORD_TOKEN_MATCH([value])`
3749      * The value will be treated as a multi word token and the company name must
3750      * contain a case insensitive match of the value. Using this function may
3751      * increase latency.
3752      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3753      * If a value isn't specified, jobs within the search results are
3754      * associated with any company.
3755      * If multiple values are specified, jobs within the search results may be
3756      * associated with any of the specified companies.
3757      * At most 20 company display name filters are allowed.
3758      * </pre>
3759      *
3760      * <code>repeated string company_display_names = 6;</code>
3761      *
3762      * @return The count of companyDisplayNames.
3763      */
getCompanyDisplayNamesCount()3764     public int getCompanyDisplayNamesCount() {
3765       return companyDisplayNames_.size();
3766     }
3767     /**
3768      *
3769      *
3770      * <pre>
3771      * This filter specifies the company
3772      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3773      * the jobs to search against. The company name must match the value exactly.
3774      * Alternatively, the value being searched for can be wrapped in different
3775      * match operators.
3776      * `SUBSTRING_MATCH([value])`
3777      * The company name must contain a case insensitive substring match of the
3778      * value. Using this function may increase latency.
3779      * Sample Value: `SUBSTRING_MATCH(google)`
3780      * `MULTI_WORD_TOKEN_MATCH([value])`
3781      * The value will be treated as a multi word token and the company name must
3782      * contain a case insensitive match of the value. Using this function may
3783      * increase latency.
3784      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3785      * If a value isn't specified, jobs within the search results are
3786      * associated with any company.
3787      * If multiple values are specified, jobs within the search results may be
3788      * associated with any of the specified companies.
3789      * At most 20 company display name filters are allowed.
3790      * </pre>
3791      *
3792      * <code>repeated string company_display_names = 6;</code>
3793      *
3794      * @param index The index of the element to return.
3795      * @return The companyDisplayNames at the given index.
3796      */
getCompanyDisplayNames(int index)3797     public java.lang.String getCompanyDisplayNames(int index) {
3798       return companyDisplayNames_.get(index);
3799     }
3800     /**
3801      *
3802      *
3803      * <pre>
3804      * This filter specifies the company
3805      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3806      * the jobs to search against. The company name must match the value exactly.
3807      * Alternatively, the value being searched for can be wrapped in different
3808      * match operators.
3809      * `SUBSTRING_MATCH([value])`
3810      * The company name must contain a case insensitive substring match of the
3811      * value. Using this function may increase latency.
3812      * Sample Value: `SUBSTRING_MATCH(google)`
3813      * `MULTI_WORD_TOKEN_MATCH([value])`
3814      * The value will be treated as a multi word token and the company name must
3815      * contain a case insensitive match of the value. Using this function may
3816      * increase latency.
3817      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3818      * If a value isn't specified, jobs within the search results are
3819      * associated with any company.
3820      * If multiple values are specified, jobs within the search results may be
3821      * associated with any of the specified companies.
3822      * At most 20 company display name filters are allowed.
3823      * </pre>
3824      *
3825      * <code>repeated string company_display_names = 6;</code>
3826      *
3827      * @param index The index of the value to return.
3828      * @return The bytes of the companyDisplayNames at the given index.
3829      */
getCompanyDisplayNamesBytes(int index)3830     public com.google.protobuf.ByteString getCompanyDisplayNamesBytes(int index) {
3831       return companyDisplayNames_.getByteString(index);
3832     }
3833     /**
3834      *
3835      *
3836      * <pre>
3837      * This filter specifies the company
3838      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3839      * the jobs to search against. The company name must match the value exactly.
3840      * Alternatively, the value being searched for can be wrapped in different
3841      * match operators.
3842      * `SUBSTRING_MATCH([value])`
3843      * The company name must contain a case insensitive substring match of the
3844      * value. Using this function may increase latency.
3845      * Sample Value: `SUBSTRING_MATCH(google)`
3846      * `MULTI_WORD_TOKEN_MATCH([value])`
3847      * The value will be treated as a multi word token and the company name must
3848      * contain a case insensitive match of the value. Using this function may
3849      * increase latency.
3850      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3851      * If a value isn't specified, jobs within the search results are
3852      * associated with any company.
3853      * If multiple values are specified, jobs within the search results may be
3854      * associated with any of the specified companies.
3855      * At most 20 company display name filters are allowed.
3856      * </pre>
3857      *
3858      * <code>repeated string company_display_names = 6;</code>
3859      *
3860      * @param index The index to set the value at.
3861      * @param value The companyDisplayNames to set.
3862      * @return This builder for chaining.
3863      */
setCompanyDisplayNames(int index, java.lang.String value)3864     public Builder setCompanyDisplayNames(int index, java.lang.String value) {
3865       if (value == null) {
3866         throw new NullPointerException();
3867       }
3868       ensureCompanyDisplayNamesIsMutable();
3869       companyDisplayNames_.set(index, value);
3870       onChanged();
3871       return this;
3872     }
3873     /**
3874      *
3875      *
3876      * <pre>
3877      * This filter specifies the company
3878      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3879      * the jobs to search against. The company name must match the value exactly.
3880      * Alternatively, the value being searched for can be wrapped in different
3881      * match operators.
3882      * `SUBSTRING_MATCH([value])`
3883      * The company name must contain a case insensitive substring match of the
3884      * value. Using this function may increase latency.
3885      * Sample Value: `SUBSTRING_MATCH(google)`
3886      * `MULTI_WORD_TOKEN_MATCH([value])`
3887      * The value will be treated as a multi word token and the company name must
3888      * contain a case insensitive match of the value. Using this function may
3889      * increase latency.
3890      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3891      * If a value isn't specified, jobs within the search results are
3892      * associated with any company.
3893      * If multiple values are specified, jobs within the search results may be
3894      * associated with any of the specified companies.
3895      * At most 20 company display name filters are allowed.
3896      * </pre>
3897      *
3898      * <code>repeated string company_display_names = 6;</code>
3899      *
3900      * @param value The companyDisplayNames to add.
3901      * @return This builder for chaining.
3902      */
addCompanyDisplayNames(java.lang.String value)3903     public Builder addCompanyDisplayNames(java.lang.String value) {
3904       if (value == null) {
3905         throw new NullPointerException();
3906       }
3907       ensureCompanyDisplayNamesIsMutable();
3908       companyDisplayNames_.add(value);
3909       onChanged();
3910       return this;
3911     }
3912     /**
3913      *
3914      *
3915      * <pre>
3916      * This filter specifies the company
3917      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3918      * the jobs to search against. The company name must match the value exactly.
3919      * Alternatively, the value being searched for can be wrapped in different
3920      * match operators.
3921      * `SUBSTRING_MATCH([value])`
3922      * The company name must contain a case insensitive substring match of the
3923      * value. Using this function may increase latency.
3924      * Sample Value: `SUBSTRING_MATCH(google)`
3925      * `MULTI_WORD_TOKEN_MATCH([value])`
3926      * The value will be treated as a multi word token and the company name must
3927      * contain a case insensitive match of the value. Using this function may
3928      * increase latency.
3929      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3930      * If a value isn't specified, jobs within the search results are
3931      * associated with any company.
3932      * If multiple values are specified, jobs within the search results may be
3933      * associated with any of the specified companies.
3934      * At most 20 company display name filters are allowed.
3935      * </pre>
3936      *
3937      * <code>repeated string company_display_names = 6;</code>
3938      *
3939      * @param values The companyDisplayNames to add.
3940      * @return This builder for chaining.
3941      */
addAllCompanyDisplayNames(java.lang.Iterable<java.lang.String> values)3942     public Builder addAllCompanyDisplayNames(java.lang.Iterable<java.lang.String> values) {
3943       ensureCompanyDisplayNamesIsMutable();
3944       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, companyDisplayNames_);
3945       onChanged();
3946       return this;
3947     }
3948     /**
3949      *
3950      *
3951      * <pre>
3952      * This filter specifies the company
3953      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3954      * the jobs to search against. The company name must match the value exactly.
3955      * Alternatively, the value being searched for can be wrapped in different
3956      * match operators.
3957      * `SUBSTRING_MATCH([value])`
3958      * The company name must contain a case insensitive substring match of the
3959      * value. Using this function may increase latency.
3960      * Sample Value: `SUBSTRING_MATCH(google)`
3961      * `MULTI_WORD_TOKEN_MATCH([value])`
3962      * The value will be treated as a multi word token and the company name must
3963      * contain a case insensitive match of the value. Using this function may
3964      * increase latency.
3965      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
3966      * If a value isn't specified, jobs within the search results are
3967      * associated with any company.
3968      * If multiple values are specified, jobs within the search results may be
3969      * associated with any of the specified companies.
3970      * At most 20 company display name filters are allowed.
3971      * </pre>
3972      *
3973      * <code>repeated string company_display_names = 6;</code>
3974      *
3975      * @return This builder for chaining.
3976      */
clearCompanyDisplayNames()3977     public Builder clearCompanyDisplayNames() {
3978       companyDisplayNames_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3979       bitField0_ = (bitField0_ & ~0x00000040);
3980       onChanged();
3981       return this;
3982     }
3983     /**
3984      *
3985      *
3986      * <pre>
3987      * This filter specifies the company
3988      * [Company.display_name][google.cloud.talent.v4beta1.Company.display_name] of
3989      * the jobs to search against. The company name must match the value exactly.
3990      * Alternatively, the value being searched for can be wrapped in different
3991      * match operators.
3992      * `SUBSTRING_MATCH([value])`
3993      * The company name must contain a case insensitive substring match of the
3994      * value. Using this function may increase latency.
3995      * Sample Value: `SUBSTRING_MATCH(google)`
3996      * `MULTI_WORD_TOKEN_MATCH([value])`
3997      * The value will be treated as a multi word token and the company name must
3998      * contain a case insensitive match of the value. Using this function may
3999      * increase latency.
4000      * Sample Value: `MULTI_WORD_TOKEN_MATCH(google)`
4001      * If a value isn't specified, jobs within the search results are
4002      * associated with any company.
4003      * If multiple values are specified, jobs within the search results may be
4004      * associated with any of the specified companies.
4005      * At most 20 company display name filters are allowed.
4006      * </pre>
4007      *
4008      * <code>repeated string company_display_names = 6;</code>
4009      *
4010      * @param value The bytes of the companyDisplayNames to add.
4011      * @return This builder for chaining.
4012      */
addCompanyDisplayNamesBytes(com.google.protobuf.ByteString value)4013     public Builder addCompanyDisplayNamesBytes(com.google.protobuf.ByteString value) {
4014       if (value == null) {
4015         throw new NullPointerException();
4016       }
4017       checkByteStringIsUtf8(value);
4018       ensureCompanyDisplayNamesIsMutable();
4019       companyDisplayNames_.add(value);
4020       onChanged();
4021       return this;
4022     }
4023 
4024     private com.google.cloud.talent.v4beta1.CompensationFilter compensationFilter_;
4025     private com.google.protobuf.SingleFieldBuilderV3<
4026             com.google.cloud.talent.v4beta1.CompensationFilter,
4027             com.google.cloud.talent.v4beta1.CompensationFilter.Builder,
4028             com.google.cloud.talent.v4beta1.CompensationFilterOrBuilder>
4029         compensationFilterBuilder_;
4030     /**
4031      *
4032      *
4033      * <pre>
4034      * This search filter is applied only to
4035      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4036      * For example, if the filter is specified as "Hourly job with per-hour
4037      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4038      * filter isn't defined, all open jobs are searched.
4039      * </pre>
4040      *
4041      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4042      *
4043      * @return Whether the compensationFilter field is set.
4044      */
hasCompensationFilter()4045     public boolean hasCompensationFilter() {
4046       return ((bitField0_ & 0x00000080) != 0);
4047     }
4048     /**
4049      *
4050      *
4051      * <pre>
4052      * This search filter is applied only to
4053      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4054      * For example, if the filter is specified as "Hourly job with per-hour
4055      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4056      * filter isn't defined, all open jobs are searched.
4057      * </pre>
4058      *
4059      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4060      *
4061      * @return The compensationFilter.
4062      */
getCompensationFilter()4063     public com.google.cloud.talent.v4beta1.CompensationFilter getCompensationFilter() {
4064       if (compensationFilterBuilder_ == null) {
4065         return compensationFilter_ == null
4066             ? com.google.cloud.talent.v4beta1.CompensationFilter.getDefaultInstance()
4067             : compensationFilter_;
4068       } else {
4069         return compensationFilterBuilder_.getMessage();
4070       }
4071     }
4072     /**
4073      *
4074      *
4075      * <pre>
4076      * This search filter is applied only to
4077      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4078      * For example, if the filter is specified as "Hourly job with per-hour
4079      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4080      * filter isn't defined, all open jobs are searched.
4081      * </pre>
4082      *
4083      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4084      */
setCompensationFilter(com.google.cloud.talent.v4beta1.CompensationFilter value)4085     public Builder setCompensationFilter(com.google.cloud.talent.v4beta1.CompensationFilter value) {
4086       if (compensationFilterBuilder_ == null) {
4087         if (value == null) {
4088           throw new NullPointerException();
4089         }
4090         compensationFilter_ = value;
4091       } else {
4092         compensationFilterBuilder_.setMessage(value);
4093       }
4094       bitField0_ |= 0x00000080;
4095       onChanged();
4096       return this;
4097     }
4098     /**
4099      *
4100      *
4101      * <pre>
4102      * This search filter is applied only to
4103      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4104      * For example, if the filter is specified as "Hourly job with per-hour
4105      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4106      * filter isn't defined, all open jobs are searched.
4107      * </pre>
4108      *
4109      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4110      */
setCompensationFilter( com.google.cloud.talent.v4beta1.CompensationFilter.Builder builderForValue)4111     public Builder setCompensationFilter(
4112         com.google.cloud.talent.v4beta1.CompensationFilter.Builder builderForValue) {
4113       if (compensationFilterBuilder_ == null) {
4114         compensationFilter_ = builderForValue.build();
4115       } else {
4116         compensationFilterBuilder_.setMessage(builderForValue.build());
4117       }
4118       bitField0_ |= 0x00000080;
4119       onChanged();
4120       return this;
4121     }
4122     /**
4123      *
4124      *
4125      * <pre>
4126      * This search filter is applied only to
4127      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4128      * For example, if the filter is specified as "Hourly job with per-hour
4129      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4130      * filter isn't defined, all open jobs are searched.
4131      * </pre>
4132      *
4133      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4134      */
mergeCompensationFilter( com.google.cloud.talent.v4beta1.CompensationFilter value)4135     public Builder mergeCompensationFilter(
4136         com.google.cloud.talent.v4beta1.CompensationFilter value) {
4137       if (compensationFilterBuilder_ == null) {
4138         if (((bitField0_ & 0x00000080) != 0)
4139             && compensationFilter_ != null
4140             && compensationFilter_
4141                 != com.google.cloud.talent.v4beta1.CompensationFilter.getDefaultInstance()) {
4142           getCompensationFilterBuilder().mergeFrom(value);
4143         } else {
4144           compensationFilter_ = value;
4145         }
4146       } else {
4147         compensationFilterBuilder_.mergeFrom(value);
4148       }
4149       bitField0_ |= 0x00000080;
4150       onChanged();
4151       return this;
4152     }
4153     /**
4154      *
4155      *
4156      * <pre>
4157      * This search filter is applied only to
4158      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4159      * For example, if the filter is specified as "Hourly job with per-hour
4160      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4161      * filter isn't defined, all open jobs are searched.
4162      * </pre>
4163      *
4164      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4165      */
clearCompensationFilter()4166     public Builder clearCompensationFilter() {
4167       bitField0_ = (bitField0_ & ~0x00000080);
4168       compensationFilter_ = null;
4169       if (compensationFilterBuilder_ != null) {
4170         compensationFilterBuilder_.dispose();
4171         compensationFilterBuilder_ = null;
4172       }
4173       onChanged();
4174       return this;
4175     }
4176     /**
4177      *
4178      *
4179      * <pre>
4180      * This search filter is applied only to
4181      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4182      * For example, if the filter is specified as "Hourly job with per-hour
4183      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4184      * filter isn't defined, all open jobs are searched.
4185      * </pre>
4186      *
4187      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4188      */
4189     public com.google.cloud.talent.v4beta1.CompensationFilter.Builder
getCompensationFilterBuilder()4190         getCompensationFilterBuilder() {
4191       bitField0_ |= 0x00000080;
4192       onChanged();
4193       return getCompensationFilterFieldBuilder().getBuilder();
4194     }
4195     /**
4196      *
4197      *
4198      * <pre>
4199      * This search filter is applied only to
4200      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4201      * For example, if the filter is specified as "Hourly job with per-hour
4202      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4203      * filter isn't defined, all open jobs are searched.
4204      * </pre>
4205      *
4206      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4207      */
4208     public com.google.cloud.talent.v4beta1.CompensationFilterOrBuilder
getCompensationFilterOrBuilder()4209         getCompensationFilterOrBuilder() {
4210       if (compensationFilterBuilder_ != null) {
4211         return compensationFilterBuilder_.getMessageOrBuilder();
4212       } else {
4213         return compensationFilter_ == null
4214             ? com.google.cloud.talent.v4beta1.CompensationFilter.getDefaultInstance()
4215             : compensationFilter_;
4216       }
4217     }
4218     /**
4219      *
4220      *
4221      * <pre>
4222      * This search filter is applied only to
4223      * [Job.compensation_info][google.cloud.talent.v4beta1.Job.compensation_info].
4224      * For example, if the filter is specified as "Hourly job with per-hour
4225      * compensation &gt; $15", only jobs meeting these criteria are searched. If a
4226      * filter isn't defined, all open jobs are searched.
4227      * </pre>
4228      *
4229      * <code>.google.cloud.talent.v4beta1.CompensationFilter compensation_filter = 7;</code>
4230      */
4231     private com.google.protobuf.SingleFieldBuilderV3<
4232             com.google.cloud.talent.v4beta1.CompensationFilter,
4233             com.google.cloud.talent.v4beta1.CompensationFilter.Builder,
4234             com.google.cloud.talent.v4beta1.CompensationFilterOrBuilder>
getCompensationFilterFieldBuilder()4235         getCompensationFilterFieldBuilder() {
4236       if (compensationFilterBuilder_ == null) {
4237         compensationFilterBuilder_ =
4238             new com.google.protobuf.SingleFieldBuilderV3<
4239                 com.google.cloud.talent.v4beta1.CompensationFilter,
4240                 com.google.cloud.talent.v4beta1.CompensationFilter.Builder,
4241                 com.google.cloud.talent.v4beta1.CompensationFilterOrBuilder>(
4242                 getCompensationFilter(), getParentForChildren(), isClean());
4243         compensationFilter_ = null;
4244       }
4245       return compensationFilterBuilder_;
4246     }
4247 
4248     private java.lang.Object customAttributeFilter_ = "";
4249     /**
4250      *
4251      *
4252      * <pre>
4253      * This filter specifies a structured syntax to match against the
4254      * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
4255      * marked as `filterable`.
4256      * The syntax for this expression is a subset of SQL syntax.
4257      * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
4258      * left of the operator is a custom field key and the right of the operator
4259      * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
4260      * quote (&#92;") characters.
4261      * Supported functions are `LOWER([field_name])` to
4262      * perform a case insensitive match and `EMPTY([field_name])` to filter on the
4263      * existence of a key.
4264      * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
4265      * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
4266      * comparisons or functions are allowed in the expression. The expression
4267      * must be &lt; 10000 bytes in length.
4268      * Sample Query:
4269      * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
4270      * driving_years &gt; 10`
4271      * </pre>
4272      *
4273      * <code>string custom_attribute_filter = 8;</code>
4274      *
4275      * @return The customAttributeFilter.
4276      */
getCustomAttributeFilter()4277     public java.lang.String getCustomAttributeFilter() {
4278       java.lang.Object ref = customAttributeFilter_;
4279       if (!(ref instanceof java.lang.String)) {
4280         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4281         java.lang.String s = bs.toStringUtf8();
4282         customAttributeFilter_ = s;
4283         return s;
4284       } else {
4285         return (java.lang.String) ref;
4286       }
4287     }
4288     /**
4289      *
4290      *
4291      * <pre>
4292      * This filter specifies a structured syntax to match against the
4293      * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
4294      * marked as `filterable`.
4295      * The syntax for this expression is a subset of SQL syntax.
4296      * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
4297      * left of the operator is a custom field key and the right of the operator
4298      * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
4299      * quote (&#92;") characters.
4300      * Supported functions are `LOWER([field_name])` to
4301      * perform a case insensitive match and `EMPTY([field_name])` to filter on the
4302      * existence of a key.
4303      * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
4304      * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
4305      * comparisons or functions are allowed in the expression. The expression
4306      * must be &lt; 10000 bytes in length.
4307      * Sample Query:
4308      * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
4309      * driving_years &gt; 10`
4310      * </pre>
4311      *
4312      * <code>string custom_attribute_filter = 8;</code>
4313      *
4314      * @return The bytes for customAttributeFilter.
4315      */
getCustomAttributeFilterBytes()4316     public com.google.protobuf.ByteString getCustomAttributeFilterBytes() {
4317       java.lang.Object ref = customAttributeFilter_;
4318       if (ref instanceof String) {
4319         com.google.protobuf.ByteString b =
4320             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4321         customAttributeFilter_ = b;
4322         return b;
4323       } else {
4324         return (com.google.protobuf.ByteString) ref;
4325       }
4326     }
4327     /**
4328      *
4329      *
4330      * <pre>
4331      * This filter specifies a structured syntax to match against the
4332      * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
4333      * marked as `filterable`.
4334      * The syntax for this expression is a subset of SQL syntax.
4335      * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
4336      * left of the operator is a custom field key and the right of the operator
4337      * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
4338      * quote (&#92;") characters.
4339      * Supported functions are `LOWER([field_name])` to
4340      * perform a case insensitive match and `EMPTY([field_name])` to filter on the
4341      * existence of a key.
4342      * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
4343      * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
4344      * comparisons or functions are allowed in the expression. The expression
4345      * must be &lt; 10000 bytes in length.
4346      * Sample Query:
4347      * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
4348      * driving_years &gt; 10`
4349      * </pre>
4350      *
4351      * <code>string custom_attribute_filter = 8;</code>
4352      *
4353      * @param value The customAttributeFilter to set.
4354      * @return This builder for chaining.
4355      */
setCustomAttributeFilter(java.lang.String value)4356     public Builder setCustomAttributeFilter(java.lang.String value) {
4357       if (value == null) {
4358         throw new NullPointerException();
4359       }
4360       customAttributeFilter_ = value;
4361       bitField0_ |= 0x00000100;
4362       onChanged();
4363       return this;
4364     }
4365     /**
4366      *
4367      *
4368      * <pre>
4369      * This filter specifies a structured syntax to match against the
4370      * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
4371      * marked as `filterable`.
4372      * The syntax for this expression is a subset of SQL syntax.
4373      * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
4374      * left of the operator is a custom field key and the right of the operator
4375      * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
4376      * quote (&#92;") characters.
4377      * Supported functions are `LOWER([field_name])` to
4378      * perform a case insensitive match and `EMPTY([field_name])` to filter on the
4379      * existence of a key.
4380      * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
4381      * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
4382      * comparisons or functions are allowed in the expression. The expression
4383      * must be &lt; 10000 bytes in length.
4384      * Sample Query:
4385      * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
4386      * driving_years &gt; 10`
4387      * </pre>
4388      *
4389      * <code>string custom_attribute_filter = 8;</code>
4390      *
4391      * @return This builder for chaining.
4392      */
clearCustomAttributeFilter()4393     public Builder clearCustomAttributeFilter() {
4394       customAttributeFilter_ = getDefaultInstance().getCustomAttributeFilter();
4395       bitField0_ = (bitField0_ & ~0x00000100);
4396       onChanged();
4397       return this;
4398     }
4399     /**
4400      *
4401      *
4402      * <pre>
4403      * This filter specifies a structured syntax to match against the
4404      * [Job.custom_attributes][google.cloud.talent.v4beta1.Job.custom_attributes]
4405      * marked as `filterable`.
4406      * The syntax for this expression is a subset of SQL syntax.
4407      * Supported operators are: `=`, `!=`, `&lt;`, `&lt;=`, `&gt;`, and `&gt;=` where the
4408      * left of the operator is a custom field key and the right of the operator
4409      * is a number or a quoted string. You must escape backslash (&#92;&#92;) and
4410      * quote (&#92;") characters.
4411      * Supported functions are `LOWER([field_name])` to
4412      * perform a case insensitive match and `EMPTY([field_name])` to filter on the
4413      * existence of a key.
4414      * Boolean expressions (AND/OR/NOT) are supported up to 3 levels of
4415      * nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100
4416      * comparisons or functions are allowed in the expression. The expression
4417      * must be &lt; 10000 bytes in length.
4418      * Sample Query:
4419      * `(LOWER(driving_license)="class &#92;"a&#92;"" OR EMPTY(driving_license)) AND
4420      * driving_years &gt; 10`
4421      * </pre>
4422      *
4423      * <code>string custom_attribute_filter = 8;</code>
4424      *
4425      * @param value The bytes for customAttributeFilter to set.
4426      * @return This builder for chaining.
4427      */
setCustomAttributeFilterBytes(com.google.protobuf.ByteString value)4428     public Builder setCustomAttributeFilterBytes(com.google.protobuf.ByteString value) {
4429       if (value == null) {
4430         throw new NullPointerException();
4431       }
4432       checkByteStringIsUtf8(value);
4433       customAttributeFilter_ = value;
4434       bitField0_ |= 0x00000100;
4435       onChanged();
4436       return this;
4437     }
4438 
4439     private boolean disableSpellCheck_;
4440     /**
4441      *
4442      *
4443      * <pre>
4444      * This flag controls the spell-check feature. If false, the
4445      * service attempts to correct a misspelled query,
4446      * for example, "enginee" is corrected to "engineer".
4447      * Defaults to false: a spell check is performed.
4448      * </pre>
4449      *
4450      * <code>bool disable_spell_check = 9;</code>
4451      *
4452      * @return The disableSpellCheck.
4453      */
4454     @java.lang.Override
getDisableSpellCheck()4455     public boolean getDisableSpellCheck() {
4456       return disableSpellCheck_;
4457     }
4458     /**
4459      *
4460      *
4461      * <pre>
4462      * This flag controls the spell-check feature. If false, the
4463      * service attempts to correct a misspelled query,
4464      * for example, "enginee" is corrected to "engineer".
4465      * Defaults to false: a spell check is performed.
4466      * </pre>
4467      *
4468      * <code>bool disable_spell_check = 9;</code>
4469      *
4470      * @param value The disableSpellCheck to set.
4471      * @return This builder for chaining.
4472      */
setDisableSpellCheck(boolean value)4473     public Builder setDisableSpellCheck(boolean value) {
4474 
4475       disableSpellCheck_ = value;
4476       bitField0_ |= 0x00000200;
4477       onChanged();
4478       return this;
4479     }
4480     /**
4481      *
4482      *
4483      * <pre>
4484      * This flag controls the spell-check feature. If false, the
4485      * service attempts to correct a misspelled query,
4486      * for example, "enginee" is corrected to "engineer".
4487      * Defaults to false: a spell check is performed.
4488      * </pre>
4489      *
4490      * <code>bool disable_spell_check = 9;</code>
4491      *
4492      * @return This builder for chaining.
4493      */
clearDisableSpellCheck()4494     public Builder clearDisableSpellCheck() {
4495       bitField0_ = (bitField0_ & ~0x00000200);
4496       disableSpellCheck_ = false;
4497       onChanged();
4498       return this;
4499     }
4500 
4501     private java.util.List<java.lang.Integer> employmentTypes_ = java.util.Collections.emptyList();
4502 
ensureEmploymentTypesIsMutable()4503     private void ensureEmploymentTypesIsMutable() {
4504       if (!((bitField0_ & 0x00000400) != 0)) {
4505         employmentTypes_ = new java.util.ArrayList<java.lang.Integer>(employmentTypes_);
4506         bitField0_ |= 0x00000400;
4507       }
4508     }
4509     /**
4510      *
4511      *
4512      * <pre>
4513      * The employment type filter specifies the employment type of jobs to
4514      * search against, such as
4515      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4516      * If a value isn't specified, jobs in the search results includes any
4517      * employment type.
4518      * If multiple values are specified, jobs in the search results include
4519      * any of the specified employment types.
4520      * </pre>
4521      *
4522      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4523      *
4524      * @return A list containing the employmentTypes.
4525      */
getEmploymentTypesList()4526     public java.util.List<com.google.cloud.talent.v4beta1.EmploymentType> getEmploymentTypesList() {
4527       return new com.google.protobuf.Internal.ListAdapter<
4528           java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>(
4529           employmentTypes_, employmentTypes_converter_);
4530     }
4531     /**
4532      *
4533      *
4534      * <pre>
4535      * The employment type filter specifies the employment type of jobs to
4536      * search against, such as
4537      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4538      * If a value isn't specified, jobs in the search results includes any
4539      * employment type.
4540      * If multiple values are specified, jobs in the search results include
4541      * any of the specified employment types.
4542      * </pre>
4543      *
4544      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4545      *
4546      * @return The count of employmentTypes.
4547      */
getEmploymentTypesCount()4548     public int getEmploymentTypesCount() {
4549       return employmentTypes_.size();
4550     }
4551     /**
4552      *
4553      *
4554      * <pre>
4555      * The employment type filter specifies the employment type of jobs to
4556      * search against, such as
4557      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4558      * If a value isn't specified, jobs in the search results includes any
4559      * employment type.
4560      * If multiple values are specified, jobs in the search results include
4561      * any of the specified employment types.
4562      * </pre>
4563      *
4564      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4565      *
4566      * @param index The index of the element to return.
4567      * @return The employmentTypes at the given index.
4568      */
getEmploymentTypes(int index)4569     public com.google.cloud.talent.v4beta1.EmploymentType getEmploymentTypes(int index) {
4570       return employmentTypes_converter_.convert(employmentTypes_.get(index));
4571     }
4572     /**
4573      *
4574      *
4575      * <pre>
4576      * The employment type filter specifies the employment type of jobs to
4577      * search against, such as
4578      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4579      * If a value isn't specified, jobs in the search results includes any
4580      * employment type.
4581      * If multiple values are specified, jobs in the search results include
4582      * any of the specified employment types.
4583      * </pre>
4584      *
4585      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4586      *
4587      * @param index The index to set the value at.
4588      * @param value The employmentTypes to set.
4589      * @return This builder for chaining.
4590      */
setEmploymentTypes( int index, com.google.cloud.talent.v4beta1.EmploymentType value)4591     public Builder setEmploymentTypes(
4592         int index, com.google.cloud.talent.v4beta1.EmploymentType value) {
4593       if (value == null) {
4594         throw new NullPointerException();
4595       }
4596       ensureEmploymentTypesIsMutable();
4597       employmentTypes_.set(index, value.getNumber());
4598       onChanged();
4599       return this;
4600     }
4601     /**
4602      *
4603      *
4604      * <pre>
4605      * The employment type filter specifies the employment type of jobs to
4606      * search against, such as
4607      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4608      * If a value isn't specified, jobs in the search results includes any
4609      * employment type.
4610      * If multiple values are specified, jobs in the search results include
4611      * any of the specified employment types.
4612      * </pre>
4613      *
4614      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4615      *
4616      * @param value The employmentTypes to add.
4617      * @return This builder for chaining.
4618      */
addEmploymentTypes(com.google.cloud.talent.v4beta1.EmploymentType value)4619     public Builder addEmploymentTypes(com.google.cloud.talent.v4beta1.EmploymentType value) {
4620       if (value == null) {
4621         throw new NullPointerException();
4622       }
4623       ensureEmploymentTypesIsMutable();
4624       employmentTypes_.add(value.getNumber());
4625       onChanged();
4626       return this;
4627     }
4628     /**
4629      *
4630      *
4631      * <pre>
4632      * The employment type filter specifies the employment type of jobs to
4633      * search against, such as
4634      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4635      * If a value isn't specified, jobs in the search results includes any
4636      * employment type.
4637      * If multiple values are specified, jobs in the search results include
4638      * any of the specified employment types.
4639      * </pre>
4640      *
4641      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4642      *
4643      * @param values The employmentTypes to add.
4644      * @return This builder for chaining.
4645      */
addAllEmploymentTypes( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.EmploymentType> values)4646     public Builder addAllEmploymentTypes(
4647         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.EmploymentType> values) {
4648       ensureEmploymentTypesIsMutable();
4649       for (com.google.cloud.talent.v4beta1.EmploymentType value : values) {
4650         employmentTypes_.add(value.getNumber());
4651       }
4652       onChanged();
4653       return this;
4654     }
4655     /**
4656      *
4657      *
4658      * <pre>
4659      * The employment type filter specifies the employment type of jobs to
4660      * search against, such as
4661      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4662      * If a value isn't specified, jobs in the search results includes any
4663      * employment type.
4664      * If multiple values are specified, jobs in the search results include
4665      * any of the specified employment types.
4666      * </pre>
4667      *
4668      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4669      *
4670      * @return This builder for chaining.
4671      */
clearEmploymentTypes()4672     public Builder clearEmploymentTypes() {
4673       employmentTypes_ = java.util.Collections.emptyList();
4674       bitField0_ = (bitField0_ & ~0x00000400);
4675       onChanged();
4676       return this;
4677     }
4678     /**
4679      *
4680      *
4681      * <pre>
4682      * The employment type filter specifies the employment type of jobs to
4683      * search against, such as
4684      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4685      * If a value isn't specified, jobs in the search results includes any
4686      * employment type.
4687      * If multiple values are specified, jobs in the search results include
4688      * any of the specified employment types.
4689      * </pre>
4690      *
4691      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4692      *
4693      * @return A list containing the enum numeric values on the wire for employmentTypes.
4694      */
getEmploymentTypesValueList()4695     public java.util.List<java.lang.Integer> getEmploymentTypesValueList() {
4696       return java.util.Collections.unmodifiableList(employmentTypes_);
4697     }
4698     /**
4699      *
4700      *
4701      * <pre>
4702      * The employment type filter specifies the employment type of jobs to
4703      * search against, such as
4704      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4705      * If a value isn't specified, jobs in the search results includes any
4706      * employment type.
4707      * If multiple values are specified, jobs in the search results include
4708      * any of the specified employment types.
4709      * </pre>
4710      *
4711      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4712      *
4713      * @param index The index of the value to return.
4714      * @return The enum numeric value on the wire of employmentTypes at the given index.
4715      */
getEmploymentTypesValue(int index)4716     public int getEmploymentTypesValue(int index) {
4717       return employmentTypes_.get(index);
4718     }
4719     /**
4720      *
4721      *
4722      * <pre>
4723      * The employment type filter specifies the employment type of jobs to
4724      * search against, such as
4725      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4726      * If a value isn't specified, jobs in the search results includes any
4727      * employment type.
4728      * If multiple values are specified, jobs in the search results include
4729      * any of the specified employment types.
4730      * </pre>
4731      *
4732      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4733      *
4734      * @param index The index to set the value at.
4735      * @param value The enum numeric value on the wire for employmentTypes to set.
4736      * @return This builder for chaining.
4737      */
setEmploymentTypesValue(int index, int value)4738     public Builder setEmploymentTypesValue(int index, int value) {
4739       ensureEmploymentTypesIsMutable();
4740       employmentTypes_.set(index, value);
4741       onChanged();
4742       return this;
4743     }
4744     /**
4745      *
4746      *
4747      * <pre>
4748      * The employment type filter specifies the employment type of jobs to
4749      * search against, such as
4750      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4751      * If a value isn't specified, jobs in the search results includes any
4752      * employment type.
4753      * If multiple values are specified, jobs in the search results include
4754      * any of the specified employment types.
4755      * </pre>
4756      *
4757      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4758      *
4759      * @param value The enum numeric value on the wire for employmentTypes to add.
4760      * @return This builder for chaining.
4761      */
addEmploymentTypesValue(int value)4762     public Builder addEmploymentTypesValue(int value) {
4763       ensureEmploymentTypesIsMutable();
4764       employmentTypes_.add(value);
4765       onChanged();
4766       return this;
4767     }
4768     /**
4769      *
4770      *
4771      * <pre>
4772      * The employment type filter specifies the employment type of jobs to
4773      * search against, such as
4774      * [EmploymentType.FULL_TIME][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME].
4775      * If a value isn't specified, jobs in the search results includes any
4776      * employment type.
4777      * If multiple values are specified, jobs in the search results include
4778      * any of the specified employment types.
4779      * </pre>
4780      *
4781      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 10;</code>
4782      *
4783      * @param values The enum numeric values on the wire for employmentTypes to add.
4784      * @return This builder for chaining.
4785      */
addAllEmploymentTypesValue(java.lang.Iterable<java.lang.Integer> values)4786     public Builder addAllEmploymentTypesValue(java.lang.Iterable<java.lang.Integer> values) {
4787       ensureEmploymentTypesIsMutable();
4788       for (int value : values) {
4789         employmentTypes_.add(value);
4790       }
4791       onChanged();
4792       return this;
4793     }
4794 
4795     private com.google.protobuf.LazyStringList languageCodes_ =
4796         com.google.protobuf.LazyStringArrayList.EMPTY;
4797 
ensureLanguageCodesIsMutable()4798     private void ensureLanguageCodesIsMutable() {
4799       if (!((bitField0_ & 0x00000800) != 0)) {
4800         languageCodes_ = new com.google.protobuf.LazyStringArrayList(languageCodes_);
4801         bitField0_ |= 0x00000800;
4802       }
4803     }
4804     /**
4805      *
4806      *
4807      * <pre>
4808      * This filter specifies the locale of jobs to search against,
4809      * for example, "en-US".
4810      * If a value isn't specified, the search results can contain jobs in any
4811      * locale.
4812      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4813      * For more information, see
4814      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4815      * At most 10 language code filters are allowed.
4816      * </pre>
4817      *
4818      * <code>repeated string language_codes = 11;</code>
4819      *
4820      * @return A list containing the languageCodes.
4821      */
getLanguageCodesList()4822     public com.google.protobuf.ProtocolStringList getLanguageCodesList() {
4823       return languageCodes_.getUnmodifiableView();
4824     }
4825     /**
4826      *
4827      *
4828      * <pre>
4829      * This filter specifies the locale of jobs to search against,
4830      * for example, "en-US".
4831      * If a value isn't specified, the search results can contain jobs in any
4832      * locale.
4833      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4834      * For more information, see
4835      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4836      * At most 10 language code filters are allowed.
4837      * </pre>
4838      *
4839      * <code>repeated string language_codes = 11;</code>
4840      *
4841      * @return The count of languageCodes.
4842      */
getLanguageCodesCount()4843     public int getLanguageCodesCount() {
4844       return languageCodes_.size();
4845     }
4846     /**
4847      *
4848      *
4849      * <pre>
4850      * This filter specifies the locale of jobs to search against,
4851      * for example, "en-US".
4852      * If a value isn't specified, the search results can contain jobs in any
4853      * locale.
4854      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4855      * For more information, see
4856      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4857      * At most 10 language code filters are allowed.
4858      * </pre>
4859      *
4860      * <code>repeated string language_codes = 11;</code>
4861      *
4862      * @param index The index of the element to return.
4863      * @return The languageCodes at the given index.
4864      */
getLanguageCodes(int index)4865     public java.lang.String getLanguageCodes(int index) {
4866       return languageCodes_.get(index);
4867     }
4868     /**
4869      *
4870      *
4871      * <pre>
4872      * This filter specifies the locale of jobs to search against,
4873      * for example, "en-US".
4874      * If a value isn't specified, the search results can contain jobs in any
4875      * locale.
4876      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4877      * For more information, see
4878      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4879      * At most 10 language code filters are allowed.
4880      * </pre>
4881      *
4882      * <code>repeated string language_codes = 11;</code>
4883      *
4884      * @param index The index of the value to return.
4885      * @return The bytes of the languageCodes at the given index.
4886      */
getLanguageCodesBytes(int index)4887     public com.google.protobuf.ByteString getLanguageCodesBytes(int index) {
4888       return languageCodes_.getByteString(index);
4889     }
4890     /**
4891      *
4892      *
4893      * <pre>
4894      * This filter specifies the locale of jobs to search against,
4895      * for example, "en-US".
4896      * If a value isn't specified, the search results can contain jobs in any
4897      * locale.
4898      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4899      * For more information, see
4900      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4901      * At most 10 language code filters are allowed.
4902      * </pre>
4903      *
4904      * <code>repeated string language_codes = 11;</code>
4905      *
4906      * @param index The index to set the value at.
4907      * @param value The languageCodes to set.
4908      * @return This builder for chaining.
4909      */
setLanguageCodes(int index, java.lang.String value)4910     public Builder setLanguageCodes(int index, java.lang.String value) {
4911       if (value == null) {
4912         throw new NullPointerException();
4913       }
4914       ensureLanguageCodesIsMutable();
4915       languageCodes_.set(index, value);
4916       onChanged();
4917       return this;
4918     }
4919     /**
4920      *
4921      *
4922      * <pre>
4923      * This filter specifies the locale of jobs to search against,
4924      * for example, "en-US".
4925      * If a value isn't specified, the search results can contain jobs in any
4926      * locale.
4927      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4928      * For more information, see
4929      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4930      * At most 10 language code filters are allowed.
4931      * </pre>
4932      *
4933      * <code>repeated string language_codes = 11;</code>
4934      *
4935      * @param value The languageCodes to add.
4936      * @return This builder for chaining.
4937      */
addLanguageCodes(java.lang.String value)4938     public Builder addLanguageCodes(java.lang.String value) {
4939       if (value == null) {
4940         throw new NullPointerException();
4941       }
4942       ensureLanguageCodesIsMutable();
4943       languageCodes_.add(value);
4944       onChanged();
4945       return this;
4946     }
4947     /**
4948      *
4949      *
4950      * <pre>
4951      * This filter specifies the locale of jobs to search against,
4952      * for example, "en-US".
4953      * If a value isn't specified, the search results can contain jobs in any
4954      * locale.
4955      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4956      * For more information, see
4957      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4958      * At most 10 language code filters are allowed.
4959      * </pre>
4960      *
4961      * <code>repeated string language_codes = 11;</code>
4962      *
4963      * @param values The languageCodes to add.
4964      * @return This builder for chaining.
4965      */
addAllLanguageCodes(java.lang.Iterable<java.lang.String> values)4966     public Builder addAllLanguageCodes(java.lang.Iterable<java.lang.String> values) {
4967       ensureLanguageCodesIsMutable();
4968       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, languageCodes_);
4969       onChanged();
4970       return this;
4971     }
4972     /**
4973      *
4974      *
4975      * <pre>
4976      * This filter specifies the locale of jobs to search against,
4977      * for example, "en-US".
4978      * If a value isn't specified, the search results can contain jobs in any
4979      * locale.
4980      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
4981      * For more information, see
4982      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
4983      * At most 10 language code filters are allowed.
4984      * </pre>
4985      *
4986      * <code>repeated string language_codes = 11;</code>
4987      *
4988      * @return This builder for chaining.
4989      */
clearLanguageCodes()4990     public Builder clearLanguageCodes() {
4991       languageCodes_ = com.google.protobuf.LazyStringArrayList.EMPTY;
4992       bitField0_ = (bitField0_ & ~0x00000800);
4993       onChanged();
4994       return this;
4995     }
4996     /**
4997      *
4998      *
4999      * <pre>
5000      * This filter specifies the locale of jobs to search against,
5001      * for example, "en-US".
5002      * If a value isn't specified, the search results can contain jobs in any
5003      * locale.
5004      * Language codes should be in BCP-47 format, such as "en-US" or "sr-Latn".
5005      * For more information, see
5006      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47).
5007      * At most 10 language code filters are allowed.
5008      * </pre>
5009      *
5010      * <code>repeated string language_codes = 11;</code>
5011      *
5012      * @param value The bytes of the languageCodes to add.
5013      * @return This builder for chaining.
5014      */
addLanguageCodesBytes(com.google.protobuf.ByteString value)5015     public Builder addLanguageCodesBytes(com.google.protobuf.ByteString value) {
5016       if (value == null) {
5017         throw new NullPointerException();
5018       }
5019       checkByteStringIsUtf8(value);
5020       ensureLanguageCodesIsMutable();
5021       languageCodes_.add(value);
5022       onChanged();
5023       return this;
5024     }
5025 
5026     private com.google.cloud.talent.v4beta1.TimestampRange publishTimeRange_;
5027     private com.google.protobuf.SingleFieldBuilderV3<
5028             com.google.cloud.talent.v4beta1.TimestampRange,
5029             com.google.cloud.talent.v4beta1.TimestampRange.Builder,
5030             com.google.cloud.talent.v4beta1.TimestampRangeOrBuilder>
5031         publishTimeRangeBuilder_;
5032     /**
5033      *
5034      *
5035      * <pre>
5036      * Jobs published within a range specified by this filter are searched
5037      * against.
5038      * </pre>
5039      *
5040      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5041      *
5042      * @return Whether the publishTimeRange field is set.
5043      */
hasPublishTimeRange()5044     public boolean hasPublishTimeRange() {
5045       return ((bitField0_ & 0x00001000) != 0);
5046     }
5047     /**
5048      *
5049      *
5050      * <pre>
5051      * Jobs published within a range specified by this filter are searched
5052      * against.
5053      * </pre>
5054      *
5055      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5056      *
5057      * @return The publishTimeRange.
5058      */
getPublishTimeRange()5059     public com.google.cloud.talent.v4beta1.TimestampRange getPublishTimeRange() {
5060       if (publishTimeRangeBuilder_ == null) {
5061         return publishTimeRange_ == null
5062             ? com.google.cloud.talent.v4beta1.TimestampRange.getDefaultInstance()
5063             : publishTimeRange_;
5064       } else {
5065         return publishTimeRangeBuilder_.getMessage();
5066       }
5067     }
5068     /**
5069      *
5070      *
5071      * <pre>
5072      * Jobs published within a range specified by this filter are searched
5073      * against.
5074      * </pre>
5075      *
5076      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5077      */
setPublishTimeRange(com.google.cloud.talent.v4beta1.TimestampRange value)5078     public Builder setPublishTimeRange(com.google.cloud.talent.v4beta1.TimestampRange value) {
5079       if (publishTimeRangeBuilder_ == null) {
5080         if (value == null) {
5081           throw new NullPointerException();
5082         }
5083         publishTimeRange_ = value;
5084       } else {
5085         publishTimeRangeBuilder_.setMessage(value);
5086       }
5087       bitField0_ |= 0x00001000;
5088       onChanged();
5089       return this;
5090     }
5091     /**
5092      *
5093      *
5094      * <pre>
5095      * Jobs published within a range specified by this filter are searched
5096      * against.
5097      * </pre>
5098      *
5099      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5100      */
setPublishTimeRange( com.google.cloud.talent.v4beta1.TimestampRange.Builder builderForValue)5101     public Builder setPublishTimeRange(
5102         com.google.cloud.talent.v4beta1.TimestampRange.Builder builderForValue) {
5103       if (publishTimeRangeBuilder_ == null) {
5104         publishTimeRange_ = builderForValue.build();
5105       } else {
5106         publishTimeRangeBuilder_.setMessage(builderForValue.build());
5107       }
5108       bitField0_ |= 0x00001000;
5109       onChanged();
5110       return this;
5111     }
5112     /**
5113      *
5114      *
5115      * <pre>
5116      * Jobs published within a range specified by this filter are searched
5117      * against.
5118      * </pre>
5119      *
5120      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5121      */
mergePublishTimeRange(com.google.cloud.talent.v4beta1.TimestampRange value)5122     public Builder mergePublishTimeRange(com.google.cloud.talent.v4beta1.TimestampRange value) {
5123       if (publishTimeRangeBuilder_ == null) {
5124         if (((bitField0_ & 0x00001000) != 0)
5125             && publishTimeRange_ != null
5126             && publishTimeRange_
5127                 != com.google.cloud.talent.v4beta1.TimestampRange.getDefaultInstance()) {
5128           getPublishTimeRangeBuilder().mergeFrom(value);
5129         } else {
5130           publishTimeRange_ = value;
5131         }
5132       } else {
5133         publishTimeRangeBuilder_.mergeFrom(value);
5134       }
5135       bitField0_ |= 0x00001000;
5136       onChanged();
5137       return this;
5138     }
5139     /**
5140      *
5141      *
5142      * <pre>
5143      * Jobs published within a range specified by this filter are searched
5144      * against.
5145      * </pre>
5146      *
5147      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5148      */
clearPublishTimeRange()5149     public Builder clearPublishTimeRange() {
5150       bitField0_ = (bitField0_ & ~0x00001000);
5151       publishTimeRange_ = null;
5152       if (publishTimeRangeBuilder_ != null) {
5153         publishTimeRangeBuilder_.dispose();
5154         publishTimeRangeBuilder_ = null;
5155       }
5156       onChanged();
5157       return this;
5158     }
5159     /**
5160      *
5161      *
5162      * <pre>
5163      * Jobs published within a range specified by this filter are searched
5164      * against.
5165      * </pre>
5166      *
5167      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5168      */
getPublishTimeRangeBuilder()5169     public com.google.cloud.talent.v4beta1.TimestampRange.Builder getPublishTimeRangeBuilder() {
5170       bitField0_ |= 0x00001000;
5171       onChanged();
5172       return getPublishTimeRangeFieldBuilder().getBuilder();
5173     }
5174     /**
5175      *
5176      *
5177      * <pre>
5178      * Jobs published within a range specified by this filter are searched
5179      * against.
5180      * </pre>
5181      *
5182      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5183      */
getPublishTimeRangeOrBuilder()5184     public com.google.cloud.talent.v4beta1.TimestampRangeOrBuilder getPublishTimeRangeOrBuilder() {
5185       if (publishTimeRangeBuilder_ != null) {
5186         return publishTimeRangeBuilder_.getMessageOrBuilder();
5187       } else {
5188         return publishTimeRange_ == null
5189             ? com.google.cloud.talent.v4beta1.TimestampRange.getDefaultInstance()
5190             : publishTimeRange_;
5191       }
5192     }
5193     /**
5194      *
5195      *
5196      * <pre>
5197      * Jobs published within a range specified by this filter are searched
5198      * against.
5199      * </pre>
5200      *
5201      * <code>.google.cloud.talent.v4beta1.TimestampRange publish_time_range = 12;</code>
5202      */
5203     private com.google.protobuf.SingleFieldBuilderV3<
5204             com.google.cloud.talent.v4beta1.TimestampRange,
5205             com.google.cloud.talent.v4beta1.TimestampRange.Builder,
5206             com.google.cloud.talent.v4beta1.TimestampRangeOrBuilder>
getPublishTimeRangeFieldBuilder()5207         getPublishTimeRangeFieldBuilder() {
5208       if (publishTimeRangeBuilder_ == null) {
5209         publishTimeRangeBuilder_ =
5210             new com.google.protobuf.SingleFieldBuilderV3<
5211                 com.google.cloud.talent.v4beta1.TimestampRange,
5212                 com.google.cloud.talent.v4beta1.TimestampRange.Builder,
5213                 com.google.cloud.talent.v4beta1.TimestampRangeOrBuilder>(
5214                 getPublishTimeRange(), getParentForChildren(), isClean());
5215         publishTimeRange_ = null;
5216       }
5217       return publishTimeRangeBuilder_;
5218     }
5219 
5220     private com.google.protobuf.LazyStringList excludedJobs_ =
5221         com.google.protobuf.LazyStringArrayList.EMPTY;
5222 
ensureExcludedJobsIsMutable()5223     private void ensureExcludedJobsIsMutable() {
5224       if (!((bitField0_ & 0x00002000) != 0)) {
5225         excludedJobs_ = new com.google.protobuf.LazyStringArrayList(excludedJobs_);
5226         bitField0_ |= 0x00002000;
5227       }
5228     }
5229     /**
5230      *
5231      *
5232      * <pre>
5233      * This filter specifies a list of job names to be excluded during search.
5234      * At most 400 excluded job names are allowed.
5235      * </pre>
5236      *
5237      * <code>repeated string excluded_jobs = 13;</code>
5238      *
5239      * @return A list containing the excludedJobs.
5240      */
getExcludedJobsList()5241     public com.google.protobuf.ProtocolStringList getExcludedJobsList() {
5242       return excludedJobs_.getUnmodifiableView();
5243     }
5244     /**
5245      *
5246      *
5247      * <pre>
5248      * This filter specifies a list of job names to be excluded during search.
5249      * At most 400 excluded job names are allowed.
5250      * </pre>
5251      *
5252      * <code>repeated string excluded_jobs = 13;</code>
5253      *
5254      * @return The count of excludedJobs.
5255      */
getExcludedJobsCount()5256     public int getExcludedJobsCount() {
5257       return excludedJobs_.size();
5258     }
5259     /**
5260      *
5261      *
5262      * <pre>
5263      * This filter specifies a list of job names to be excluded during search.
5264      * At most 400 excluded job names are allowed.
5265      * </pre>
5266      *
5267      * <code>repeated string excluded_jobs = 13;</code>
5268      *
5269      * @param index The index of the element to return.
5270      * @return The excludedJobs at the given index.
5271      */
getExcludedJobs(int index)5272     public java.lang.String getExcludedJobs(int index) {
5273       return excludedJobs_.get(index);
5274     }
5275     /**
5276      *
5277      *
5278      * <pre>
5279      * This filter specifies a list of job names to be excluded during search.
5280      * At most 400 excluded job names are allowed.
5281      * </pre>
5282      *
5283      * <code>repeated string excluded_jobs = 13;</code>
5284      *
5285      * @param index The index of the value to return.
5286      * @return The bytes of the excludedJobs at the given index.
5287      */
getExcludedJobsBytes(int index)5288     public com.google.protobuf.ByteString getExcludedJobsBytes(int index) {
5289       return excludedJobs_.getByteString(index);
5290     }
5291     /**
5292      *
5293      *
5294      * <pre>
5295      * This filter specifies a list of job names to be excluded during search.
5296      * At most 400 excluded job names are allowed.
5297      * </pre>
5298      *
5299      * <code>repeated string excluded_jobs = 13;</code>
5300      *
5301      * @param index The index to set the value at.
5302      * @param value The excludedJobs to set.
5303      * @return This builder for chaining.
5304      */
setExcludedJobs(int index, java.lang.String value)5305     public Builder setExcludedJobs(int index, java.lang.String value) {
5306       if (value == null) {
5307         throw new NullPointerException();
5308       }
5309       ensureExcludedJobsIsMutable();
5310       excludedJobs_.set(index, value);
5311       onChanged();
5312       return this;
5313     }
5314     /**
5315      *
5316      *
5317      * <pre>
5318      * This filter specifies a list of job names to be excluded during search.
5319      * At most 400 excluded job names are allowed.
5320      * </pre>
5321      *
5322      * <code>repeated string excluded_jobs = 13;</code>
5323      *
5324      * @param value The excludedJobs to add.
5325      * @return This builder for chaining.
5326      */
addExcludedJobs(java.lang.String value)5327     public Builder addExcludedJobs(java.lang.String value) {
5328       if (value == null) {
5329         throw new NullPointerException();
5330       }
5331       ensureExcludedJobsIsMutable();
5332       excludedJobs_.add(value);
5333       onChanged();
5334       return this;
5335     }
5336     /**
5337      *
5338      *
5339      * <pre>
5340      * This filter specifies a list of job names to be excluded during search.
5341      * At most 400 excluded job names are allowed.
5342      * </pre>
5343      *
5344      * <code>repeated string excluded_jobs = 13;</code>
5345      *
5346      * @param values The excludedJobs to add.
5347      * @return This builder for chaining.
5348      */
addAllExcludedJobs(java.lang.Iterable<java.lang.String> values)5349     public Builder addAllExcludedJobs(java.lang.Iterable<java.lang.String> values) {
5350       ensureExcludedJobsIsMutable();
5351       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, excludedJobs_);
5352       onChanged();
5353       return this;
5354     }
5355     /**
5356      *
5357      *
5358      * <pre>
5359      * This filter specifies a list of job names to be excluded during search.
5360      * At most 400 excluded job names are allowed.
5361      * </pre>
5362      *
5363      * <code>repeated string excluded_jobs = 13;</code>
5364      *
5365      * @return This builder for chaining.
5366      */
clearExcludedJobs()5367     public Builder clearExcludedJobs() {
5368       excludedJobs_ = com.google.protobuf.LazyStringArrayList.EMPTY;
5369       bitField0_ = (bitField0_ & ~0x00002000);
5370       onChanged();
5371       return this;
5372     }
5373     /**
5374      *
5375      *
5376      * <pre>
5377      * This filter specifies a list of job names to be excluded during search.
5378      * At most 400 excluded job names are allowed.
5379      * </pre>
5380      *
5381      * <code>repeated string excluded_jobs = 13;</code>
5382      *
5383      * @param value The bytes of the excludedJobs to add.
5384      * @return This builder for chaining.
5385      */
addExcludedJobsBytes(com.google.protobuf.ByteString value)5386     public Builder addExcludedJobsBytes(com.google.protobuf.ByteString value) {
5387       if (value == null) {
5388         throw new NullPointerException();
5389       }
5390       checkByteStringIsUtf8(value);
5391       ensureExcludedJobsIsMutable();
5392       excludedJobs_.add(value);
5393       onChanged();
5394       return this;
5395     }
5396 
5397     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)5398     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
5399       return super.setUnknownFields(unknownFields);
5400     }
5401 
5402     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)5403     public final Builder mergeUnknownFields(
5404         final com.google.protobuf.UnknownFieldSet unknownFields) {
5405       return super.mergeUnknownFields(unknownFields);
5406     }
5407 
5408     // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4beta1.JobQuery)
5409   }
5410 
5411   // @@protoc_insertion_point(class_scope:google.cloud.talent.v4beta1.JobQuery)
5412   private static final com.google.cloud.talent.v4beta1.JobQuery DEFAULT_INSTANCE;
5413 
5414   static {
5415     DEFAULT_INSTANCE = new com.google.cloud.talent.v4beta1.JobQuery();
5416   }
5417 
getDefaultInstance()5418   public static com.google.cloud.talent.v4beta1.JobQuery getDefaultInstance() {
5419     return DEFAULT_INSTANCE;
5420   }
5421 
5422   private static final com.google.protobuf.Parser<JobQuery> PARSER =
5423       new com.google.protobuf.AbstractParser<JobQuery>() {
5424         @java.lang.Override
5425         public JobQuery parsePartialFrom(
5426             com.google.protobuf.CodedInputStream input,
5427             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5428             throws com.google.protobuf.InvalidProtocolBufferException {
5429           Builder builder = newBuilder();
5430           try {
5431             builder.mergeFrom(input, extensionRegistry);
5432           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5433             throw e.setUnfinishedMessage(builder.buildPartial());
5434           } catch (com.google.protobuf.UninitializedMessageException e) {
5435             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
5436           } catch (java.io.IOException e) {
5437             throw new com.google.protobuf.InvalidProtocolBufferException(e)
5438                 .setUnfinishedMessage(builder.buildPartial());
5439           }
5440           return builder.buildPartial();
5441         }
5442       };
5443 
parser()5444   public static com.google.protobuf.Parser<JobQuery> parser() {
5445     return PARSER;
5446   }
5447 
5448   @java.lang.Override
getParserForType()5449   public com.google.protobuf.Parser<JobQuery> getParserForType() {
5450     return PARSER;
5451   }
5452 
5453   @java.lang.Override
getDefaultInstanceForType()5454   public com.google.cloud.talent.v4beta1.JobQuery getDefaultInstanceForType() {
5455     return DEFAULT_INSTANCE;
5456   }
5457 }
5458