• 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/job.proto
18 
19 package com.google.cloud.talent.v4beta1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A Job resource represents a job posting (also referred to as a "job listing"
26  * or "job requisition"). A job belongs to a
27  * [Company][google.cloud.talent.v4beta1.Company], which is the hiring entity
28  * responsible for the job.
29  * </pre>
30  *
31  * Protobuf type {@code google.cloud.talent.v4beta1.Job}
32  */
33 public final class Job extends com.google.protobuf.GeneratedMessageV3
34     implements
35     // @@protoc_insertion_point(message_implements:google.cloud.talent.v4beta1.Job)
36     JobOrBuilder {
37   private static final long serialVersionUID = 0L;
38   // Use Job.newBuilder() to construct.
Job(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)39   private Job(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
40     super(builder);
41   }
42 
Job()43   private Job() {
44     name_ = "";
45     company_ = "";
46     requisitionId_ = "";
47     title_ = "";
48     description_ = "";
49     addresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
50     jobBenefits_ = java.util.Collections.emptyList();
51     degreeTypes_ = java.util.Collections.emptyList();
52     department_ = "";
53     employmentTypes_ = java.util.Collections.emptyList();
54     incentives_ = "";
55     languageCode_ = "";
56     jobLevel_ = 0;
57     qualifications_ = "";
58     responsibilities_ = "";
59     postingRegion_ = 0;
60     visibility_ = 0;
61     companyDisplayName_ = "";
62   }
63 
64   @java.lang.Override
65   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)66   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
67     return new Job();
68   }
69 
70   @java.lang.Override
getUnknownFields()71   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
72     return this.unknownFields;
73   }
74 
getDescriptor()75   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
76     return com.google.cloud.talent.v4beta1.JobResourceProto
77         .internal_static_google_cloud_talent_v4beta1_Job_descriptor;
78   }
79 
80   @SuppressWarnings({"rawtypes"})
81   @java.lang.Override
internalGetMapField(int number)82   protected com.google.protobuf.MapField internalGetMapField(int number) {
83     switch (number) {
84       case 10:
85         return internalGetCustomAttributes();
86       default:
87         throw new RuntimeException("Invalid map field number: " + number);
88     }
89   }
90 
91   @java.lang.Override
92   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()93       internalGetFieldAccessorTable() {
94     return com.google.cloud.talent.v4beta1.JobResourceProto
95         .internal_static_google_cloud_talent_v4beta1_Job_fieldAccessorTable
96         .ensureFieldAccessorsInitialized(
97             com.google.cloud.talent.v4beta1.Job.class,
98             com.google.cloud.talent.v4beta1.Job.Builder.class);
99   }
100 
101   public interface ApplicationInfoOrBuilder
102       extends
103       // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4beta1.Job.ApplicationInfo)
104       com.google.protobuf.MessageOrBuilder {
105 
106     /**
107      *
108      *
109      * <pre>
110      * Use this field to specify email address(es) to which resumes or
111      * applications can be sent.
112      * The maximum number of allowed characters for each entry is 255.
113      * </pre>
114      *
115      * <code>repeated string emails = 1;</code>
116      *
117      * @return A list containing the emails.
118      */
getEmailsList()119     java.util.List<java.lang.String> getEmailsList();
120     /**
121      *
122      *
123      * <pre>
124      * Use this field to specify email address(es) to which resumes or
125      * applications can be sent.
126      * The maximum number of allowed characters for each entry is 255.
127      * </pre>
128      *
129      * <code>repeated string emails = 1;</code>
130      *
131      * @return The count of emails.
132      */
getEmailsCount()133     int getEmailsCount();
134     /**
135      *
136      *
137      * <pre>
138      * Use this field to specify email address(es) to which resumes or
139      * applications can be sent.
140      * The maximum number of allowed characters for each entry is 255.
141      * </pre>
142      *
143      * <code>repeated string emails = 1;</code>
144      *
145      * @param index The index of the element to return.
146      * @return The emails at the given index.
147      */
getEmails(int index)148     java.lang.String getEmails(int index);
149     /**
150      *
151      *
152      * <pre>
153      * Use this field to specify email address(es) to which resumes or
154      * applications can be sent.
155      * The maximum number of allowed characters for each entry is 255.
156      * </pre>
157      *
158      * <code>repeated string emails = 1;</code>
159      *
160      * @param index The index of the value to return.
161      * @return The bytes of the emails at the given index.
162      */
getEmailsBytes(int index)163     com.google.protobuf.ByteString getEmailsBytes(int index);
164 
165     /**
166      *
167      *
168      * <pre>
169      * Use this field to provide instructions, such as "Mail your application
170      * to ...", that a candidate can follow to apply for the job.
171      * This field accepts and sanitizes HTML input, and also accepts
172      * bold, italic, ordered list, and unordered list markup tags.
173      * The maximum number of allowed characters is 3,000.
174      * </pre>
175      *
176      * <code>string instruction = 2;</code>
177      *
178      * @return The instruction.
179      */
getInstruction()180     java.lang.String getInstruction();
181     /**
182      *
183      *
184      * <pre>
185      * Use this field to provide instructions, such as "Mail your application
186      * to ...", that a candidate can follow to apply for the job.
187      * This field accepts and sanitizes HTML input, and also accepts
188      * bold, italic, ordered list, and unordered list markup tags.
189      * The maximum number of allowed characters is 3,000.
190      * </pre>
191      *
192      * <code>string instruction = 2;</code>
193      *
194      * @return The bytes for instruction.
195      */
getInstructionBytes()196     com.google.protobuf.ByteString getInstructionBytes();
197 
198     /**
199      *
200      *
201      * <pre>
202      * Use this URI field to direct an applicant to a website, for example to
203      * link to an online application form.
204      * The maximum number of allowed characters for each entry is 2,000.
205      * </pre>
206      *
207      * <code>repeated string uris = 3;</code>
208      *
209      * @return A list containing the uris.
210      */
getUrisList()211     java.util.List<java.lang.String> getUrisList();
212     /**
213      *
214      *
215      * <pre>
216      * Use this URI field to direct an applicant to a website, for example to
217      * link to an online application form.
218      * The maximum number of allowed characters for each entry is 2,000.
219      * </pre>
220      *
221      * <code>repeated string uris = 3;</code>
222      *
223      * @return The count of uris.
224      */
getUrisCount()225     int getUrisCount();
226     /**
227      *
228      *
229      * <pre>
230      * Use this URI field to direct an applicant to a website, for example to
231      * link to an online application form.
232      * The maximum number of allowed characters for each entry is 2,000.
233      * </pre>
234      *
235      * <code>repeated string uris = 3;</code>
236      *
237      * @param index The index of the element to return.
238      * @return The uris at the given index.
239      */
getUris(int index)240     java.lang.String getUris(int index);
241     /**
242      *
243      *
244      * <pre>
245      * Use this URI field to direct an applicant to a website, for example to
246      * link to an online application form.
247      * The maximum number of allowed characters for each entry is 2,000.
248      * </pre>
249      *
250      * <code>repeated string uris = 3;</code>
251      *
252      * @param index The index of the value to return.
253      * @return The bytes of the uris at the given index.
254      */
getUrisBytes(int index)255     com.google.protobuf.ByteString getUrisBytes(int index);
256   }
257   /**
258    *
259    *
260    * <pre>
261    * Application related details of a job posting.
262    * </pre>
263    *
264    * Protobuf type {@code google.cloud.talent.v4beta1.Job.ApplicationInfo}
265    */
266   public static final class ApplicationInfo extends com.google.protobuf.GeneratedMessageV3
267       implements
268       // @@protoc_insertion_point(message_implements:google.cloud.talent.v4beta1.Job.ApplicationInfo)
269       ApplicationInfoOrBuilder {
270     private static final long serialVersionUID = 0L;
271     // Use ApplicationInfo.newBuilder() to construct.
ApplicationInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)272     private ApplicationInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
273       super(builder);
274     }
275 
ApplicationInfo()276     private ApplicationInfo() {
277       emails_ = com.google.protobuf.LazyStringArrayList.EMPTY;
278       instruction_ = "";
279       uris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
280     }
281 
282     @java.lang.Override
283     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)284     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
285       return new ApplicationInfo();
286     }
287 
288     @java.lang.Override
getUnknownFields()289     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
290       return this.unknownFields;
291     }
292 
getDescriptor()293     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
294       return com.google.cloud.talent.v4beta1.JobResourceProto
295           .internal_static_google_cloud_talent_v4beta1_Job_ApplicationInfo_descriptor;
296     }
297 
298     @java.lang.Override
299     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()300         internalGetFieldAccessorTable() {
301       return com.google.cloud.talent.v4beta1.JobResourceProto
302           .internal_static_google_cloud_talent_v4beta1_Job_ApplicationInfo_fieldAccessorTable
303           .ensureFieldAccessorsInitialized(
304               com.google.cloud.talent.v4beta1.Job.ApplicationInfo.class,
305               com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder.class);
306     }
307 
308     public static final int EMAILS_FIELD_NUMBER = 1;
309 
310     @SuppressWarnings("serial")
311     private com.google.protobuf.LazyStringList emails_;
312     /**
313      *
314      *
315      * <pre>
316      * Use this field to specify email address(es) to which resumes or
317      * applications can be sent.
318      * The maximum number of allowed characters for each entry is 255.
319      * </pre>
320      *
321      * <code>repeated string emails = 1;</code>
322      *
323      * @return A list containing the emails.
324      */
getEmailsList()325     public com.google.protobuf.ProtocolStringList getEmailsList() {
326       return emails_;
327     }
328     /**
329      *
330      *
331      * <pre>
332      * Use this field to specify email address(es) to which resumes or
333      * applications can be sent.
334      * The maximum number of allowed characters for each entry is 255.
335      * </pre>
336      *
337      * <code>repeated string emails = 1;</code>
338      *
339      * @return The count of emails.
340      */
getEmailsCount()341     public int getEmailsCount() {
342       return emails_.size();
343     }
344     /**
345      *
346      *
347      * <pre>
348      * Use this field to specify email address(es) to which resumes or
349      * applications can be sent.
350      * The maximum number of allowed characters for each entry is 255.
351      * </pre>
352      *
353      * <code>repeated string emails = 1;</code>
354      *
355      * @param index The index of the element to return.
356      * @return The emails at the given index.
357      */
getEmails(int index)358     public java.lang.String getEmails(int index) {
359       return emails_.get(index);
360     }
361     /**
362      *
363      *
364      * <pre>
365      * Use this field to specify email address(es) to which resumes or
366      * applications can be sent.
367      * The maximum number of allowed characters for each entry is 255.
368      * </pre>
369      *
370      * <code>repeated string emails = 1;</code>
371      *
372      * @param index The index of the value to return.
373      * @return The bytes of the emails at the given index.
374      */
getEmailsBytes(int index)375     public com.google.protobuf.ByteString getEmailsBytes(int index) {
376       return emails_.getByteString(index);
377     }
378 
379     public static final int INSTRUCTION_FIELD_NUMBER = 2;
380 
381     @SuppressWarnings("serial")
382     private volatile java.lang.Object instruction_ = "";
383     /**
384      *
385      *
386      * <pre>
387      * Use this field to provide instructions, such as "Mail your application
388      * to ...", that a candidate can follow to apply for the job.
389      * This field accepts and sanitizes HTML input, and also accepts
390      * bold, italic, ordered list, and unordered list markup tags.
391      * The maximum number of allowed characters is 3,000.
392      * </pre>
393      *
394      * <code>string instruction = 2;</code>
395      *
396      * @return The instruction.
397      */
398     @java.lang.Override
getInstruction()399     public java.lang.String getInstruction() {
400       java.lang.Object ref = instruction_;
401       if (ref instanceof java.lang.String) {
402         return (java.lang.String) ref;
403       } else {
404         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
405         java.lang.String s = bs.toStringUtf8();
406         instruction_ = s;
407         return s;
408       }
409     }
410     /**
411      *
412      *
413      * <pre>
414      * Use this field to provide instructions, such as "Mail your application
415      * to ...", that a candidate can follow to apply for the job.
416      * This field accepts and sanitizes HTML input, and also accepts
417      * bold, italic, ordered list, and unordered list markup tags.
418      * The maximum number of allowed characters is 3,000.
419      * </pre>
420      *
421      * <code>string instruction = 2;</code>
422      *
423      * @return The bytes for instruction.
424      */
425     @java.lang.Override
getInstructionBytes()426     public com.google.protobuf.ByteString getInstructionBytes() {
427       java.lang.Object ref = instruction_;
428       if (ref instanceof java.lang.String) {
429         com.google.protobuf.ByteString b =
430             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
431         instruction_ = b;
432         return b;
433       } else {
434         return (com.google.protobuf.ByteString) ref;
435       }
436     }
437 
438     public static final int URIS_FIELD_NUMBER = 3;
439 
440     @SuppressWarnings("serial")
441     private com.google.protobuf.LazyStringList uris_;
442     /**
443      *
444      *
445      * <pre>
446      * Use this URI field to direct an applicant to a website, for example to
447      * link to an online application form.
448      * The maximum number of allowed characters for each entry is 2,000.
449      * </pre>
450      *
451      * <code>repeated string uris = 3;</code>
452      *
453      * @return A list containing the uris.
454      */
getUrisList()455     public com.google.protobuf.ProtocolStringList getUrisList() {
456       return uris_;
457     }
458     /**
459      *
460      *
461      * <pre>
462      * Use this URI field to direct an applicant to a website, for example to
463      * link to an online application form.
464      * The maximum number of allowed characters for each entry is 2,000.
465      * </pre>
466      *
467      * <code>repeated string uris = 3;</code>
468      *
469      * @return The count of uris.
470      */
getUrisCount()471     public int getUrisCount() {
472       return uris_.size();
473     }
474     /**
475      *
476      *
477      * <pre>
478      * Use this URI field to direct an applicant to a website, for example to
479      * link to an online application form.
480      * The maximum number of allowed characters for each entry is 2,000.
481      * </pre>
482      *
483      * <code>repeated string uris = 3;</code>
484      *
485      * @param index The index of the element to return.
486      * @return The uris at the given index.
487      */
getUris(int index)488     public java.lang.String getUris(int index) {
489       return uris_.get(index);
490     }
491     /**
492      *
493      *
494      * <pre>
495      * Use this URI field to direct an applicant to a website, for example to
496      * link to an online application form.
497      * The maximum number of allowed characters for each entry is 2,000.
498      * </pre>
499      *
500      * <code>repeated string uris = 3;</code>
501      *
502      * @param index The index of the value to return.
503      * @return The bytes of the uris at the given index.
504      */
getUrisBytes(int index)505     public com.google.protobuf.ByteString getUrisBytes(int index) {
506       return uris_.getByteString(index);
507     }
508 
509     private byte memoizedIsInitialized = -1;
510 
511     @java.lang.Override
isInitialized()512     public final boolean isInitialized() {
513       byte isInitialized = memoizedIsInitialized;
514       if (isInitialized == 1) return true;
515       if (isInitialized == 0) return false;
516 
517       memoizedIsInitialized = 1;
518       return true;
519     }
520 
521     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)522     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
523       for (int i = 0; i < emails_.size(); i++) {
524         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, emails_.getRaw(i));
525       }
526       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(instruction_)) {
527         com.google.protobuf.GeneratedMessageV3.writeString(output, 2, instruction_);
528       }
529       for (int i = 0; i < uris_.size(); i++) {
530         com.google.protobuf.GeneratedMessageV3.writeString(output, 3, uris_.getRaw(i));
531       }
532       getUnknownFields().writeTo(output);
533     }
534 
535     @java.lang.Override
getSerializedSize()536     public int getSerializedSize() {
537       int size = memoizedSize;
538       if (size != -1) return size;
539 
540       size = 0;
541       {
542         int dataSize = 0;
543         for (int i = 0; i < emails_.size(); i++) {
544           dataSize += computeStringSizeNoTag(emails_.getRaw(i));
545         }
546         size += dataSize;
547         size += 1 * getEmailsList().size();
548       }
549       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(instruction_)) {
550         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, instruction_);
551       }
552       {
553         int dataSize = 0;
554         for (int i = 0; i < uris_.size(); i++) {
555           dataSize += computeStringSizeNoTag(uris_.getRaw(i));
556         }
557         size += dataSize;
558         size += 1 * getUrisList().size();
559       }
560       size += getUnknownFields().getSerializedSize();
561       memoizedSize = size;
562       return size;
563     }
564 
565     @java.lang.Override
equals(final java.lang.Object obj)566     public boolean equals(final java.lang.Object obj) {
567       if (obj == this) {
568         return true;
569       }
570       if (!(obj instanceof com.google.cloud.talent.v4beta1.Job.ApplicationInfo)) {
571         return super.equals(obj);
572       }
573       com.google.cloud.talent.v4beta1.Job.ApplicationInfo other =
574           (com.google.cloud.talent.v4beta1.Job.ApplicationInfo) obj;
575 
576       if (!getEmailsList().equals(other.getEmailsList())) return false;
577       if (!getInstruction().equals(other.getInstruction())) return false;
578       if (!getUrisList().equals(other.getUrisList())) return false;
579       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
580       return true;
581     }
582 
583     @java.lang.Override
hashCode()584     public int hashCode() {
585       if (memoizedHashCode != 0) {
586         return memoizedHashCode;
587       }
588       int hash = 41;
589       hash = (19 * hash) + getDescriptor().hashCode();
590       if (getEmailsCount() > 0) {
591         hash = (37 * hash) + EMAILS_FIELD_NUMBER;
592         hash = (53 * hash) + getEmailsList().hashCode();
593       }
594       hash = (37 * hash) + INSTRUCTION_FIELD_NUMBER;
595       hash = (53 * hash) + getInstruction().hashCode();
596       if (getUrisCount() > 0) {
597         hash = (37 * hash) + URIS_FIELD_NUMBER;
598         hash = (53 * hash) + getUrisList().hashCode();
599       }
600       hash = (29 * hash) + getUnknownFields().hashCode();
601       memoizedHashCode = hash;
602       return hash;
603     }
604 
parseFrom( java.nio.ByteBuffer data)605     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
606         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
607       return PARSER.parseFrom(data);
608     }
609 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)610     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
611         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
612         throws com.google.protobuf.InvalidProtocolBufferException {
613       return PARSER.parseFrom(data, extensionRegistry);
614     }
615 
parseFrom( com.google.protobuf.ByteString data)616     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
617         com.google.protobuf.ByteString data)
618         throws com.google.protobuf.InvalidProtocolBufferException {
619       return PARSER.parseFrom(data);
620     }
621 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)622     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
623         com.google.protobuf.ByteString data,
624         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
625         throws com.google.protobuf.InvalidProtocolBufferException {
626       return PARSER.parseFrom(data, extensionRegistry);
627     }
628 
parseFrom(byte[] data)629     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(byte[] data)
630         throws com.google.protobuf.InvalidProtocolBufferException {
631       return PARSER.parseFrom(data);
632     }
633 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)634     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
635         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
636         throws com.google.protobuf.InvalidProtocolBufferException {
637       return PARSER.parseFrom(data, extensionRegistry);
638     }
639 
parseFrom( java.io.InputStream input)640     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
641         java.io.InputStream input) throws java.io.IOException {
642       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
643     }
644 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)645     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
646         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
647         throws java.io.IOException {
648       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
649           PARSER, input, extensionRegistry);
650     }
651 
parseDelimitedFrom( java.io.InputStream input)652     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseDelimitedFrom(
653         java.io.InputStream input) throws java.io.IOException {
654       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
655     }
656 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)657     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseDelimitedFrom(
658         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
659         throws java.io.IOException {
660       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
661           PARSER, input, extensionRegistry);
662     }
663 
parseFrom( com.google.protobuf.CodedInputStream input)664     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
665         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
666       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
667     }
668 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)669     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo parseFrom(
670         com.google.protobuf.CodedInputStream input,
671         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
672         throws java.io.IOException {
673       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
674           PARSER, input, extensionRegistry);
675     }
676 
677     @java.lang.Override
newBuilderForType()678     public Builder newBuilderForType() {
679       return newBuilder();
680     }
681 
newBuilder()682     public static Builder newBuilder() {
683       return DEFAULT_INSTANCE.toBuilder();
684     }
685 
newBuilder( com.google.cloud.talent.v4beta1.Job.ApplicationInfo prototype)686     public static Builder newBuilder(
687         com.google.cloud.talent.v4beta1.Job.ApplicationInfo prototype) {
688       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
689     }
690 
691     @java.lang.Override
toBuilder()692     public Builder toBuilder() {
693       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
694     }
695 
696     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)697     protected Builder newBuilderForType(
698         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
699       Builder builder = new Builder(parent);
700       return builder;
701     }
702     /**
703      *
704      *
705      * <pre>
706      * Application related details of a job posting.
707      * </pre>
708      *
709      * Protobuf type {@code google.cloud.talent.v4beta1.Job.ApplicationInfo}
710      */
711     public static final class Builder
712         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
713         implements
714         // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4beta1.Job.ApplicationInfo)
715         com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder {
getDescriptor()716       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
717         return com.google.cloud.talent.v4beta1.JobResourceProto
718             .internal_static_google_cloud_talent_v4beta1_Job_ApplicationInfo_descriptor;
719       }
720 
721       @java.lang.Override
722       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()723           internalGetFieldAccessorTable() {
724         return com.google.cloud.talent.v4beta1.JobResourceProto
725             .internal_static_google_cloud_talent_v4beta1_Job_ApplicationInfo_fieldAccessorTable
726             .ensureFieldAccessorsInitialized(
727                 com.google.cloud.talent.v4beta1.Job.ApplicationInfo.class,
728                 com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder.class);
729       }
730 
731       // Construct using com.google.cloud.talent.v4beta1.Job.ApplicationInfo.newBuilder()
Builder()732       private Builder() {}
733 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)734       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
735         super(parent);
736       }
737 
738       @java.lang.Override
clear()739       public Builder clear() {
740         super.clear();
741         bitField0_ = 0;
742         emails_ = com.google.protobuf.LazyStringArrayList.EMPTY;
743         bitField0_ = (bitField0_ & ~0x00000001);
744         instruction_ = "";
745         uris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
746         bitField0_ = (bitField0_ & ~0x00000004);
747         return this;
748       }
749 
750       @java.lang.Override
getDescriptorForType()751       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
752         return com.google.cloud.talent.v4beta1.JobResourceProto
753             .internal_static_google_cloud_talent_v4beta1_Job_ApplicationInfo_descriptor;
754       }
755 
756       @java.lang.Override
getDefaultInstanceForType()757       public com.google.cloud.talent.v4beta1.Job.ApplicationInfo getDefaultInstanceForType() {
758         return com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance();
759       }
760 
761       @java.lang.Override
build()762       public com.google.cloud.talent.v4beta1.Job.ApplicationInfo build() {
763         com.google.cloud.talent.v4beta1.Job.ApplicationInfo result = buildPartial();
764         if (!result.isInitialized()) {
765           throw newUninitializedMessageException(result);
766         }
767         return result;
768       }
769 
770       @java.lang.Override
buildPartial()771       public com.google.cloud.talent.v4beta1.Job.ApplicationInfo buildPartial() {
772         com.google.cloud.talent.v4beta1.Job.ApplicationInfo result =
773             new com.google.cloud.talent.v4beta1.Job.ApplicationInfo(this);
774         buildPartialRepeatedFields(result);
775         if (bitField0_ != 0) {
776           buildPartial0(result);
777         }
778         onBuilt();
779         return result;
780       }
781 
buildPartialRepeatedFields( com.google.cloud.talent.v4beta1.Job.ApplicationInfo result)782       private void buildPartialRepeatedFields(
783           com.google.cloud.talent.v4beta1.Job.ApplicationInfo result) {
784         if (((bitField0_ & 0x00000001) != 0)) {
785           emails_ = emails_.getUnmodifiableView();
786           bitField0_ = (bitField0_ & ~0x00000001);
787         }
788         result.emails_ = emails_;
789         if (((bitField0_ & 0x00000004) != 0)) {
790           uris_ = uris_.getUnmodifiableView();
791           bitField0_ = (bitField0_ & ~0x00000004);
792         }
793         result.uris_ = uris_;
794       }
795 
buildPartial0(com.google.cloud.talent.v4beta1.Job.ApplicationInfo result)796       private void buildPartial0(com.google.cloud.talent.v4beta1.Job.ApplicationInfo result) {
797         int from_bitField0_ = bitField0_;
798         if (((from_bitField0_ & 0x00000002) != 0)) {
799           result.instruction_ = instruction_;
800         }
801       }
802 
803       @java.lang.Override
clone()804       public Builder clone() {
805         return super.clone();
806       }
807 
808       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)809       public Builder setField(
810           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
811         return super.setField(field, value);
812       }
813 
814       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)815       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
816         return super.clearField(field);
817       }
818 
819       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)820       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
821         return super.clearOneof(oneof);
822       }
823 
824       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)825       public Builder setRepeatedField(
826           com.google.protobuf.Descriptors.FieldDescriptor field,
827           int index,
828           java.lang.Object value) {
829         return super.setRepeatedField(field, index, value);
830       }
831 
832       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)833       public Builder addRepeatedField(
834           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
835         return super.addRepeatedField(field, value);
836       }
837 
838       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)839       public Builder mergeFrom(com.google.protobuf.Message other) {
840         if (other instanceof com.google.cloud.talent.v4beta1.Job.ApplicationInfo) {
841           return mergeFrom((com.google.cloud.talent.v4beta1.Job.ApplicationInfo) other);
842         } else {
843           super.mergeFrom(other);
844           return this;
845         }
846       }
847 
mergeFrom(com.google.cloud.talent.v4beta1.Job.ApplicationInfo other)848       public Builder mergeFrom(com.google.cloud.talent.v4beta1.Job.ApplicationInfo other) {
849         if (other == com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance())
850           return this;
851         if (!other.emails_.isEmpty()) {
852           if (emails_.isEmpty()) {
853             emails_ = other.emails_;
854             bitField0_ = (bitField0_ & ~0x00000001);
855           } else {
856             ensureEmailsIsMutable();
857             emails_.addAll(other.emails_);
858           }
859           onChanged();
860         }
861         if (!other.getInstruction().isEmpty()) {
862           instruction_ = other.instruction_;
863           bitField0_ |= 0x00000002;
864           onChanged();
865         }
866         if (!other.uris_.isEmpty()) {
867           if (uris_.isEmpty()) {
868             uris_ = other.uris_;
869             bitField0_ = (bitField0_ & ~0x00000004);
870           } else {
871             ensureUrisIsMutable();
872             uris_.addAll(other.uris_);
873           }
874           onChanged();
875         }
876         this.mergeUnknownFields(other.getUnknownFields());
877         onChanged();
878         return this;
879       }
880 
881       @java.lang.Override
isInitialized()882       public final boolean isInitialized() {
883         return true;
884       }
885 
886       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)887       public Builder mergeFrom(
888           com.google.protobuf.CodedInputStream input,
889           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
890           throws java.io.IOException {
891         if (extensionRegistry == null) {
892           throw new java.lang.NullPointerException();
893         }
894         try {
895           boolean done = false;
896           while (!done) {
897             int tag = input.readTag();
898             switch (tag) {
899               case 0:
900                 done = true;
901                 break;
902               case 10:
903                 {
904                   java.lang.String s = input.readStringRequireUtf8();
905                   ensureEmailsIsMutable();
906                   emails_.add(s);
907                   break;
908                 } // case 10
909               case 18:
910                 {
911                   instruction_ = input.readStringRequireUtf8();
912                   bitField0_ |= 0x00000002;
913                   break;
914                 } // case 18
915               case 26:
916                 {
917                   java.lang.String s = input.readStringRequireUtf8();
918                   ensureUrisIsMutable();
919                   uris_.add(s);
920                   break;
921                 } // case 26
922               default:
923                 {
924                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
925                     done = true; // was an endgroup tag
926                   }
927                   break;
928                 } // default:
929             } // switch (tag)
930           } // while (!done)
931         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
932           throw e.unwrapIOException();
933         } finally {
934           onChanged();
935         } // finally
936         return this;
937       }
938 
939       private int bitField0_;
940 
941       private com.google.protobuf.LazyStringList emails_ =
942           com.google.protobuf.LazyStringArrayList.EMPTY;
943 
ensureEmailsIsMutable()944       private void ensureEmailsIsMutable() {
945         if (!((bitField0_ & 0x00000001) != 0)) {
946           emails_ = new com.google.protobuf.LazyStringArrayList(emails_);
947           bitField0_ |= 0x00000001;
948         }
949       }
950       /**
951        *
952        *
953        * <pre>
954        * Use this field to specify email address(es) to which resumes or
955        * applications can be sent.
956        * The maximum number of allowed characters for each entry is 255.
957        * </pre>
958        *
959        * <code>repeated string emails = 1;</code>
960        *
961        * @return A list containing the emails.
962        */
getEmailsList()963       public com.google.protobuf.ProtocolStringList getEmailsList() {
964         return emails_.getUnmodifiableView();
965       }
966       /**
967        *
968        *
969        * <pre>
970        * Use this field to specify email address(es) to which resumes or
971        * applications can be sent.
972        * The maximum number of allowed characters for each entry is 255.
973        * </pre>
974        *
975        * <code>repeated string emails = 1;</code>
976        *
977        * @return The count of emails.
978        */
getEmailsCount()979       public int getEmailsCount() {
980         return emails_.size();
981       }
982       /**
983        *
984        *
985        * <pre>
986        * Use this field to specify email address(es) to which resumes or
987        * applications can be sent.
988        * The maximum number of allowed characters for each entry is 255.
989        * </pre>
990        *
991        * <code>repeated string emails = 1;</code>
992        *
993        * @param index The index of the element to return.
994        * @return The emails at the given index.
995        */
getEmails(int index)996       public java.lang.String getEmails(int index) {
997         return emails_.get(index);
998       }
999       /**
1000        *
1001        *
1002        * <pre>
1003        * Use this field to specify email address(es) to which resumes or
1004        * applications can be sent.
1005        * The maximum number of allowed characters for each entry is 255.
1006        * </pre>
1007        *
1008        * <code>repeated string emails = 1;</code>
1009        *
1010        * @param index The index of the value to return.
1011        * @return The bytes of the emails at the given index.
1012        */
getEmailsBytes(int index)1013       public com.google.protobuf.ByteString getEmailsBytes(int index) {
1014         return emails_.getByteString(index);
1015       }
1016       /**
1017        *
1018        *
1019        * <pre>
1020        * Use this field to specify email address(es) to which resumes or
1021        * applications can be sent.
1022        * The maximum number of allowed characters for each entry is 255.
1023        * </pre>
1024        *
1025        * <code>repeated string emails = 1;</code>
1026        *
1027        * @param index The index to set the value at.
1028        * @param value The emails to set.
1029        * @return This builder for chaining.
1030        */
setEmails(int index, java.lang.String value)1031       public Builder setEmails(int index, java.lang.String value) {
1032         if (value == null) {
1033           throw new NullPointerException();
1034         }
1035         ensureEmailsIsMutable();
1036         emails_.set(index, value);
1037         onChanged();
1038         return this;
1039       }
1040       /**
1041        *
1042        *
1043        * <pre>
1044        * Use this field to specify email address(es) to which resumes or
1045        * applications can be sent.
1046        * The maximum number of allowed characters for each entry is 255.
1047        * </pre>
1048        *
1049        * <code>repeated string emails = 1;</code>
1050        *
1051        * @param value The emails to add.
1052        * @return This builder for chaining.
1053        */
addEmails(java.lang.String value)1054       public Builder addEmails(java.lang.String value) {
1055         if (value == null) {
1056           throw new NullPointerException();
1057         }
1058         ensureEmailsIsMutable();
1059         emails_.add(value);
1060         onChanged();
1061         return this;
1062       }
1063       /**
1064        *
1065        *
1066        * <pre>
1067        * Use this field to specify email address(es) to which resumes or
1068        * applications can be sent.
1069        * The maximum number of allowed characters for each entry is 255.
1070        * </pre>
1071        *
1072        * <code>repeated string emails = 1;</code>
1073        *
1074        * @param values The emails to add.
1075        * @return This builder for chaining.
1076        */
addAllEmails(java.lang.Iterable<java.lang.String> values)1077       public Builder addAllEmails(java.lang.Iterable<java.lang.String> values) {
1078         ensureEmailsIsMutable();
1079         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, emails_);
1080         onChanged();
1081         return this;
1082       }
1083       /**
1084        *
1085        *
1086        * <pre>
1087        * Use this field to specify email address(es) to which resumes or
1088        * applications can be sent.
1089        * The maximum number of allowed characters for each entry is 255.
1090        * </pre>
1091        *
1092        * <code>repeated string emails = 1;</code>
1093        *
1094        * @return This builder for chaining.
1095        */
clearEmails()1096       public Builder clearEmails() {
1097         emails_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1098         bitField0_ = (bitField0_ & ~0x00000001);
1099         onChanged();
1100         return this;
1101       }
1102       /**
1103        *
1104        *
1105        * <pre>
1106        * Use this field to specify email address(es) to which resumes or
1107        * applications can be sent.
1108        * The maximum number of allowed characters for each entry is 255.
1109        * </pre>
1110        *
1111        * <code>repeated string emails = 1;</code>
1112        *
1113        * @param value The bytes of the emails to add.
1114        * @return This builder for chaining.
1115        */
addEmailsBytes(com.google.protobuf.ByteString value)1116       public Builder addEmailsBytes(com.google.protobuf.ByteString value) {
1117         if (value == null) {
1118           throw new NullPointerException();
1119         }
1120         checkByteStringIsUtf8(value);
1121         ensureEmailsIsMutable();
1122         emails_.add(value);
1123         onChanged();
1124         return this;
1125       }
1126 
1127       private java.lang.Object instruction_ = "";
1128       /**
1129        *
1130        *
1131        * <pre>
1132        * Use this field to provide instructions, such as "Mail your application
1133        * to ...", that a candidate can follow to apply for the job.
1134        * This field accepts and sanitizes HTML input, and also accepts
1135        * bold, italic, ordered list, and unordered list markup tags.
1136        * The maximum number of allowed characters is 3,000.
1137        * </pre>
1138        *
1139        * <code>string instruction = 2;</code>
1140        *
1141        * @return The instruction.
1142        */
getInstruction()1143       public java.lang.String getInstruction() {
1144         java.lang.Object ref = instruction_;
1145         if (!(ref instanceof java.lang.String)) {
1146           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1147           java.lang.String s = bs.toStringUtf8();
1148           instruction_ = s;
1149           return s;
1150         } else {
1151           return (java.lang.String) ref;
1152         }
1153       }
1154       /**
1155        *
1156        *
1157        * <pre>
1158        * Use this field to provide instructions, such as "Mail your application
1159        * to ...", that a candidate can follow to apply for the job.
1160        * This field accepts and sanitizes HTML input, and also accepts
1161        * bold, italic, ordered list, and unordered list markup tags.
1162        * The maximum number of allowed characters is 3,000.
1163        * </pre>
1164        *
1165        * <code>string instruction = 2;</code>
1166        *
1167        * @return The bytes for instruction.
1168        */
getInstructionBytes()1169       public com.google.protobuf.ByteString getInstructionBytes() {
1170         java.lang.Object ref = instruction_;
1171         if (ref instanceof String) {
1172           com.google.protobuf.ByteString b =
1173               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1174           instruction_ = b;
1175           return b;
1176         } else {
1177           return (com.google.protobuf.ByteString) ref;
1178         }
1179       }
1180       /**
1181        *
1182        *
1183        * <pre>
1184        * Use this field to provide instructions, such as "Mail your application
1185        * to ...", that a candidate can follow to apply for the job.
1186        * This field accepts and sanitizes HTML input, and also accepts
1187        * bold, italic, ordered list, and unordered list markup tags.
1188        * The maximum number of allowed characters is 3,000.
1189        * </pre>
1190        *
1191        * <code>string instruction = 2;</code>
1192        *
1193        * @param value The instruction to set.
1194        * @return This builder for chaining.
1195        */
setInstruction(java.lang.String value)1196       public Builder setInstruction(java.lang.String value) {
1197         if (value == null) {
1198           throw new NullPointerException();
1199         }
1200         instruction_ = value;
1201         bitField0_ |= 0x00000002;
1202         onChanged();
1203         return this;
1204       }
1205       /**
1206        *
1207        *
1208        * <pre>
1209        * Use this field to provide instructions, such as "Mail your application
1210        * to ...", that a candidate can follow to apply for the job.
1211        * This field accepts and sanitizes HTML input, and also accepts
1212        * bold, italic, ordered list, and unordered list markup tags.
1213        * The maximum number of allowed characters is 3,000.
1214        * </pre>
1215        *
1216        * <code>string instruction = 2;</code>
1217        *
1218        * @return This builder for chaining.
1219        */
clearInstruction()1220       public Builder clearInstruction() {
1221         instruction_ = getDefaultInstance().getInstruction();
1222         bitField0_ = (bitField0_ & ~0x00000002);
1223         onChanged();
1224         return this;
1225       }
1226       /**
1227        *
1228        *
1229        * <pre>
1230        * Use this field to provide instructions, such as "Mail your application
1231        * to ...", that a candidate can follow to apply for the job.
1232        * This field accepts and sanitizes HTML input, and also accepts
1233        * bold, italic, ordered list, and unordered list markup tags.
1234        * The maximum number of allowed characters is 3,000.
1235        * </pre>
1236        *
1237        * <code>string instruction = 2;</code>
1238        *
1239        * @param value The bytes for instruction to set.
1240        * @return This builder for chaining.
1241        */
setInstructionBytes(com.google.protobuf.ByteString value)1242       public Builder setInstructionBytes(com.google.protobuf.ByteString value) {
1243         if (value == null) {
1244           throw new NullPointerException();
1245         }
1246         checkByteStringIsUtf8(value);
1247         instruction_ = value;
1248         bitField0_ |= 0x00000002;
1249         onChanged();
1250         return this;
1251       }
1252 
1253       private com.google.protobuf.LazyStringList uris_ =
1254           com.google.protobuf.LazyStringArrayList.EMPTY;
1255 
ensureUrisIsMutable()1256       private void ensureUrisIsMutable() {
1257         if (!((bitField0_ & 0x00000004) != 0)) {
1258           uris_ = new com.google.protobuf.LazyStringArrayList(uris_);
1259           bitField0_ |= 0x00000004;
1260         }
1261       }
1262       /**
1263        *
1264        *
1265        * <pre>
1266        * Use this URI field to direct an applicant to a website, for example to
1267        * link to an online application form.
1268        * The maximum number of allowed characters for each entry is 2,000.
1269        * </pre>
1270        *
1271        * <code>repeated string uris = 3;</code>
1272        *
1273        * @return A list containing the uris.
1274        */
getUrisList()1275       public com.google.protobuf.ProtocolStringList getUrisList() {
1276         return uris_.getUnmodifiableView();
1277       }
1278       /**
1279        *
1280        *
1281        * <pre>
1282        * Use this URI field to direct an applicant to a website, for example to
1283        * link to an online application form.
1284        * The maximum number of allowed characters for each entry is 2,000.
1285        * </pre>
1286        *
1287        * <code>repeated string uris = 3;</code>
1288        *
1289        * @return The count of uris.
1290        */
getUrisCount()1291       public int getUrisCount() {
1292         return uris_.size();
1293       }
1294       /**
1295        *
1296        *
1297        * <pre>
1298        * Use this URI field to direct an applicant to a website, for example to
1299        * link to an online application form.
1300        * The maximum number of allowed characters for each entry is 2,000.
1301        * </pre>
1302        *
1303        * <code>repeated string uris = 3;</code>
1304        *
1305        * @param index The index of the element to return.
1306        * @return The uris at the given index.
1307        */
getUris(int index)1308       public java.lang.String getUris(int index) {
1309         return uris_.get(index);
1310       }
1311       /**
1312        *
1313        *
1314        * <pre>
1315        * Use this URI field to direct an applicant to a website, for example to
1316        * link to an online application form.
1317        * The maximum number of allowed characters for each entry is 2,000.
1318        * </pre>
1319        *
1320        * <code>repeated string uris = 3;</code>
1321        *
1322        * @param index The index of the value to return.
1323        * @return The bytes of the uris at the given index.
1324        */
getUrisBytes(int index)1325       public com.google.protobuf.ByteString getUrisBytes(int index) {
1326         return uris_.getByteString(index);
1327       }
1328       /**
1329        *
1330        *
1331        * <pre>
1332        * Use this URI field to direct an applicant to a website, for example to
1333        * link to an online application form.
1334        * The maximum number of allowed characters for each entry is 2,000.
1335        * </pre>
1336        *
1337        * <code>repeated string uris = 3;</code>
1338        *
1339        * @param index The index to set the value at.
1340        * @param value The uris to set.
1341        * @return This builder for chaining.
1342        */
setUris(int index, java.lang.String value)1343       public Builder setUris(int index, java.lang.String value) {
1344         if (value == null) {
1345           throw new NullPointerException();
1346         }
1347         ensureUrisIsMutable();
1348         uris_.set(index, value);
1349         onChanged();
1350         return this;
1351       }
1352       /**
1353        *
1354        *
1355        * <pre>
1356        * Use this URI field to direct an applicant to a website, for example to
1357        * link to an online application form.
1358        * The maximum number of allowed characters for each entry is 2,000.
1359        * </pre>
1360        *
1361        * <code>repeated string uris = 3;</code>
1362        *
1363        * @param value The uris to add.
1364        * @return This builder for chaining.
1365        */
addUris(java.lang.String value)1366       public Builder addUris(java.lang.String value) {
1367         if (value == null) {
1368           throw new NullPointerException();
1369         }
1370         ensureUrisIsMutable();
1371         uris_.add(value);
1372         onChanged();
1373         return this;
1374       }
1375       /**
1376        *
1377        *
1378        * <pre>
1379        * Use this URI field to direct an applicant to a website, for example to
1380        * link to an online application form.
1381        * The maximum number of allowed characters for each entry is 2,000.
1382        * </pre>
1383        *
1384        * <code>repeated string uris = 3;</code>
1385        *
1386        * @param values The uris to add.
1387        * @return This builder for chaining.
1388        */
addAllUris(java.lang.Iterable<java.lang.String> values)1389       public Builder addAllUris(java.lang.Iterable<java.lang.String> values) {
1390         ensureUrisIsMutable();
1391         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, uris_);
1392         onChanged();
1393         return this;
1394       }
1395       /**
1396        *
1397        *
1398        * <pre>
1399        * Use this URI field to direct an applicant to a website, for example to
1400        * link to an online application form.
1401        * The maximum number of allowed characters for each entry is 2,000.
1402        * </pre>
1403        *
1404        * <code>repeated string uris = 3;</code>
1405        *
1406        * @return This builder for chaining.
1407        */
clearUris()1408       public Builder clearUris() {
1409         uris_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1410         bitField0_ = (bitField0_ & ~0x00000004);
1411         onChanged();
1412         return this;
1413       }
1414       /**
1415        *
1416        *
1417        * <pre>
1418        * Use this URI field to direct an applicant to a website, for example to
1419        * link to an online application form.
1420        * The maximum number of allowed characters for each entry is 2,000.
1421        * </pre>
1422        *
1423        * <code>repeated string uris = 3;</code>
1424        *
1425        * @param value The bytes of the uris to add.
1426        * @return This builder for chaining.
1427        */
addUrisBytes(com.google.protobuf.ByteString value)1428       public Builder addUrisBytes(com.google.protobuf.ByteString value) {
1429         if (value == null) {
1430           throw new NullPointerException();
1431         }
1432         checkByteStringIsUtf8(value);
1433         ensureUrisIsMutable();
1434         uris_.add(value);
1435         onChanged();
1436         return this;
1437       }
1438 
1439       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1440       public final Builder setUnknownFields(
1441           final com.google.protobuf.UnknownFieldSet unknownFields) {
1442         return super.setUnknownFields(unknownFields);
1443       }
1444 
1445       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1446       public final Builder mergeUnknownFields(
1447           final com.google.protobuf.UnknownFieldSet unknownFields) {
1448         return super.mergeUnknownFields(unknownFields);
1449       }
1450 
1451       // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4beta1.Job.ApplicationInfo)
1452     }
1453 
1454     // @@protoc_insertion_point(class_scope:google.cloud.talent.v4beta1.Job.ApplicationInfo)
1455     private static final com.google.cloud.talent.v4beta1.Job.ApplicationInfo DEFAULT_INSTANCE;
1456 
1457     static {
1458       DEFAULT_INSTANCE = new com.google.cloud.talent.v4beta1.Job.ApplicationInfo();
1459     }
1460 
getDefaultInstance()1461     public static com.google.cloud.talent.v4beta1.Job.ApplicationInfo getDefaultInstance() {
1462       return DEFAULT_INSTANCE;
1463     }
1464 
1465     private static final com.google.protobuf.Parser<ApplicationInfo> PARSER =
1466         new com.google.protobuf.AbstractParser<ApplicationInfo>() {
1467           @java.lang.Override
1468           public ApplicationInfo parsePartialFrom(
1469               com.google.protobuf.CodedInputStream input,
1470               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1471               throws com.google.protobuf.InvalidProtocolBufferException {
1472             Builder builder = newBuilder();
1473             try {
1474               builder.mergeFrom(input, extensionRegistry);
1475             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1476               throw e.setUnfinishedMessage(builder.buildPartial());
1477             } catch (com.google.protobuf.UninitializedMessageException e) {
1478               throw e.asInvalidProtocolBufferException()
1479                   .setUnfinishedMessage(builder.buildPartial());
1480             } catch (java.io.IOException e) {
1481               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1482                   .setUnfinishedMessage(builder.buildPartial());
1483             }
1484             return builder.buildPartial();
1485           }
1486         };
1487 
parser()1488     public static com.google.protobuf.Parser<ApplicationInfo> parser() {
1489       return PARSER;
1490     }
1491 
1492     @java.lang.Override
getParserForType()1493     public com.google.protobuf.Parser<ApplicationInfo> getParserForType() {
1494       return PARSER;
1495     }
1496 
1497     @java.lang.Override
getDefaultInstanceForType()1498     public com.google.cloud.talent.v4beta1.Job.ApplicationInfo getDefaultInstanceForType() {
1499       return DEFAULT_INSTANCE;
1500     }
1501   }
1502 
1503   public interface DerivedInfoOrBuilder
1504       extends
1505       // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4beta1.Job.DerivedInfo)
1506       com.google.protobuf.MessageOrBuilder {
1507 
1508     /**
1509      *
1510      *
1511      * <pre>
1512      * Structured locations of the job, resolved from
1513      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1514      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1515      * exactly matched to
1516      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1517      * order.
1518      * </pre>
1519      *
1520      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1521      */
getLocationsList()1522     java.util.List<com.google.cloud.talent.v4beta1.Location> getLocationsList();
1523     /**
1524      *
1525      *
1526      * <pre>
1527      * Structured locations of the job, resolved from
1528      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1529      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1530      * exactly matched to
1531      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1532      * order.
1533      * </pre>
1534      *
1535      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1536      */
getLocations(int index)1537     com.google.cloud.talent.v4beta1.Location getLocations(int index);
1538     /**
1539      *
1540      *
1541      * <pre>
1542      * Structured locations of the job, resolved from
1543      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1544      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1545      * exactly matched to
1546      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1547      * order.
1548      * </pre>
1549      *
1550      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1551      */
getLocationsCount()1552     int getLocationsCount();
1553     /**
1554      *
1555      *
1556      * <pre>
1557      * Structured locations of the job, resolved from
1558      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1559      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1560      * exactly matched to
1561      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1562      * order.
1563      * </pre>
1564      *
1565      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1566      */
1567     java.util.List<? extends com.google.cloud.talent.v4beta1.LocationOrBuilder>
getLocationsOrBuilderList()1568         getLocationsOrBuilderList();
1569     /**
1570      *
1571      *
1572      * <pre>
1573      * Structured locations of the job, resolved from
1574      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1575      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1576      * exactly matched to
1577      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1578      * order.
1579      * </pre>
1580      *
1581      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1582      */
getLocationsOrBuilder(int index)1583     com.google.cloud.talent.v4beta1.LocationOrBuilder getLocationsOrBuilder(int index);
1584 
1585     /**
1586      *
1587      *
1588      * <pre>
1589      * Job categories derived from
1590      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1591      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1592      * </pre>
1593      *
1594      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1595      *
1596      * @return A list containing the jobCategories.
1597      */
getJobCategoriesList()1598     java.util.List<com.google.cloud.talent.v4beta1.JobCategory> getJobCategoriesList();
1599     /**
1600      *
1601      *
1602      * <pre>
1603      * Job categories derived from
1604      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1605      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1606      * </pre>
1607      *
1608      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1609      *
1610      * @return The count of jobCategories.
1611      */
getJobCategoriesCount()1612     int getJobCategoriesCount();
1613     /**
1614      *
1615      *
1616      * <pre>
1617      * Job categories derived from
1618      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1619      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1620      * </pre>
1621      *
1622      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1623      *
1624      * @param index The index of the element to return.
1625      * @return The jobCategories at the given index.
1626      */
getJobCategories(int index)1627     com.google.cloud.talent.v4beta1.JobCategory getJobCategories(int index);
1628     /**
1629      *
1630      *
1631      * <pre>
1632      * Job categories derived from
1633      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1634      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1635      * </pre>
1636      *
1637      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1638      *
1639      * @return A list containing the enum numeric values on the wire for jobCategories.
1640      */
getJobCategoriesValueList()1641     java.util.List<java.lang.Integer> getJobCategoriesValueList();
1642     /**
1643      *
1644      *
1645      * <pre>
1646      * Job categories derived from
1647      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1648      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1649      * </pre>
1650      *
1651      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1652      *
1653      * @param index The index of the value to return.
1654      * @return The enum numeric value on the wire of jobCategories at the given index.
1655      */
getJobCategoriesValue(int index)1656     int getJobCategoriesValue(int index);
1657   }
1658   /**
1659    *
1660    *
1661    * <pre>
1662    * Derived details about the job posting.
1663    * </pre>
1664    *
1665    * Protobuf type {@code google.cloud.talent.v4beta1.Job.DerivedInfo}
1666    */
1667   public static final class DerivedInfo extends com.google.protobuf.GeneratedMessageV3
1668       implements
1669       // @@protoc_insertion_point(message_implements:google.cloud.talent.v4beta1.Job.DerivedInfo)
1670       DerivedInfoOrBuilder {
1671     private static final long serialVersionUID = 0L;
1672     // Use DerivedInfo.newBuilder() to construct.
DerivedInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)1673     private DerivedInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1674       super(builder);
1675     }
1676 
DerivedInfo()1677     private DerivedInfo() {
1678       locations_ = java.util.Collections.emptyList();
1679       jobCategories_ = java.util.Collections.emptyList();
1680     }
1681 
1682     @java.lang.Override
1683     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)1684     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
1685       return new DerivedInfo();
1686     }
1687 
1688     @java.lang.Override
getUnknownFields()1689     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
1690       return this.unknownFields;
1691     }
1692 
getDescriptor()1693     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1694       return com.google.cloud.talent.v4beta1.JobResourceProto
1695           .internal_static_google_cloud_talent_v4beta1_Job_DerivedInfo_descriptor;
1696     }
1697 
1698     @java.lang.Override
1699     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1700         internalGetFieldAccessorTable() {
1701       return com.google.cloud.talent.v4beta1.JobResourceProto
1702           .internal_static_google_cloud_talent_v4beta1_Job_DerivedInfo_fieldAccessorTable
1703           .ensureFieldAccessorsInitialized(
1704               com.google.cloud.talent.v4beta1.Job.DerivedInfo.class,
1705               com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder.class);
1706     }
1707 
1708     public static final int LOCATIONS_FIELD_NUMBER = 1;
1709 
1710     @SuppressWarnings("serial")
1711     private java.util.List<com.google.cloud.talent.v4beta1.Location> locations_;
1712     /**
1713      *
1714      *
1715      * <pre>
1716      * Structured locations of the job, resolved from
1717      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1718      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1719      * exactly matched to
1720      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1721      * order.
1722      * </pre>
1723      *
1724      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1725      */
1726     @java.lang.Override
getLocationsList()1727     public java.util.List<com.google.cloud.talent.v4beta1.Location> getLocationsList() {
1728       return locations_;
1729     }
1730     /**
1731      *
1732      *
1733      * <pre>
1734      * Structured locations of the job, resolved from
1735      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1736      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1737      * exactly matched to
1738      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1739      * order.
1740      * </pre>
1741      *
1742      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1743      */
1744     @java.lang.Override
1745     public java.util.List<? extends com.google.cloud.talent.v4beta1.LocationOrBuilder>
getLocationsOrBuilderList()1746         getLocationsOrBuilderList() {
1747       return locations_;
1748     }
1749     /**
1750      *
1751      *
1752      * <pre>
1753      * Structured locations of the job, resolved from
1754      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1755      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1756      * exactly matched to
1757      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1758      * order.
1759      * </pre>
1760      *
1761      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1762      */
1763     @java.lang.Override
getLocationsCount()1764     public int getLocationsCount() {
1765       return locations_.size();
1766     }
1767     /**
1768      *
1769      *
1770      * <pre>
1771      * Structured locations of the job, resolved from
1772      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1773      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1774      * exactly matched to
1775      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1776      * order.
1777      * </pre>
1778      *
1779      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1780      */
1781     @java.lang.Override
getLocations(int index)1782     public com.google.cloud.talent.v4beta1.Location getLocations(int index) {
1783       return locations_.get(index);
1784     }
1785     /**
1786      *
1787      *
1788      * <pre>
1789      * Structured locations of the job, resolved from
1790      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
1791      * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
1792      * exactly matched to
1793      * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
1794      * order.
1795      * </pre>
1796      *
1797      * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
1798      */
1799     @java.lang.Override
getLocationsOrBuilder(int index)1800     public com.google.cloud.talent.v4beta1.LocationOrBuilder getLocationsOrBuilder(int index) {
1801       return locations_.get(index);
1802     }
1803 
1804     public static final int JOB_CATEGORIES_FIELD_NUMBER = 3;
1805 
1806     @SuppressWarnings("serial")
1807     private java.util.List<java.lang.Integer> jobCategories_;
1808 
1809     private static final com.google.protobuf.Internal.ListAdapter.Converter<
1810             java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>
1811         jobCategories_converter_ =
1812             new com.google.protobuf.Internal.ListAdapter.Converter<
1813                 java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>() {
1814               public com.google.cloud.talent.v4beta1.JobCategory convert(java.lang.Integer from) {
1815                 com.google.cloud.talent.v4beta1.JobCategory result =
1816                     com.google.cloud.talent.v4beta1.JobCategory.forNumber(from);
1817                 return result == null
1818                     ? com.google.cloud.talent.v4beta1.JobCategory.UNRECOGNIZED
1819                     : result;
1820               }
1821             };
1822     /**
1823      *
1824      *
1825      * <pre>
1826      * Job categories derived from
1827      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1828      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1829      * </pre>
1830      *
1831      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1832      *
1833      * @return A list containing the jobCategories.
1834      */
1835     @java.lang.Override
getJobCategoriesList()1836     public java.util.List<com.google.cloud.talent.v4beta1.JobCategory> getJobCategoriesList() {
1837       return new com.google.protobuf.Internal.ListAdapter<
1838           java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>(
1839           jobCategories_, jobCategories_converter_);
1840     }
1841     /**
1842      *
1843      *
1844      * <pre>
1845      * Job categories derived from
1846      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1847      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1848      * </pre>
1849      *
1850      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1851      *
1852      * @return The count of jobCategories.
1853      */
1854     @java.lang.Override
getJobCategoriesCount()1855     public int getJobCategoriesCount() {
1856       return jobCategories_.size();
1857     }
1858     /**
1859      *
1860      *
1861      * <pre>
1862      * Job categories derived from
1863      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1864      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1865      * </pre>
1866      *
1867      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1868      *
1869      * @param index The index of the element to return.
1870      * @return The jobCategories at the given index.
1871      */
1872     @java.lang.Override
getJobCategories(int index)1873     public com.google.cloud.talent.v4beta1.JobCategory getJobCategories(int index) {
1874       return jobCategories_converter_.convert(jobCategories_.get(index));
1875     }
1876     /**
1877      *
1878      *
1879      * <pre>
1880      * Job categories derived from
1881      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1882      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1883      * </pre>
1884      *
1885      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1886      *
1887      * @return A list containing the enum numeric values on the wire for jobCategories.
1888      */
1889     @java.lang.Override
getJobCategoriesValueList()1890     public java.util.List<java.lang.Integer> getJobCategoriesValueList() {
1891       return jobCategories_;
1892     }
1893     /**
1894      *
1895      *
1896      * <pre>
1897      * Job categories derived from
1898      * [Job.title][google.cloud.talent.v4beta1.Job.title] and
1899      * [Job.description][google.cloud.talent.v4beta1.Job.description].
1900      * </pre>
1901      *
1902      * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
1903      *
1904      * @param index The index of the value to return.
1905      * @return The enum numeric value on the wire of jobCategories at the given index.
1906      */
1907     @java.lang.Override
getJobCategoriesValue(int index)1908     public int getJobCategoriesValue(int index) {
1909       return jobCategories_.get(index);
1910     }
1911 
1912     private int jobCategoriesMemoizedSerializedSize;
1913 
1914     private byte memoizedIsInitialized = -1;
1915 
1916     @java.lang.Override
isInitialized()1917     public final boolean isInitialized() {
1918       byte isInitialized = memoizedIsInitialized;
1919       if (isInitialized == 1) return true;
1920       if (isInitialized == 0) return false;
1921 
1922       memoizedIsInitialized = 1;
1923       return true;
1924     }
1925 
1926     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1927     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1928       getSerializedSize();
1929       for (int i = 0; i < locations_.size(); i++) {
1930         output.writeMessage(1, locations_.get(i));
1931       }
1932       if (getJobCategoriesList().size() > 0) {
1933         output.writeUInt32NoTag(26);
1934         output.writeUInt32NoTag(jobCategoriesMemoizedSerializedSize);
1935       }
1936       for (int i = 0; i < jobCategories_.size(); i++) {
1937         output.writeEnumNoTag(jobCategories_.get(i));
1938       }
1939       getUnknownFields().writeTo(output);
1940     }
1941 
1942     @java.lang.Override
getSerializedSize()1943     public int getSerializedSize() {
1944       int size = memoizedSize;
1945       if (size != -1) return size;
1946 
1947       size = 0;
1948       for (int i = 0; i < locations_.size(); i++) {
1949         size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, locations_.get(i));
1950       }
1951       {
1952         int dataSize = 0;
1953         for (int i = 0; i < jobCategories_.size(); i++) {
1954           dataSize +=
1955               com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(jobCategories_.get(i));
1956         }
1957         size += dataSize;
1958         if (!getJobCategoriesList().isEmpty()) {
1959           size += 1;
1960           size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
1961         }
1962         jobCategoriesMemoizedSerializedSize = dataSize;
1963       }
1964       size += getUnknownFields().getSerializedSize();
1965       memoizedSize = size;
1966       return size;
1967     }
1968 
1969     @java.lang.Override
equals(final java.lang.Object obj)1970     public boolean equals(final java.lang.Object obj) {
1971       if (obj == this) {
1972         return true;
1973       }
1974       if (!(obj instanceof com.google.cloud.talent.v4beta1.Job.DerivedInfo)) {
1975         return super.equals(obj);
1976       }
1977       com.google.cloud.talent.v4beta1.Job.DerivedInfo other =
1978           (com.google.cloud.talent.v4beta1.Job.DerivedInfo) obj;
1979 
1980       if (!getLocationsList().equals(other.getLocationsList())) return false;
1981       if (!jobCategories_.equals(other.jobCategories_)) return false;
1982       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1983       return true;
1984     }
1985 
1986     @java.lang.Override
hashCode()1987     public int hashCode() {
1988       if (memoizedHashCode != 0) {
1989         return memoizedHashCode;
1990       }
1991       int hash = 41;
1992       hash = (19 * hash) + getDescriptor().hashCode();
1993       if (getLocationsCount() > 0) {
1994         hash = (37 * hash) + LOCATIONS_FIELD_NUMBER;
1995         hash = (53 * hash) + getLocationsList().hashCode();
1996       }
1997       if (getJobCategoriesCount() > 0) {
1998         hash = (37 * hash) + JOB_CATEGORIES_FIELD_NUMBER;
1999         hash = (53 * hash) + jobCategories_.hashCode();
2000       }
2001       hash = (29 * hash) + getUnknownFields().hashCode();
2002       memoizedHashCode = hash;
2003       return hash;
2004     }
2005 
parseFrom( java.nio.ByteBuffer data)2006     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2007         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
2008       return PARSER.parseFrom(data);
2009     }
2010 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2011     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2012         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2013         throws com.google.protobuf.InvalidProtocolBufferException {
2014       return PARSER.parseFrom(data, extensionRegistry);
2015     }
2016 
parseFrom( com.google.protobuf.ByteString data)2017     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2018         com.google.protobuf.ByteString data)
2019         throws com.google.protobuf.InvalidProtocolBufferException {
2020       return PARSER.parseFrom(data);
2021     }
2022 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2023     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2024         com.google.protobuf.ByteString data,
2025         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2026         throws com.google.protobuf.InvalidProtocolBufferException {
2027       return PARSER.parseFrom(data, extensionRegistry);
2028     }
2029 
parseFrom(byte[] data)2030     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(byte[] data)
2031         throws com.google.protobuf.InvalidProtocolBufferException {
2032       return PARSER.parseFrom(data);
2033     }
2034 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2035     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2036         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2037         throws com.google.protobuf.InvalidProtocolBufferException {
2038       return PARSER.parseFrom(data, extensionRegistry);
2039     }
2040 
parseFrom( java.io.InputStream input)2041     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2042         java.io.InputStream input) throws java.io.IOException {
2043       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2044     }
2045 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2046     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2047         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2048         throws java.io.IOException {
2049       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2050           PARSER, input, extensionRegistry);
2051     }
2052 
parseDelimitedFrom( java.io.InputStream input)2053     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseDelimitedFrom(
2054         java.io.InputStream input) throws java.io.IOException {
2055       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
2056     }
2057 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2058     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseDelimitedFrom(
2059         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2060         throws java.io.IOException {
2061       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
2062           PARSER, input, extensionRegistry);
2063     }
2064 
parseFrom( com.google.protobuf.CodedInputStream input)2065     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2066         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
2067       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
2068     }
2069 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2070     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo parseFrom(
2071         com.google.protobuf.CodedInputStream input,
2072         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2073         throws java.io.IOException {
2074       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
2075           PARSER, input, extensionRegistry);
2076     }
2077 
2078     @java.lang.Override
newBuilderForType()2079     public Builder newBuilderForType() {
2080       return newBuilder();
2081     }
2082 
newBuilder()2083     public static Builder newBuilder() {
2084       return DEFAULT_INSTANCE.toBuilder();
2085     }
2086 
newBuilder(com.google.cloud.talent.v4beta1.Job.DerivedInfo prototype)2087     public static Builder newBuilder(com.google.cloud.talent.v4beta1.Job.DerivedInfo prototype) {
2088       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2089     }
2090 
2091     @java.lang.Override
toBuilder()2092     public Builder toBuilder() {
2093       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
2094     }
2095 
2096     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2097     protected Builder newBuilderForType(
2098         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2099       Builder builder = new Builder(parent);
2100       return builder;
2101     }
2102     /**
2103      *
2104      *
2105      * <pre>
2106      * Derived details about the job posting.
2107      * </pre>
2108      *
2109      * Protobuf type {@code google.cloud.talent.v4beta1.Job.DerivedInfo}
2110      */
2111     public static final class Builder
2112         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
2113         implements
2114         // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4beta1.Job.DerivedInfo)
2115         com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder {
getDescriptor()2116       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
2117         return com.google.cloud.talent.v4beta1.JobResourceProto
2118             .internal_static_google_cloud_talent_v4beta1_Job_DerivedInfo_descriptor;
2119       }
2120 
2121       @java.lang.Override
2122       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()2123           internalGetFieldAccessorTable() {
2124         return com.google.cloud.talent.v4beta1.JobResourceProto
2125             .internal_static_google_cloud_talent_v4beta1_Job_DerivedInfo_fieldAccessorTable
2126             .ensureFieldAccessorsInitialized(
2127                 com.google.cloud.talent.v4beta1.Job.DerivedInfo.class,
2128                 com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder.class);
2129       }
2130 
2131       // Construct using com.google.cloud.talent.v4beta1.Job.DerivedInfo.newBuilder()
Builder()2132       private Builder() {}
2133 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)2134       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2135         super(parent);
2136       }
2137 
2138       @java.lang.Override
clear()2139       public Builder clear() {
2140         super.clear();
2141         bitField0_ = 0;
2142         if (locationsBuilder_ == null) {
2143           locations_ = java.util.Collections.emptyList();
2144         } else {
2145           locations_ = null;
2146           locationsBuilder_.clear();
2147         }
2148         bitField0_ = (bitField0_ & ~0x00000001);
2149         jobCategories_ = java.util.Collections.emptyList();
2150         bitField0_ = (bitField0_ & ~0x00000002);
2151         return this;
2152       }
2153 
2154       @java.lang.Override
getDescriptorForType()2155       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2156         return com.google.cloud.talent.v4beta1.JobResourceProto
2157             .internal_static_google_cloud_talent_v4beta1_Job_DerivedInfo_descriptor;
2158       }
2159 
2160       @java.lang.Override
getDefaultInstanceForType()2161       public com.google.cloud.talent.v4beta1.Job.DerivedInfo getDefaultInstanceForType() {
2162         return com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance();
2163       }
2164 
2165       @java.lang.Override
build()2166       public com.google.cloud.talent.v4beta1.Job.DerivedInfo build() {
2167         com.google.cloud.talent.v4beta1.Job.DerivedInfo result = buildPartial();
2168         if (!result.isInitialized()) {
2169           throw newUninitializedMessageException(result);
2170         }
2171         return result;
2172       }
2173 
2174       @java.lang.Override
buildPartial()2175       public com.google.cloud.talent.v4beta1.Job.DerivedInfo buildPartial() {
2176         com.google.cloud.talent.v4beta1.Job.DerivedInfo result =
2177             new com.google.cloud.talent.v4beta1.Job.DerivedInfo(this);
2178         buildPartialRepeatedFields(result);
2179         if (bitField0_ != 0) {
2180           buildPartial0(result);
2181         }
2182         onBuilt();
2183         return result;
2184       }
2185 
buildPartialRepeatedFields( com.google.cloud.talent.v4beta1.Job.DerivedInfo result)2186       private void buildPartialRepeatedFields(
2187           com.google.cloud.talent.v4beta1.Job.DerivedInfo result) {
2188         if (locationsBuilder_ == null) {
2189           if (((bitField0_ & 0x00000001) != 0)) {
2190             locations_ = java.util.Collections.unmodifiableList(locations_);
2191             bitField0_ = (bitField0_ & ~0x00000001);
2192           }
2193           result.locations_ = locations_;
2194         } else {
2195           result.locations_ = locationsBuilder_.build();
2196         }
2197         if (((bitField0_ & 0x00000002) != 0)) {
2198           jobCategories_ = java.util.Collections.unmodifiableList(jobCategories_);
2199           bitField0_ = (bitField0_ & ~0x00000002);
2200         }
2201         result.jobCategories_ = jobCategories_;
2202       }
2203 
buildPartial0(com.google.cloud.talent.v4beta1.Job.DerivedInfo result)2204       private void buildPartial0(com.google.cloud.talent.v4beta1.Job.DerivedInfo result) {
2205         int from_bitField0_ = bitField0_;
2206       }
2207 
2208       @java.lang.Override
clone()2209       public Builder clone() {
2210         return super.clone();
2211       }
2212 
2213       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2214       public Builder setField(
2215           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2216         return super.setField(field, value);
2217       }
2218 
2219       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2220       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2221         return super.clearField(field);
2222       }
2223 
2224       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2225       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2226         return super.clearOneof(oneof);
2227       }
2228 
2229       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2230       public Builder setRepeatedField(
2231           com.google.protobuf.Descriptors.FieldDescriptor field,
2232           int index,
2233           java.lang.Object value) {
2234         return super.setRepeatedField(field, index, value);
2235       }
2236 
2237       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2238       public Builder addRepeatedField(
2239           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2240         return super.addRepeatedField(field, value);
2241       }
2242 
2243       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2244       public Builder mergeFrom(com.google.protobuf.Message other) {
2245         if (other instanceof com.google.cloud.talent.v4beta1.Job.DerivedInfo) {
2246           return mergeFrom((com.google.cloud.talent.v4beta1.Job.DerivedInfo) other);
2247         } else {
2248           super.mergeFrom(other);
2249           return this;
2250         }
2251       }
2252 
mergeFrom(com.google.cloud.talent.v4beta1.Job.DerivedInfo other)2253       public Builder mergeFrom(com.google.cloud.talent.v4beta1.Job.DerivedInfo other) {
2254         if (other == com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance())
2255           return this;
2256         if (locationsBuilder_ == null) {
2257           if (!other.locations_.isEmpty()) {
2258             if (locations_.isEmpty()) {
2259               locations_ = other.locations_;
2260               bitField0_ = (bitField0_ & ~0x00000001);
2261             } else {
2262               ensureLocationsIsMutable();
2263               locations_.addAll(other.locations_);
2264             }
2265             onChanged();
2266           }
2267         } else {
2268           if (!other.locations_.isEmpty()) {
2269             if (locationsBuilder_.isEmpty()) {
2270               locationsBuilder_.dispose();
2271               locationsBuilder_ = null;
2272               locations_ = other.locations_;
2273               bitField0_ = (bitField0_ & ~0x00000001);
2274               locationsBuilder_ =
2275                   com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2276                       ? getLocationsFieldBuilder()
2277                       : null;
2278             } else {
2279               locationsBuilder_.addAllMessages(other.locations_);
2280             }
2281           }
2282         }
2283         if (!other.jobCategories_.isEmpty()) {
2284           if (jobCategories_.isEmpty()) {
2285             jobCategories_ = other.jobCategories_;
2286             bitField0_ = (bitField0_ & ~0x00000002);
2287           } else {
2288             ensureJobCategoriesIsMutable();
2289             jobCategories_.addAll(other.jobCategories_);
2290           }
2291           onChanged();
2292         }
2293         this.mergeUnknownFields(other.getUnknownFields());
2294         onChanged();
2295         return this;
2296       }
2297 
2298       @java.lang.Override
isInitialized()2299       public final boolean isInitialized() {
2300         return true;
2301       }
2302 
2303       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2304       public Builder mergeFrom(
2305           com.google.protobuf.CodedInputStream input,
2306           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2307           throws java.io.IOException {
2308         if (extensionRegistry == null) {
2309           throw new java.lang.NullPointerException();
2310         }
2311         try {
2312           boolean done = false;
2313           while (!done) {
2314             int tag = input.readTag();
2315             switch (tag) {
2316               case 0:
2317                 done = true;
2318                 break;
2319               case 10:
2320                 {
2321                   com.google.cloud.talent.v4beta1.Location m =
2322                       input.readMessage(
2323                           com.google.cloud.talent.v4beta1.Location.parser(), extensionRegistry);
2324                   if (locationsBuilder_ == null) {
2325                     ensureLocationsIsMutable();
2326                     locations_.add(m);
2327                   } else {
2328                     locationsBuilder_.addMessage(m);
2329                   }
2330                   break;
2331                 } // case 10
2332               case 24:
2333                 {
2334                   int tmpRaw = input.readEnum();
2335                   ensureJobCategoriesIsMutable();
2336                   jobCategories_.add(tmpRaw);
2337                   break;
2338                 } // case 24
2339               case 26:
2340                 {
2341                   int length = input.readRawVarint32();
2342                   int oldLimit = input.pushLimit(length);
2343                   while (input.getBytesUntilLimit() > 0) {
2344                     int tmpRaw = input.readEnum();
2345                     ensureJobCategoriesIsMutable();
2346                     jobCategories_.add(tmpRaw);
2347                   }
2348                   input.popLimit(oldLimit);
2349                   break;
2350                 } // case 26
2351               default:
2352                 {
2353                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2354                     done = true; // was an endgroup tag
2355                   }
2356                   break;
2357                 } // default:
2358             } // switch (tag)
2359           } // while (!done)
2360         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2361           throw e.unwrapIOException();
2362         } finally {
2363           onChanged();
2364         } // finally
2365         return this;
2366       }
2367 
2368       private int bitField0_;
2369 
2370       private java.util.List<com.google.cloud.talent.v4beta1.Location> locations_ =
2371           java.util.Collections.emptyList();
2372 
ensureLocationsIsMutable()2373       private void ensureLocationsIsMutable() {
2374         if (!((bitField0_ & 0x00000001) != 0)) {
2375           locations_ =
2376               new java.util.ArrayList<com.google.cloud.talent.v4beta1.Location>(locations_);
2377           bitField0_ |= 0x00000001;
2378         }
2379       }
2380 
2381       private com.google.protobuf.RepeatedFieldBuilderV3<
2382               com.google.cloud.talent.v4beta1.Location,
2383               com.google.cloud.talent.v4beta1.Location.Builder,
2384               com.google.cloud.talent.v4beta1.LocationOrBuilder>
2385           locationsBuilder_;
2386 
2387       /**
2388        *
2389        *
2390        * <pre>
2391        * Structured locations of the job, resolved from
2392        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2393        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2394        * exactly matched to
2395        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2396        * order.
2397        * </pre>
2398        *
2399        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2400        */
getLocationsList()2401       public java.util.List<com.google.cloud.talent.v4beta1.Location> getLocationsList() {
2402         if (locationsBuilder_ == null) {
2403           return java.util.Collections.unmodifiableList(locations_);
2404         } else {
2405           return locationsBuilder_.getMessageList();
2406         }
2407       }
2408       /**
2409        *
2410        *
2411        * <pre>
2412        * Structured locations of the job, resolved from
2413        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2414        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2415        * exactly matched to
2416        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2417        * order.
2418        * </pre>
2419        *
2420        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2421        */
getLocationsCount()2422       public int getLocationsCount() {
2423         if (locationsBuilder_ == null) {
2424           return locations_.size();
2425         } else {
2426           return locationsBuilder_.getCount();
2427         }
2428       }
2429       /**
2430        *
2431        *
2432        * <pre>
2433        * Structured locations of the job, resolved from
2434        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2435        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2436        * exactly matched to
2437        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2438        * order.
2439        * </pre>
2440        *
2441        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2442        */
getLocations(int index)2443       public com.google.cloud.talent.v4beta1.Location getLocations(int index) {
2444         if (locationsBuilder_ == null) {
2445           return locations_.get(index);
2446         } else {
2447           return locationsBuilder_.getMessage(index);
2448         }
2449       }
2450       /**
2451        *
2452        *
2453        * <pre>
2454        * Structured locations of the job, resolved from
2455        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2456        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2457        * exactly matched to
2458        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2459        * order.
2460        * </pre>
2461        *
2462        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2463        */
setLocations(int index, com.google.cloud.talent.v4beta1.Location value)2464       public Builder setLocations(int index, com.google.cloud.talent.v4beta1.Location value) {
2465         if (locationsBuilder_ == null) {
2466           if (value == null) {
2467             throw new NullPointerException();
2468           }
2469           ensureLocationsIsMutable();
2470           locations_.set(index, value);
2471           onChanged();
2472         } else {
2473           locationsBuilder_.setMessage(index, value);
2474         }
2475         return this;
2476       }
2477       /**
2478        *
2479        *
2480        * <pre>
2481        * Structured locations of the job, resolved from
2482        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2483        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2484        * exactly matched to
2485        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2486        * order.
2487        * </pre>
2488        *
2489        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2490        */
setLocations( int index, com.google.cloud.talent.v4beta1.Location.Builder builderForValue)2491       public Builder setLocations(
2492           int index, com.google.cloud.talent.v4beta1.Location.Builder builderForValue) {
2493         if (locationsBuilder_ == null) {
2494           ensureLocationsIsMutable();
2495           locations_.set(index, builderForValue.build());
2496           onChanged();
2497         } else {
2498           locationsBuilder_.setMessage(index, builderForValue.build());
2499         }
2500         return this;
2501       }
2502       /**
2503        *
2504        *
2505        * <pre>
2506        * Structured locations of the job, resolved from
2507        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2508        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2509        * exactly matched to
2510        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2511        * order.
2512        * </pre>
2513        *
2514        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2515        */
addLocations(com.google.cloud.talent.v4beta1.Location value)2516       public Builder addLocations(com.google.cloud.talent.v4beta1.Location value) {
2517         if (locationsBuilder_ == null) {
2518           if (value == null) {
2519             throw new NullPointerException();
2520           }
2521           ensureLocationsIsMutable();
2522           locations_.add(value);
2523           onChanged();
2524         } else {
2525           locationsBuilder_.addMessage(value);
2526         }
2527         return this;
2528       }
2529       /**
2530        *
2531        *
2532        * <pre>
2533        * Structured locations of the job, resolved from
2534        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2535        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2536        * exactly matched to
2537        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2538        * order.
2539        * </pre>
2540        *
2541        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2542        */
addLocations(int index, com.google.cloud.talent.v4beta1.Location value)2543       public Builder addLocations(int index, com.google.cloud.talent.v4beta1.Location value) {
2544         if (locationsBuilder_ == null) {
2545           if (value == null) {
2546             throw new NullPointerException();
2547           }
2548           ensureLocationsIsMutable();
2549           locations_.add(index, value);
2550           onChanged();
2551         } else {
2552           locationsBuilder_.addMessage(index, value);
2553         }
2554         return this;
2555       }
2556       /**
2557        *
2558        *
2559        * <pre>
2560        * Structured locations of the job, resolved from
2561        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2562        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2563        * exactly matched to
2564        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2565        * order.
2566        * </pre>
2567        *
2568        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2569        */
addLocations( com.google.cloud.talent.v4beta1.Location.Builder builderForValue)2570       public Builder addLocations(
2571           com.google.cloud.talent.v4beta1.Location.Builder builderForValue) {
2572         if (locationsBuilder_ == null) {
2573           ensureLocationsIsMutable();
2574           locations_.add(builderForValue.build());
2575           onChanged();
2576         } else {
2577           locationsBuilder_.addMessage(builderForValue.build());
2578         }
2579         return this;
2580       }
2581       /**
2582        *
2583        *
2584        * <pre>
2585        * Structured locations of the job, resolved from
2586        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2587        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2588        * exactly matched to
2589        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2590        * order.
2591        * </pre>
2592        *
2593        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2594        */
addLocations( int index, com.google.cloud.talent.v4beta1.Location.Builder builderForValue)2595       public Builder addLocations(
2596           int index, com.google.cloud.talent.v4beta1.Location.Builder builderForValue) {
2597         if (locationsBuilder_ == null) {
2598           ensureLocationsIsMutable();
2599           locations_.add(index, builderForValue.build());
2600           onChanged();
2601         } else {
2602           locationsBuilder_.addMessage(index, builderForValue.build());
2603         }
2604         return this;
2605       }
2606       /**
2607        *
2608        *
2609        * <pre>
2610        * Structured locations of the job, resolved from
2611        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2612        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2613        * exactly matched to
2614        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2615        * order.
2616        * </pre>
2617        *
2618        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2619        */
addAllLocations( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.Location> values)2620       public Builder addAllLocations(
2621           java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.Location> values) {
2622         if (locationsBuilder_ == null) {
2623           ensureLocationsIsMutable();
2624           com.google.protobuf.AbstractMessageLite.Builder.addAll(values, locations_);
2625           onChanged();
2626         } else {
2627           locationsBuilder_.addAllMessages(values);
2628         }
2629         return this;
2630       }
2631       /**
2632        *
2633        *
2634        * <pre>
2635        * Structured locations of the job, resolved from
2636        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2637        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2638        * exactly matched to
2639        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2640        * order.
2641        * </pre>
2642        *
2643        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2644        */
clearLocations()2645       public Builder clearLocations() {
2646         if (locationsBuilder_ == null) {
2647           locations_ = java.util.Collections.emptyList();
2648           bitField0_ = (bitField0_ & ~0x00000001);
2649           onChanged();
2650         } else {
2651           locationsBuilder_.clear();
2652         }
2653         return this;
2654       }
2655       /**
2656        *
2657        *
2658        * <pre>
2659        * Structured locations of the job, resolved from
2660        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2661        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2662        * exactly matched to
2663        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2664        * order.
2665        * </pre>
2666        *
2667        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2668        */
removeLocations(int index)2669       public Builder removeLocations(int index) {
2670         if (locationsBuilder_ == null) {
2671           ensureLocationsIsMutable();
2672           locations_.remove(index);
2673           onChanged();
2674         } else {
2675           locationsBuilder_.remove(index);
2676         }
2677         return this;
2678       }
2679       /**
2680        *
2681        *
2682        * <pre>
2683        * Structured locations of the job, resolved from
2684        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2685        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2686        * exactly matched to
2687        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2688        * order.
2689        * </pre>
2690        *
2691        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2692        */
getLocationsBuilder(int index)2693       public com.google.cloud.talent.v4beta1.Location.Builder getLocationsBuilder(int index) {
2694         return getLocationsFieldBuilder().getBuilder(index);
2695       }
2696       /**
2697        *
2698        *
2699        * <pre>
2700        * Structured locations of the job, resolved from
2701        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2702        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2703        * exactly matched to
2704        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2705        * order.
2706        * </pre>
2707        *
2708        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2709        */
getLocationsOrBuilder(int index)2710       public com.google.cloud.talent.v4beta1.LocationOrBuilder getLocationsOrBuilder(int index) {
2711         if (locationsBuilder_ == null) {
2712           return locations_.get(index);
2713         } else {
2714           return locationsBuilder_.getMessageOrBuilder(index);
2715         }
2716       }
2717       /**
2718        *
2719        *
2720        * <pre>
2721        * Structured locations of the job, resolved from
2722        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2723        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2724        * exactly matched to
2725        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2726        * order.
2727        * </pre>
2728        *
2729        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2730        */
2731       public java.util.List<? extends com.google.cloud.talent.v4beta1.LocationOrBuilder>
getLocationsOrBuilderList()2732           getLocationsOrBuilderList() {
2733         if (locationsBuilder_ != null) {
2734           return locationsBuilder_.getMessageOrBuilderList();
2735         } else {
2736           return java.util.Collections.unmodifiableList(locations_);
2737         }
2738       }
2739       /**
2740        *
2741        *
2742        * <pre>
2743        * Structured locations of the job, resolved from
2744        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2745        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2746        * exactly matched to
2747        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2748        * order.
2749        * </pre>
2750        *
2751        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2752        */
addLocationsBuilder()2753       public com.google.cloud.talent.v4beta1.Location.Builder addLocationsBuilder() {
2754         return getLocationsFieldBuilder()
2755             .addBuilder(com.google.cloud.talent.v4beta1.Location.getDefaultInstance());
2756       }
2757       /**
2758        *
2759        *
2760        * <pre>
2761        * Structured locations of the job, resolved from
2762        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2763        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2764        * exactly matched to
2765        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2766        * order.
2767        * </pre>
2768        *
2769        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2770        */
addLocationsBuilder(int index)2771       public com.google.cloud.talent.v4beta1.Location.Builder addLocationsBuilder(int index) {
2772         return getLocationsFieldBuilder()
2773             .addBuilder(index, com.google.cloud.talent.v4beta1.Location.getDefaultInstance());
2774       }
2775       /**
2776        *
2777        *
2778        * <pre>
2779        * Structured locations of the job, resolved from
2780        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses].
2781        * [locations][google.cloud.talent.v4beta1.Job.DerivedInfo.locations] are
2782        * exactly matched to
2783        * [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] in the same
2784        * order.
2785        * </pre>
2786        *
2787        * <code>repeated .google.cloud.talent.v4beta1.Location locations = 1;</code>
2788        */
2789       public java.util.List<com.google.cloud.talent.v4beta1.Location.Builder>
getLocationsBuilderList()2790           getLocationsBuilderList() {
2791         return getLocationsFieldBuilder().getBuilderList();
2792       }
2793 
2794       private com.google.protobuf.RepeatedFieldBuilderV3<
2795               com.google.cloud.talent.v4beta1.Location,
2796               com.google.cloud.talent.v4beta1.Location.Builder,
2797               com.google.cloud.talent.v4beta1.LocationOrBuilder>
getLocationsFieldBuilder()2798           getLocationsFieldBuilder() {
2799         if (locationsBuilder_ == null) {
2800           locationsBuilder_ =
2801               new com.google.protobuf.RepeatedFieldBuilderV3<
2802                   com.google.cloud.talent.v4beta1.Location,
2803                   com.google.cloud.talent.v4beta1.Location.Builder,
2804                   com.google.cloud.talent.v4beta1.LocationOrBuilder>(
2805                   locations_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
2806           locations_ = null;
2807         }
2808         return locationsBuilder_;
2809       }
2810 
2811       private java.util.List<java.lang.Integer> jobCategories_ = java.util.Collections.emptyList();
2812 
ensureJobCategoriesIsMutable()2813       private void ensureJobCategoriesIsMutable() {
2814         if (!((bitField0_ & 0x00000002) != 0)) {
2815           jobCategories_ = new java.util.ArrayList<java.lang.Integer>(jobCategories_);
2816           bitField0_ |= 0x00000002;
2817         }
2818       }
2819       /**
2820        *
2821        *
2822        * <pre>
2823        * Job categories derived from
2824        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2825        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2826        * </pre>
2827        *
2828        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2829        *
2830        * @return A list containing the jobCategories.
2831        */
getJobCategoriesList()2832       public java.util.List<com.google.cloud.talent.v4beta1.JobCategory> getJobCategoriesList() {
2833         return new com.google.protobuf.Internal.ListAdapter<
2834             java.lang.Integer, com.google.cloud.talent.v4beta1.JobCategory>(
2835             jobCategories_, jobCategories_converter_);
2836       }
2837       /**
2838        *
2839        *
2840        * <pre>
2841        * Job categories derived from
2842        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2843        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2844        * </pre>
2845        *
2846        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2847        *
2848        * @return The count of jobCategories.
2849        */
getJobCategoriesCount()2850       public int getJobCategoriesCount() {
2851         return jobCategories_.size();
2852       }
2853       /**
2854        *
2855        *
2856        * <pre>
2857        * Job categories derived from
2858        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2859        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2860        * </pre>
2861        *
2862        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2863        *
2864        * @param index The index of the element to return.
2865        * @return The jobCategories at the given index.
2866        */
getJobCategories(int index)2867       public com.google.cloud.talent.v4beta1.JobCategory getJobCategories(int index) {
2868         return jobCategories_converter_.convert(jobCategories_.get(index));
2869       }
2870       /**
2871        *
2872        *
2873        * <pre>
2874        * Job categories derived from
2875        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2876        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2877        * </pre>
2878        *
2879        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2880        *
2881        * @param index The index to set the value at.
2882        * @param value The jobCategories to set.
2883        * @return This builder for chaining.
2884        */
setJobCategories( int index, com.google.cloud.talent.v4beta1.JobCategory value)2885       public Builder setJobCategories(
2886           int index, com.google.cloud.talent.v4beta1.JobCategory value) {
2887         if (value == null) {
2888           throw new NullPointerException();
2889         }
2890         ensureJobCategoriesIsMutable();
2891         jobCategories_.set(index, value.getNumber());
2892         onChanged();
2893         return this;
2894       }
2895       /**
2896        *
2897        *
2898        * <pre>
2899        * Job categories derived from
2900        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2901        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2902        * </pre>
2903        *
2904        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2905        *
2906        * @param value The jobCategories to add.
2907        * @return This builder for chaining.
2908        */
addJobCategories(com.google.cloud.talent.v4beta1.JobCategory value)2909       public Builder addJobCategories(com.google.cloud.talent.v4beta1.JobCategory value) {
2910         if (value == null) {
2911           throw new NullPointerException();
2912         }
2913         ensureJobCategoriesIsMutable();
2914         jobCategories_.add(value.getNumber());
2915         onChanged();
2916         return this;
2917       }
2918       /**
2919        *
2920        *
2921        * <pre>
2922        * Job categories derived from
2923        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2924        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2925        * </pre>
2926        *
2927        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2928        *
2929        * @param values The jobCategories to add.
2930        * @return This builder for chaining.
2931        */
addAllJobCategories( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobCategory> values)2932       public Builder addAllJobCategories(
2933           java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobCategory> values) {
2934         ensureJobCategoriesIsMutable();
2935         for (com.google.cloud.talent.v4beta1.JobCategory value : values) {
2936           jobCategories_.add(value.getNumber());
2937         }
2938         onChanged();
2939         return this;
2940       }
2941       /**
2942        *
2943        *
2944        * <pre>
2945        * Job categories derived from
2946        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2947        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2948        * </pre>
2949        *
2950        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2951        *
2952        * @return This builder for chaining.
2953        */
clearJobCategories()2954       public Builder clearJobCategories() {
2955         jobCategories_ = java.util.Collections.emptyList();
2956         bitField0_ = (bitField0_ & ~0x00000002);
2957         onChanged();
2958         return this;
2959       }
2960       /**
2961        *
2962        *
2963        * <pre>
2964        * Job categories derived from
2965        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2966        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2967        * </pre>
2968        *
2969        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2970        *
2971        * @return A list containing the enum numeric values on the wire for jobCategories.
2972        */
getJobCategoriesValueList()2973       public java.util.List<java.lang.Integer> getJobCategoriesValueList() {
2974         return java.util.Collections.unmodifiableList(jobCategories_);
2975       }
2976       /**
2977        *
2978        *
2979        * <pre>
2980        * Job categories derived from
2981        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2982        * [Job.description][google.cloud.talent.v4beta1.Job.description].
2983        * </pre>
2984        *
2985        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
2986        *
2987        * @param index The index of the value to return.
2988        * @return The enum numeric value on the wire of jobCategories at the given index.
2989        */
getJobCategoriesValue(int index)2990       public int getJobCategoriesValue(int index) {
2991         return jobCategories_.get(index);
2992       }
2993       /**
2994        *
2995        *
2996        * <pre>
2997        * Job categories derived from
2998        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
2999        * [Job.description][google.cloud.talent.v4beta1.Job.description].
3000        * </pre>
3001        *
3002        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
3003        *
3004        * @param index The index to set the value at.
3005        * @param value The enum numeric value on the wire for jobCategories to set.
3006        * @return This builder for chaining.
3007        */
setJobCategoriesValue(int index, int value)3008       public Builder setJobCategoriesValue(int index, int value) {
3009         ensureJobCategoriesIsMutable();
3010         jobCategories_.set(index, value);
3011         onChanged();
3012         return this;
3013       }
3014       /**
3015        *
3016        *
3017        * <pre>
3018        * Job categories derived from
3019        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
3020        * [Job.description][google.cloud.talent.v4beta1.Job.description].
3021        * </pre>
3022        *
3023        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
3024        *
3025        * @param value The enum numeric value on the wire for jobCategories to add.
3026        * @return This builder for chaining.
3027        */
addJobCategoriesValue(int value)3028       public Builder addJobCategoriesValue(int value) {
3029         ensureJobCategoriesIsMutable();
3030         jobCategories_.add(value);
3031         onChanged();
3032         return this;
3033       }
3034       /**
3035        *
3036        *
3037        * <pre>
3038        * Job categories derived from
3039        * [Job.title][google.cloud.talent.v4beta1.Job.title] and
3040        * [Job.description][google.cloud.talent.v4beta1.Job.description].
3041        * </pre>
3042        *
3043        * <code>repeated .google.cloud.talent.v4beta1.JobCategory job_categories = 3;</code>
3044        *
3045        * @param values The enum numeric values on the wire for jobCategories to add.
3046        * @return This builder for chaining.
3047        */
addAllJobCategoriesValue(java.lang.Iterable<java.lang.Integer> values)3048       public Builder addAllJobCategoriesValue(java.lang.Iterable<java.lang.Integer> values) {
3049         ensureJobCategoriesIsMutable();
3050         for (int value : values) {
3051           jobCategories_.add(value);
3052         }
3053         onChanged();
3054         return this;
3055       }
3056 
3057       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3058       public final Builder setUnknownFields(
3059           final com.google.protobuf.UnknownFieldSet unknownFields) {
3060         return super.setUnknownFields(unknownFields);
3061       }
3062 
3063       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3064       public final Builder mergeUnknownFields(
3065           final com.google.protobuf.UnknownFieldSet unknownFields) {
3066         return super.mergeUnknownFields(unknownFields);
3067       }
3068 
3069       // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4beta1.Job.DerivedInfo)
3070     }
3071 
3072     // @@protoc_insertion_point(class_scope:google.cloud.talent.v4beta1.Job.DerivedInfo)
3073     private static final com.google.cloud.talent.v4beta1.Job.DerivedInfo DEFAULT_INSTANCE;
3074 
3075     static {
3076       DEFAULT_INSTANCE = new com.google.cloud.talent.v4beta1.Job.DerivedInfo();
3077     }
3078 
getDefaultInstance()3079     public static com.google.cloud.talent.v4beta1.Job.DerivedInfo getDefaultInstance() {
3080       return DEFAULT_INSTANCE;
3081     }
3082 
3083     private static final com.google.protobuf.Parser<DerivedInfo> PARSER =
3084         new com.google.protobuf.AbstractParser<DerivedInfo>() {
3085           @java.lang.Override
3086           public DerivedInfo parsePartialFrom(
3087               com.google.protobuf.CodedInputStream input,
3088               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3089               throws com.google.protobuf.InvalidProtocolBufferException {
3090             Builder builder = newBuilder();
3091             try {
3092               builder.mergeFrom(input, extensionRegistry);
3093             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3094               throw e.setUnfinishedMessage(builder.buildPartial());
3095             } catch (com.google.protobuf.UninitializedMessageException e) {
3096               throw e.asInvalidProtocolBufferException()
3097                   .setUnfinishedMessage(builder.buildPartial());
3098             } catch (java.io.IOException e) {
3099               throw new com.google.protobuf.InvalidProtocolBufferException(e)
3100                   .setUnfinishedMessage(builder.buildPartial());
3101             }
3102             return builder.buildPartial();
3103           }
3104         };
3105 
parser()3106     public static com.google.protobuf.Parser<DerivedInfo> parser() {
3107       return PARSER;
3108     }
3109 
3110     @java.lang.Override
getParserForType()3111     public com.google.protobuf.Parser<DerivedInfo> getParserForType() {
3112       return PARSER;
3113     }
3114 
3115     @java.lang.Override
getDefaultInstanceForType()3116     public com.google.cloud.talent.v4beta1.Job.DerivedInfo getDefaultInstanceForType() {
3117       return DEFAULT_INSTANCE;
3118     }
3119   }
3120 
3121   public interface ProcessingOptionsOrBuilder
3122       extends
3123       // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4beta1.Job.ProcessingOptions)
3124       com.google.protobuf.MessageOrBuilder {
3125 
3126     /**
3127      *
3128      *
3129      * <pre>
3130      * If set to `true`, the service does not attempt to resolve a
3131      * more precise address for the job.
3132      * </pre>
3133      *
3134      * <code>bool disable_street_address_resolution = 1;</code>
3135      *
3136      * @return The disableStreetAddressResolution.
3137      */
getDisableStreetAddressResolution()3138     boolean getDisableStreetAddressResolution();
3139 
3140     /**
3141      *
3142      *
3143      * <pre>
3144      * Option for job HTML content sanitization. Applied fields are:
3145      * * description
3146      * * applicationInfo.instruction
3147      * * incentives
3148      * * qualifications
3149      * * responsibilities
3150      * HTML tags in these fields may be stripped if sanitiazation isn't
3151      * disabled.
3152      * Defaults to
3153      * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3154      * </pre>
3155      *
3156      * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3157      *
3158      * @return The enum numeric value on the wire for htmlSanitization.
3159      */
getHtmlSanitizationValue()3160     int getHtmlSanitizationValue();
3161     /**
3162      *
3163      *
3164      * <pre>
3165      * Option for job HTML content sanitization. Applied fields are:
3166      * * description
3167      * * applicationInfo.instruction
3168      * * incentives
3169      * * qualifications
3170      * * responsibilities
3171      * HTML tags in these fields may be stripped if sanitiazation isn't
3172      * disabled.
3173      * Defaults to
3174      * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3175      * </pre>
3176      *
3177      * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3178      *
3179      * @return The htmlSanitization.
3180      */
getHtmlSanitization()3181     com.google.cloud.talent.v4beta1.HtmlSanitization getHtmlSanitization();
3182   }
3183   /**
3184    *
3185    *
3186    * <pre>
3187    * Options for job processing.
3188    * </pre>
3189    *
3190    * Protobuf type {@code google.cloud.talent.v4beta1.Job.ProcessingOptions}
3191    */
3192   public static final class ProcessingOptions extends com.google.protobuf.GeneratedMessageV3
3193       implements
3194       // @@protoc_insertion_point(message_implements:google.cloud.talent.v4beta1.Job.ProcessingOptions)
3195       ProcessingOptionsOrBuilder {
3196     private static final long serialVersionUID = 0L;
3197     // Use ProcessingOptions.newBuilder() to construct.
ProcessingOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)3198     private ProcessingOptions(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
3199       super(builder);
3200     }
3201 
ProcessingOptions()3202     private ProcessingOptions() {
3203       htmlSanitization_ = 0;
3204     }
3205 
3206     @java.lang.Override
3207     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)3208     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
3209       return new ProcessingOptions();
3210     }
3211 
3212     @java.lang.Override
getUnknownFields()3213     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
3214       return this.unknownFields;
3215     }
3216 
getDescriptor()3217     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3218       return com.google.cloud.talent.v4beta1.JobResourceProto
3219           .internal_static_google_cloud_talent_v4beta1_Job_ProcessingOptions_descriptor;
3220     }
3221 
3222     @java.lang.Override
3223     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3224         internalGetFieldAccessorTable() {
3225       return com.google.cloud.talent.v4beta1.JobResourceProto
3226           .internal_static_google_cloud_talent_v4beta1_Job_ProcessingOptions_fieldAccessorTable
3227           .ensureFieldAccessorsInitialized(
3228               com.google.cloud.talent.v4beta1.Job.ProcessingOptions.class,
3229               com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder.class);
3230     }
3231 
3232     public static final int DISABLE_STREET_ADDRESS_RESOLUTION_FIELD_NUMBER = 1;
3233     private boolean disableStreetAddressResolution_ = false;
3234     /**
3235      *
3236      *
3237      * <pre>
3238      * If set to `true`, the service does not attempt to resolve a
3239      * more precise address for the job.
3240      * </pre>
3241      *
3242      * <code>bool disable_street_address_resolution = 1;</code>
3243      *
3244      * @return The disableStreetAddressResolution.
3245      */
3246     @java.lang.Override
getDisableStreetAddressResolution()3247     public boolean getDisableStreetAddressResolution() {
3248       return disableStreetAddressResolution_;
3249     }
3250 
3251     public static final int HTML_SANITIZATION_FIELD_NUMBER = 2;
3252     private int htmlSanitization_ = 0;
3253     /**
3254      *
3255      *
3256      * <pre>
3257      * Option for job HTML content sanitization. Applied fields are:
3258      * * description
3259      * * applicationInfo.instruction
3260      * * incentives
3261      * * qualifications
3262      * * responsibilities
3263      * HTML tags in these fields may be stripped if sanitiazation isn't
3264      * disabled.
3265      * Defaults to
3266      * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3267      * </pre>
3268      *
3269      * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3270      *
3271      * @return The enum numeric value on the wire for htmlSanitization.
3272      */
3273     @java.lang.Override
getHtmlSanitizationValue()3274     public int getHtmlSanitizationValue() {
3275       return htmlSanitization_;
3276     }
3277     /**
3278      *
3279      *
3280      * <pre>
3281      * Option for job HTML content sanitization. Applied fields are:
3282      * * description
3283      * * applicationInfo.instruction
3284      * * incentives
3285      * * qualifications
3286      * * responsibilities
3287      * HTML tags in these fields may be stripped if sanitiazation isn't
3288      * disabled.
3289      * Defaults to
3290      * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3291      * </pre>
3292      *
3293      * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3294      *
3295      * @return The htmlSanitization.
3296      */
3297     @java.lang.Override
getHtmlSanitization()3298     public com.google.cloud.talent.v4beta1.HtmlSanitization getHtmlSanitization() {
3299       com.google.cloud.talent.v4beta1.HtmlSanitization result =
3300           com.google.cloud.talent.v4beta1.HtmlSanitization.forNumber(htmlSanitization_);
3301       return result == null
3302           ? com.google.cloud.talent.v4beta1.HtmlSanitization.UNRECOGNIZED
3303           : result;
3304     }
3305 
3306     private byte memoizedIsInitialized = -1;
3307 
3308     @java.lang.Override
isInitialized()3309     public final boolean isInitialized() {
3310       byte isInitialized = memoizedIsInitialized;
3311       if (isInitialized == 1) return true;
3312       if (isInitialized == 0) return false;
3313 
3314       memoizedIsInitialized = 1;
3315       return true;
3316     }
3317 
3318     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3319     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3320       if (disableStreetAddressResolution_ != false) {
3321         output.writeBool(1, disableStreetAddressResolution_);
3322       }
3323       if (htmlSanitization_
3324           != com.google.cloud.talent.v4beta1.HtmlSanitization.HTML_SANITIZATION_UNSPECIFIED
3325               .getNumber()) {
3326         output.writeEnum(2, htmlSanitization_);
3327       }
3328       getUnknownFields().writeTo(output);
3329     }
3330 
3331     @java.lang.Override
getSerializedSize()3332     public int getSerializedSize() {
3333       int size = memoizedSize;
3334       if (size != -1) return size;
3335 
3336       size = 0;
3337       if (disableStreetAddressResolution_ != false) {
3338         size +=
3339             com.google.protobuf.CodedOutputStream.computeBoolSize(
3340                 1, disableStreetAddressResolution_);
3341       }
3342       if (htmlSanitization_
3343           != com.google.cloud.talent.v4beta1.HtmlSanitization.HTML_SANITIZATION_UNSPECIFIED
3344               .getNumber()) {
3345         size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, htmlSanitization_);
3346       }
3347       size += getUnknownFields().getSerializedSize();
3348       memoizedSize = size;
3349       return size;
3350     }
3351 
3352     @java.lang.Override
equals(final java.lang.Object obj)3353     public boolean equals(final java.lang.Object obj) {
3354       if (obj == this) {
3355         return true;
3356       }
3357       if (!(obj instanceof com.google.cloud.talent.v4beta1.Job.ProcessingOptions)) {
3358         return super.equals(obj);
3359       }
3360       com.google.cloud.talent.v4beta1.Job.ProcessingOptions other =
3361           (com.google.cloud.talent.v4beta1.Job.ProcessingOptions) obj;
3362 
3363       if (getDisableStreetAddressResolution() != other.getDisableStreetAddressResolution())
3364         return false;
3365       if (htmlSanitization_ != other.htmlSanitization_) return false;
3366       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3367       return true;
3368     }
3369 
3370     @java.lang.Override
hashCode()3371     public int hashCode() {
3372       if (memoizedHashCode != 0) {
3373         return memoizedHashCode;
3374       }
3375       int hash = 41;
3376       hash = (19 * hash) + getDescriptor().hashCode();
3377       hash = (37 * hash) + DISABLE_STREET_ADDRESS_RESOLUTION_FIELD_NUMBER;
3378       hash =
3379           (53 * hash)
3380               + com.google.protobuf.Internal.hashBoolean(getDisableStreetAddressResolution());
3381       hash = (37 * hash) + HTML_SANITIZATION_FIELD_NUMBER;
3382       hash = (53 * hash) + htmlSanitization_;
3383       hash = (29 * hash) + getUnknownFields().hashCode();
3384       memoizedHashCode = hash;
3385       return hash;
3386     }
3387 
parseFrom( java.nio.ByteBuffer data)3388     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3389         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
3390       return PARSER.parseFrom(data);
3391     }
3392 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3393     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3394         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3395         throws com.google.protobuf.InvalidProtocolBufferException {
3396       return PARSER.parseFrom(data, extensionRegistry);
3397     }
3398 
parseFrom( com.google.protobuf.ByteString data)3399     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3400         com.google.protobuf.ByteString data)
3401         throws com.google.protobuf.InvalidProtocolBufferException {
3402       return PARSER.parseFrom(data);
3403     }
3404 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3405     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3406         com.google.protobuf.ByteString data,
3407         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3408         throws com.google.protobuf.InvalidProtocolBufferException {
3409       return PARSER.parseFrom(data, extensionRegistry);
3410     }
3411 
parseFrom(byte[] data)3412     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(byte[] data)
3413         throws com.google.protobuf.InvalidProtocolBufferException {
3414       return PARSER.parseFrom(data);
3415     }
3416 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3417     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3418         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3419         throws com.google.protobuf.InvalidProtocolBufferException {
3420       return PARSER.parseFrom(data, extensionRegistry);
3421     }
3422 
parseFrom( java.io.InputStream input)3423     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3424         java.io.InputStream input) throws java.io.IOException {
3425       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3426     }
3427 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3428     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3429         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3430         throws java.io.IOException {
3431       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3432           PARSER, input, extensionRegistry);
3433     }
3434 
parseDelimitedFrom( java.io.InputStream input)3435     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseDelimitedFrom(
3436         java.io.InputStream input) throws java.io.IOException {
3437       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3438     }
3439 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3440     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseDelimitedFrom(
3441         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3442         throws java.io.IOException {
3443       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3444           PARSER, input, extensionRegistry);
3445     }
3446 
parseFrom( com.google.protobuf.CodedInputStream input)3447     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3448         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3449       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3450     }
3451 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3452     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions parseFrom(
3453         com.google.protobuf.CodedInputStream input,
3454         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3455         throws java.io.IOException {
3456       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3457           PARSER, input, extensionRegistry);
3458     }
3459 
3460     @java.lang.Override
newBuilderForType()3461     public Builder newBuilderForType() {
3462       return newBuilder();
3463     }
3464 
newBuilder()3465     public static Builder newBuilder() {
3466       return DEFAULT_INSTANCE.toBuilder();
3467     }
3468 
newBuilder( com.google.cloud.talent.v4beta1.Job.ProcessingOptions prototype)3469     public static Builder newBuilder(
3470         com.google.cloud.talent.v4beta1.Job.ProcessingOptions prototype) {
3471       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3472     }
3473 
3474     @java.lang.Override
toBuilder()3475     public Builder toBuilder() {
3476       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3477     }
3478 
3479     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3480     protected Builder newBuilderForType(
3481         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3482       Builder builder = new Builder(parent);
3483       return builder;
3484     }
3485     /**
3486      *
3487      *
3488      * <pre>
3489      * Options for job processing.
3490      * </pre>
3491      *
3492      * Protobuf type {@code google.cloud.talent.v4beta1.Job.ProcessingOptions}
3493      */
3494     public static final class Builder
3495         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3496         implements
3497         // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4beta1.Job.ProcessingOptions)
3498         com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder {
getDescriptor()3499       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3500         return com.google.cloud.talent.v4beta1.JobResourceProto
3501             .internal_static_google_cloud_talent_v4beta1_Job_ProcessingOptions_descriptor;
3502       }
3503 
3504       @java.lang.Override
3505       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3506           internalGetFieldAccessorTable() {
3507         return com.google.cloud.talent.v4beta1.JobResourceProto
3508             .internal_static_google_cloud_talent_v4beta1_Job_ProcessingOptions_fieldAccessorTable
3509             .ensureFieldAccessorsInitialized(
3510                 com.google.cloud.talent.v4beta1.Job.ProcessingOptions.class,
3511                 com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder.class);
3512       }
3513 
3514       // Construct using com.google.cloud.talent.v4beta1.Job.ProcessingOptions.newBuilder()
Builder()3515       private Builder() {}
3516 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3517       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3518         super(parent);
3519       }
3520 
3521       @java.lang.Override
clear()3522       public Builder clear() {
3523         super.clear();
3524         bitField0_ = 0;
3525         disableStreetAddressResolution_ = false;
3526         htmlSanitization_ = 0;
3527         return this;
3528       }
3529 
3530       @java.lang.Override
getDescriptorForType()3531       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
3532         return com.google.cloud.talent.v4beta1.JobResourceProto
3533             .internal_static_google_cloud_talent_v4beta1_Job_ProcessingOptions_descriptor;
3534       }
3535 
3536       @java.lang.Override
getDefaultInstanceForType()3537       public com.google.cloud.talent.v4beta1.Job.ProcessingOptions getDefaultInstanceForType() {
3538         return com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance();
3539       }
3540 
3541       @java.lang.Override
build()3542       public com.google.cloud.talent.v4beta1.Job.ProcessingOptions build() {
3543         com.google.cloud.talent.v4beta1.Job.ProcessingOptions result = buildPartial();
3544         if (!result.isInitialized()) {
3545           throw newUninitializedMessageException(result);
3546         }
3547         return result;
3548       }
3549 
3550       @java.lang.Override
buildPartial()3551       public com.google.cloud.talent.v4beta1.Job.ProcessingOptions buildPartial() {
3552         com.google.cloud.talent.v4beta1.Job.ProcessingOptions result =
3553             new com.google.cloud.talent.v4beta1.Job.ProcessingOptions(this);
3554         if (bitField0_ != 0) {
3555           buildPartial0(result);
3556         }
3557         onBuilt();
3558         return result;
3559       }
3560 
buildPartial0(com.google.cloud.talent.v4beta1.Job.ProcessingOptions result)3561       private void buildPartial0(com.google.cloud.talent.v4beta1.Job.ProcessingOptions result) {
3562         int from_bitField0_ = bitField0_;
3563         if (((from_bitField0_ & 0x00000001) != 0)) {
3564           result.disableStreetAddressResolution_ = disableStreetAddressResolution_;
3565         }
3566         if (((from_bitField0_ & 0x00000002) != 0)) {
3567           result.htmlSanitization_ = htmlSanitization_;
3568         }
3569       }
3570 
3571       @java.lang.Override
clone()3572       public Builder clone() {
3573         return super.clone();
3574       }
3575 
3576       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3577       public Builder setField(
3578           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3579         return super.setField(field, value);
3580       }
3581 
3582       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)3583       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
3584         return super.clearField(field);
3585       }
3586 
3587       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)3588       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
3589         return super.clearOneof(oneof);
3590       }
3591 
3592       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)3593       public Builder setRepeatedField(
3594           com.google.protobuf.Descriptors.FieldDescriptor field,
3595           int index,
3596           java.lang.Object value) {
3597         return super.setRepeatedField(field, index, value);
3598       }
3599 
3600       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)3601       public Builder addRepeatedField(
3602           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
3603         return super.addRepeatedField(field, value);
3604       }
3605 
3606       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)3607       public Builder mergeFrom(com.google.protobuf.Message other) {
3608         if (other instanceof com.google.cloud.talent.v4beta1.Job.ProcessingOptions) {
3609           return mergeFrom((com.google.cloud.talent.v4beta1.Job.ProcessingOptions) other);
3610         } else {
3611           super.mergeFrom(other);
3612           return this;
3613         }
3614       }
3615 
mergeFrom(com.google.cloud.talent.v4beta1.Job.ProcessingOptions other)3616       public Builder mergeFrom(com.google.cloud.talent.v4beta1.Job.ProcessingOptions other) {
3617         if (other == com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance())
3618           return this;
3619         if (other.getDisableStreetAddressResolution() != false) {
3620           setDisableStreetAddressResolution(other.getDisableStreetAddressResolution());
3621         }
3622         if (other.htmlSanitization_ != 0) {
3623           setHtmlSanitizationValue(other.getHtmlSanitizationValue());
3624         }
3625         this.mergeUnknownFields(other.getUnknownFields());
3626         onChanged();
3627         return this;
3628       }
3629 
3630       @java.lang.Override
isInitialized()3631       public final boolean isInitialized() {
3632         return true;
3633       }
3634 
3635       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3636       public Builder mergeFrom(
3637           com.google.protobuf.CodedInputStream input,
3638           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3639           throws java.io.IOException {
3640         if (extensionRegistry == null) {
3641           throw new java.lang.NullPointerException();
3642         }
3643         try {
3644           boolean done = false;
3645           while (!done) {
3646             int tag = input.readTag();
3647             switch (tag) {
3648               case 0:
3649                 done = true;
3650                 break;
3651               case 8:
3652                 {
3653                   disableStreetAddressResolution_ = input.readBool();
3654                   bitField0_ |= 0x00000001;
3655                   break;
3656                 } // case 8
3657               case 16:
3658                 {
3659                   htmlSanitization_ = input.readEnum();
3660                   bitField0_ |= 0x00000002;
3661                   break;
3662                 } // case 16
3663               default:
3664                 {
3665                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
3666                     done = true; // was an endgroup tag
3667                   }
3668                   break;
3669                 } // default:
3670             } // switch (tag)
3671           } // while (!done)
3672         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3673           throw e.unwrapIOException();
3674         } finally {
3675           onChanged();
3676         } // finally
3677         return this;
3678       }
3679 
3680       private int bitField0_;
3681 
3682       private boolean disableStreetAddressResolution_;
3683       /**
3684        *
3685        *
3686        * <pre>
3687        * If set to `true`, the service does not attempt to resolve a
3688        * more precise address for the job.
3689        * </pre>
3690        *
3691        * <code>bool disable_street_address_resolution = 1;</code>
3692        *
3693        * @return The disableStreetAddressResolution.
3694        */
3695       @java.lang.Override
getDisableStreetAddressResolution()3696       public boolean getDisableStreetAddressResolution() {
3697         return disableStreetAddressResolution_;
3698       }
3699       /**
3700        *
3701        *
3702        * <pre>
3703        * If set to `true`, the service does not attempt to resolve a
3704        * more precise address for the job.
3705        * </pre>
3706        *
3707        * <code>bool disable_street_address_resolution = 1;</code>
3708        *
3709        * @param value The disableStreetAddressResolution to set.
3710        * @return This builder for chaining.
3711        */
setDisableStreetAddressResolution(boolean value)3712       public Builder setDisableStreetAddressResolution(boolean value) {
3713 
3714         disableStreetAddressResolution_ = value;
3715         bitField0_ |= 0x00000001;
3716         onChanged();
3717         return this;
3718       }
3719       /**
3720        *
3721        *
3722        * <pre>
3723        * If set to `true`, the service does not attempt to resolve a
3724        * more precise address for the job.
3725        * </pre>
3726        *
3727        * <code>bool disable_street_address_resolution = 1;</code>
3728        *
3729        * @return This builder for chaining.
3730        */
clearDisableStreetAddressResolution()3731       public Builder clearDisableStreetAddressResolution() {
3732         bitField0_ = (bitField0_ & ~0x00000001);
3733         disableStreetAddressResolution_ = false;
3734         onChanged();
3735         return this;
3736       }
3737 
3738       private int htmlSanitization_ = 0;
3739       /**
3740        *
3741        *
3742        * <pre>
3743        * Option for job HTML content sanitization. Applied fields are:
3744        * * description
3745        * * applicationInfo.instruction
3746        * * incentives
3747        * * qualifications
3748        * * responsibilities
3749        * HTML tags in these fields may be stripped if sanitiazation isn't
3750        * disabled.
3751        * Defaults to
3752        * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3753        * </pre>
3754        *
3755        * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3756        *
3757        * @return The enum numeric value on the wire for htmlSanitization.
3758        */
3759       @java.lang.Override
getHtmlSanitizationValue()3760       public int getHtmlSanitizationValue() {
3761         return htmlSanitization_;
3762       }
3763       /**
3764        *
3765        *
3766        * <pre>
3767        * Option for job HTML content sanitization. Applied fields are:
3768        * * description
3769        * * applicationInfo.instruction
3770        * * incentives
3771        * * qualifications
3772        * * responsibilities
3773        * HTML tags in these fields may be stripped if sanitiazation isn't
3774        * disabled.
3775        * Defaults to
3776        * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3777        * </pre>
3778        *
3779        * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3780        *
3781        * @param value The enum numeric value on the wire for htmlSanitization to set.
3782        * @return This builder for chaining.
3783        */
setHtmlSanitizationValue(int value)3784       public Builder setHtmlSanitizationValue(int value) {
3785         htmlSanitization_ = value;
3786         bitField0_ |= 0x00000002;
3787         onChanged();
3788         return this;
3789       }
3790       /**
3791        *
3792        *
3793        * <pre>
3794        * Option for job HTML content sanitization. Applied fields are:
3795        * * description
3796        * * applicationInfo.instruction
3797        * * incentives
3798        * * qualifications
3799        * * responsibilities
3800        * HTML tags in these fields may be stripped if sanitiazation isn't
3801        * disabled.
3802        * Defaults to
3803        * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3804        * </pre>
3805        *
3806        * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3807        *
3808        * @return The htmlSanitization.
3809        */
3810       @java.lang.Override
getHtmlSanitization()3811       public com.google.cloud.talent.v4beta1.HtmlSanitization getHtmlSanitization() {
3812         com.google.cloud.talent.v4beta1.HtmlSanitization result =
3813             com.google.cloud.talent.v4beta1.HtmlSanitization.forNumber(htmlSanitization_);
3814         return result == null
3815             ? com.google.cloud.talent.v4beta1.HtmlSanitization.UNRECOGNIZED
3816             : result;
3817       }
3818       /**
3819        *
3820        *
3821        * <pre>
3822        * Option for job HTML content sanitization. Applied fields are:
3823        * * description
3824        * * applicationInfo.instruction
3825        * * incentives
3826        * * qualifications
3827        * * responsibilities
3828        * HTML tags in these fields may be stripped if sanitiazation isn't
3829        * disabled.
3830        * Defaults to
3831        * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3832        * </pre>
3833        *
3834        * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3835        *
3836        * @param value The htmlSanitization to set.
3837        * @return This builder for chaining.
3838        */
setHtmlSanitization(com.google.cloud.talent.v4beta1.HtmlSanitization value)3839       public Builder setHtmlSanitization(com.google.cloud.talent.v4beta1.HtmlSanitization value) {
3840         if (value == null) {
3841           throw new NullPointerException();
3842         }
3843         bitField0_ |= 0x00000002;
3844         htmlSanitization_ = value.getNumber();
3845         onChanged();
3846         return this;
3847       }
3848       /**
3849        *
3850        *
3851        * <pre>
3852        * Option for job HTML content sanitization. Applied fields are:
3853        * * description
3854        * * applicationInfo.instruction
3855        * * incentives
3856        * * qualifications
3857        * * responsibilities
3858        * HTML tags in these fields may be stripped if sanitiazation isn't
3859        * disabled.
3860        * Defaults to
3861        * [HtmlSanitization.SIMPLE_FORMATTING_ONLY][google.cloud.talent.v4beta1.HtmlSanitization.SIMPLE_FORMATTING_ONLY].
3862        * </pre>
3863        *
3864        * <code>.google.cloud.talent.v4beta1.HtmlSanitization html_sanitization = 2;</code>
3865        *
3866        * @return This builder for chaining.
3867        */
clearHtmlSanitization()3868       public Builder clearHtmlSanitization() {
3869         bitField0_ = (bitField0_ & ~0x00000002);
3870         htmlSanitization_ = 0;
3871         onChanged();
3872         return this;
3873       }
3874 
3875       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3876       public final Builder setUnknownFields(
3877           final com.google.protobuf.UnknownFieldSet unknownFields) {
3878         return super.setUnknownFields(unknownFields);
3879       }
3880 
3881       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3882       public final Builder mergeUnknownFields(
3883           final com.google.protobuf.UnknownFieldSet unknownFields) {
3884         return super.mergeUnknownFields(unknownFields);
3885       }
3886 
3887       // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4beta1.Job.ProcessingOptions)
3888     }
3889 
3890     // @@protoc_insertion_point(class_scope:google.cloud.talent.v4beta1.Job.ProcessingOptions)
3891     private static final com.google.cloud.talent.v4beta1.Job.ProcessingOptions DEFAULT_INSTANCE;
3892 
3893     static {
3894       DEFAULT_INSTANCE = new com.google.cloud.talent.v4beta1.Job.ProcessingOptions();
3895     }
3896 
getDefaultInstance()3897     public static com.google.cloud.talent.v4beta1.Job.ProcessingOptions getDefaultInstance() {
3898       return DEFAULT_INSTANCE;
3899     }
3900 
3901     private static final com.google.protobuf.Parser<ProcessingOptions> PARSER =
3902         new com.google.protobuf.AbstractParser<ProcessingOptions>() {
3903           @java.lang.Override
3904           public ProcessingOptions parsePartialFrom(
3905               com.google.protobuf.CodedInputStream input,
3906               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3907               throws com.google.protobuf.InvalidProtocolBufferException {
3908             Builder builder = newBuilder();
3909             try {
3910               builder.mergeFrom(input, extensionRegistry);
3911             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3912               throw e.setUnfinishedMessage(builder.buildPartial());
3913             } catch (com.google.protobuf.UninitializedMessageException e) {
3914               throw e.asInvalidProtocolBufferException()
3915                   .setUnfinishedMessage(builder.buildPartial());
3916             } catch (java.io.IOException e) {
3917               throw new com.google.protobuf.InvalidProtocolBufferException(e)
3918                   .setUnfinishedMessage(builder.buildPartial());
3919             }
3920             return builder.buildPartial();
3921           }
3922         };
3923 
parser()3924     public static com.google.protobuf.Parser<ProcessingOptions> parser() {
3925       return PARSER;
3926     }
3927 
3928     @java.lang.Override
getParserForType()3929     public com.google.protobuf.Parser<ProcessingOptions> getParserForType() {
3930       return PARSER;
3931     }
3932 
3933     @java.lang.Override
getDefaultInstanceForType()3934     public com.google.cloud.talent.v4beta1.Job.ProcessingOptions getDefaultInstanceForType() {
3935       return DEFAULT_INSTANCE;
3936     }
3937   }
3938 
3939   public static final int NAME_FIELD_NUMBER = 1;
3940 
3941   @SuppressWarnings("serial")
3942   private volatile java.lang.Object name_ = "";
3943   /**
3944    *
3945    *
3946    * <pre>
3947    * Required during job update.
3948    * The resource name for the job. This is generated by the service when a
3949    * job is created.
3950    * The format is
3951    * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
3952    * example, "projects/foo/tenants/bar/jobs/baz".
3953    * If tenant id is unspecified, the default tenant is used. For
3954    * example, "projects/foo/jobs/bar".
3955    * Use of this field in job queries and API calls is preferred over the use of
3956    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
3957    * value is unique.
3958    * </pre>
3959    *
3960    * <code>string name = 1;</code>
3961    *
3962    * @return The name.
3963    */
3964   @java.lang.Override
getName()3965   public java.lang.String getName() {
3966     java.lang.Object ref = name_;
3967     if (ref instanceof java.lang.String) {
3968       return (java.lang.String) ref;
3969     } else {
3970       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3971       java.lang.String s = bs.toStringUtf8();
3972       name_ = s;
3973       return s;
3974     }
3975   }
3976   /**
3977    *
3978    *
3979    * <pre>
3980    * Required during job update.
3981    * The resource name for the job. This is generated by the service when a
3982    * job is created.
3983    * The format is
3984    * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
3985    * example, "projects/foo/tenants/bar/jobs/baz".
3986    * If tenant id is unspecified, the default tenant is used. For
3987    * example, "projects/foo/jobs/bar".
3988    * Use of this field in job queries and API calls is preferred over the use of
3989    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
3990    * value is unique.
3991    * </pre>
3992    *
3993    * <code>string name = 1;</code>
3994    *
3995    * @return The bytes for name.
3996    */
3997   @java.lang.Override
getNameBytes()3998   public com.google.protobuf.ByteString getNameBytes() {
3999     java.lang.Object ref = name_;
4000     if (ref instanceof java.lang.String) {
4001       com.google.protobuf.ByteString b =
4002           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4003       name_ = b;
4004       return b;
4005     } else {
4006       return (com.google.protobuf.ByteString) ref;
4007     }
4008   }
4009 
4010   public static final int COMPANY_FIELD_NUMBER = 2;
4011 
4012   @SuppressWarnings("serial")
4013   private volatile java.lang.Object company_ = "";
4014   /**
4015    *
4016    *
4017    * <pre>
4018    * Required. The resource name of the company listing the job.
4019    * The format is
4020    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
4021    * example, "projects/foo/tenants/bar/companies/baz".
4022    * If tenant id is unspecified, the default tenant is used. For
4023    * example, "projects/foo/companies/bar".
4024    * </pre>
4025    *
4026    * <code>
4027    * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4028    * </code>
4029    *
4030    * @return The company.
4031    */
4032   @java.lang.Override
getCompany()4033   public java.lang.String getCompany() {
4034     java.lang.Object ref = company_;
4035     if (ref instanceof java.lang.String) {
4036       return (java.lang.String) ref;
4037     } else {
4038       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4039       java.lang.String s = bs.toStringUtf8();
4040       company_ = s;
4041       return s;
4042     }
4043   }
4044   /**
4045    *
4046    *
4047    * <pre>
4048    * Required. The resource name of the company listing the job.
4049    * The format is
4050    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
4051    * example, "projects/foo/tenants/bar/companies/baz".
4052    * If tenant id is unspecified, the default tenant is used. For
4053    * example, "projects/foo/companies/bar".
4054    * </pre>
4055    *
4056    * <code>
4057    * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
4058    * </code>
4059    *
4060    * @return The bytes for company.
4061    */
4062   @java.lang.Override
getCompanyBytes()4063   public com.google.protobuf.ByteString getCompanyBytes() {
4064     java.lang.Object ref = company_;
4065     if (ref instanceof java.lang.String) {
4066       com.google.protobuf.ByteString b =
4067           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4068       company_ = b;
4069       return b;
4070     } else {
4071       return (com.google.protobuf.ByteString) ref;
4072     }
4073   }
4074 
4075   public static final int REQUISITION_ID_FIELD_NUMBER = 3;
4076 
4077   @SuppressWarnings("serial")
4078   private volatile java.lang.Object requisitionId_ = "";
4079   /**
4080    *
4081    *
4082    * <pre>
4083    * Required. The requisition ID, also referred to as the posting ID, is
4084    * assigned by the client to identify a job. This field is intended to be used
4085    * by clients for client identification and tracking of postings. A job isn't
4086    * allowed to be created if there is another job with the same
4087    * [company][google.cloud.talent.v4beta1.Job.name],
4088    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4089    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
4090    * The maximum number of allowed characters is 255.
4091    * </pre>
4092    *
4093    * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
4094    *
4095    * @return The requisitionId.
4096    */
4097   @java.lang.Override
getRequisitionId()4098   public java.lang.String getRequisitionId() {
4099     java.lang.Object ref = requisitionId_;
4100     if (ref instanceof java.lang.String) {
4101       return (java.lang.String) ref;
4102     } else {
4103       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4104       java.lang.String s = bs.toStringUtf8();
4105       requisitionId_ = s;
4106       return s;
4107     }
4108   }
4109   /**
4110    *
4111    *
4112    * <pre>
4113    * Required. The requisition ID, also referred to as the posting ID, is
4114    * assigned by the client to identify a job. This field is intended to be used
4115    * by clients for client identification and tracking of postings. A job isn't
4116    * allowed to be created if there is another job with the same
4117    * [company][google.cloud.talent.v4beta1.Job.name],
4118    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4119    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
4120    * The maximum number of allowed characters is 255.
4121    * </pre>
4122    *
4123    * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
4124    *
4125    * @return The bytes for requisitionId.
4126    */
4127   @java.lang.Override
getRequisitionIdBytes()4128   public com.google.protobuf.ByteString getRequisitionIdBytes() {
4129     java.lang.Object ref = requisitionId_;
4130     if (ref instanceof java.lang.String) {
4131       com.google.protobuf.ByteString b =
4132           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4133       requisitionId_ = b;
4134       return b;
4135     } else {
4136       return (com.google.protobuf.ByteString) ref;
4137     }
4138   }
4139 
4140   public static final int TITLE_FIELD_NUMBER = 4;
4141 
4142   @SuppressWarnings("serial")
4143   private volatile java.lang.Object title_ = "";
4144   /**
4145    *
4146    *
4147    * <pre>
4148    * Required. The title of the job, such as "Software Engineer"
4149    * The maximum number of allowed characters is 500.
4150    * </pre>
4151    *
4152    * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
4153    *
4154    * @return The title.
4155    */
4156   @java.lang.Override
getTitle()4157   public java.lang.String getTitle() {
4158     java.lang.Object ref = title_;
4159     if (ref instanceof java.lang.String) {
4160       return (java.lang.String) ref;
4161     } else {
4162       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4163       java.lang.String s = bs.toStringUtf8();
4164       title_ = s;
4165       return s;
4166     }
4167   }
4168   /**
4169    *
4170    *
4171    * <pre>
4172    * Required. The title of the job, such as "Software Engineer"
4173    * The maximum number of allowed characters is 500.
4174    * </pre>
4175    *
4176    * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
4177    *
4178    * @return The bytes for title.
4179    */
4180   @java.lang.Override
getTitleBytes()4181   public com.google.protobuf.ByteString getTitleBytes() {
4182     java.lang.Object ref = title_;
4183     if (ref instanceof java.lang.String) {
4184       com.google.protobuf.ByteString b =
4185           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4186       title_ = b;
4187       return b;
4188     } else {
4189       return (com.google.protobuf.ByteString) ref;
4190     }
4191   }
4192 
4193   public static final int DESCRIPTION_FIELD_NUMBER = 5;
4194 
4195   @SuppressWarnings("serial")
4196   private volatile java.lang.Object description_ = "";
4197   /**
4198    *
4199    *
4200    * <pre>
4201    * Required. The description of the job, which typically includes a
4202    * multi-paragraph description of the company and related information.
4203    * Separate fields are provided on the job object for
4204    * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
4205    * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
4206    * job characteristics. Use of these separate job fields is recommended.
4207    * This field accepts and sanitizes HTML input, and also accepts
4208    * bold, italic, ordered list, and unordered list markup tags.
4209    * The maximum number of allowed characters is 100,000.
4210    * </pre>
4211    *
4212    * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
4213    *
4214    * @return The description.
4215    */
4216   @java.lang.Override
getDescription()4217   public java.lang.String getDescription() {
4218     java.lang.Object ref = description_;
4219     if (ref instanceof java.lang.String) {
4220       return (java.lang.String) ref;
4221     } else {
4222       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4223       java.lang.String s = bs.toStringUtf8();
4224       description_ = s;
4225       return s;
4226     }
4227   }
4228   /**
4229    *
4230    *
4231    * <pre>
4232    * Required. The description of the job, which typically includes a
4233    * multi-paragraph description of the company and related information.
4234    * Separate fields are provided on the job object for
4235    * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
4236    * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
4237    * job characteristics. Use of these separate job fields is recommended.
4238    * This field accepts and sanitizes HTML input, and also accepts
4239    * bold, italic, ordered list, and unordered list markup tags.
4240    * The maximum number of allowed characters is 100,000.
4241    * </pre>
4242    *
4243    * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
4244    *
4245    * @return The bytes for description.
4246    */
4247   @java.lang.Override
getDescriptionBytes()4248   public com.google.protobuf.ByteString getDescriptionBytes() {
4249     java.lang.Object ref = description_;
4250     if (ref instanceof java.lang.String) {
4251       com.google.protobuf.ByteString b =
4252           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4253       description_ = b;
4254       return b;
4255     } else {
4256       return (com.google.protobuf.ByteString) ref;
4257     }
4258   }
4259 
4260   public static final int ADDRESSES_FIELD_NUMBER = 6;
4261 
4262   @SuppressWarnings("serial")
4263   private com.google.protobuf.LazyStringList addresses_;
4264   /**
4265    *
4266    *
4267    * <pre>
4268    * Strongly recommended for the best service experience.
4269    * Location(s) where the employer is looking to hire for this job posting.
4270    * Specifying the full street address(es) of the hiring location enables
4271    * better API results, especially job searches by commute time.
4272    * At most 50 locations are allowed for best search performance. If a job has
4273    * more locations, it is suggested to split it into multiple jobs with unique
4274    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
4275    * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
4276    * same [company][google.cloud.talent.v4beta1.Job.company],
4277    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4278    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
4279    * allowed. If the original
4280    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
4281    * preserved, a custom field should be used for storage. It is also suggested
4282    * to group the locations that close to each other in the same job for better
4283    * search experience.
4284    * The maximum number of allowed characters is 500.
4285    * </pre>
4286    *
4287    * <code>repeated string addresses = 6;</code>
4288    *
4289    * @return A list containing the addresses.
4290    */
getAddressesList()4291   public com.google.protobuf.ProtocolStringList getAddressesList() {
4292     return addresses_;
4293   }
4294   /**
4295    *
4296    *
4297    * <pre>
4298    * Strongly recommended for the best service experience.
4299    * Location(s) where the employer is looking to hire for this job posting.
4300    * Specifying the full street address(es) of the hiring location enables
4301    * better API results, especially job searches by commute time.
4302    * At most 50 locations are allowed for best search performance. If a job has
4303    * more locations, it is suggested to split it into multiple jobs with unique
4304    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
4305    * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
4306    * same [company][google.cloud.talent.v4beta1.Job.company],
4307    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4308    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
4309    * allowed. If the original
4310    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
4311    * preserved, a custom field should be used for storage. It is also suggested
4312    * to group the locations that close to each other in the same job for better
4313    * search experience.
4314    * The maximum number of allowed characters is 500.
4315    * </pre>
4316    *
4317    * <code>repeated string addresses = 6;</code>
4318    *
4319    * @return The count of addresses.
4320    */
getAddressesCount()4321   public int getAddressesCount() {
4322     return addresses_.size();
4323   }
4324   /**
4325    *
4326    *
4327    * <pre>
4328    * Strongly recommended for the best service experience.
4329    * Location(s) where the employer is looking to hire for this job posting.
4330    * Specifying the full street address(es) of the hiring location enables
4331    * better API results, especially job searches by commute time.
4332    * At most 50 locations are allowed for best search performance. If a job has
4333    * more locations, it is suggested to split it into multiple jobs with unique
4334    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
4335    * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
4336    * same [company][google.cloud.talent.v4beta1.Job.company],
4337    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4338    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
4339    * allowed. If the original
4340    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
4341    * preserved, a custom field should be used for storage. It is also suggested
4342    * to group the locations that close to each other in the same job for better
4343    * search experience.
4344    * The maximum number of allowed characters is 500.
4345    * </pre>
4346    *
4347    * <code>repeated string addresses = 6;</code>
4348    *
4349    * @param index The index of the element to return.
4350    * @return The addresses at the given index.
4351    */
getAddresses(int index)4352   public java.lang.String getAddresses(int index) {
4353     return addresses_.get(index);
4354   }
4355   /**
4356    *
4357    *
4358    * <pre>
4359    * Strongly recommended for the best service experience.
4360    * Location(s) where the employer is looking to hire for this job posting.
4361    * Specifying the full street address(es) of the hiring location enables
4362    * better API results, especially job searches by commute time.
4363    * At most 50 locations are allowed for best search performance. If a job has
4364    * more locations, it is suggested to split it into multiple jobs with unique
4365    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
4366    * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
4367    * same [company][google.cloud.talent.v4beta1.Job.company],
4368    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
4369    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
4370    * allowed. If the original
4371    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
4372    * preserved, a custom field should be used for storage. It is also suggested
4373    * to group the locations that close to each other in the same job for better
4374    * search experience.
4375    * The maximum number of allowed characters is 500.
4376    * </pre>
4377    *
4378    * <code>repeated string addresses = 6;</code>
4379    *
4380    * @param index The index of the value to return.
4381    * @return The bytes of the addresses at the given index.
4382    */
getAddressesBytes(int index)4383   public com.google.protobuf.ByteString getAddressesBytes(int index) {
4384     return addresses_.getByteString(index);
4385   }
4386 
4387   public static final int APPLICATION_INFO_FIELD_NUMBER = 7;
4388   private com.google.cloud.talent.v4beta1.Job.ApplicationInfo applicationInfo_;
4389   /**
4390    *
4391    *
4392    * <pre>
4393    * Job application information.
4394    * </pre>
4395    *
4396    * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
4397    *
4398    * @return Whether the applicationInfo field is set.
4399    */
4400   @java.lang.Override
hasApplicationInfo()4401   public boolean hasApplicationInfo() {
4402     return applicationInfo_ != null;
4403   }
4404   /**
4405    *
4406    *
4407    * <pre>
4408    * Job application information.
4409    * </pre>
4410    *
4411    * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
4412    *
4413    * @return The applicationInfo.
4414    */
4415   @java.lang.Override
getApplicationInfo()4416   public com.google.cloud.talent.v4beta1.Job.ApplicationInfo getApplicationInfo() {
4417     return applicationInfo_ == null
4418         ? com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance()
4419         : applicationInfo_;
4420   }
4421   /**
4422    *
4423    *
4424    * <pre>
4425    * Job application information.
4426    * </pre>
4427    *
4428    * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
4429    */
4430   @java.lang.Override
4431   public com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder
getApplicationInfoOrBuilder()4432       getApplicationInfoOrBuilder() {
4433     return applicationInfo_ == null
4434         ? com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance()
4435         : applicationInfo_;
4436   }
4437 
4438   public static final int JOB_BENEFITS_FIELD_NUMBER = 8;
4439 
4440   @SuppressWarnings("serial")
4441   private java.util.List<java.lang.Integer> jobBenefits_;
4442 
4443   private static final com.google.protobuf.Internal.ListAdapter.Converter<
4444           java.lang.Integer, com.google.cloud.talent.v4beta1.JobBenefit>
4445       jobBenefits_converter_ =
4446           new com.google.protobuf.Internal.ListAdapter.Converter<
4447               java.lang.Integer, com.google.cloud.talent.v4beta1.JobBenefit>() {
4448             public com.google.cloud.talent.v4beta1.JobBenefit convert(java.lang.Integer from) {
4449               com.google.cloud.talent.v4beta1.JobBenefit result =
4450                   com.google.cloud.talent.v4beta1.JobBenefit.forNumber(from);
4451               return result == null
4452                   ? com.google.cloud.talent.v4beta1.JobBenefit.UNRECOGNIZED
4453                   : result;
4454             }
4455           };
4456   /**
4457    *
4458    *
4459    * <pre>
4460    * The benefits included with the job.
4461    * </pre>
4462    *
4463    * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
4464    *
4465    * @return A list containing the jobBenefits.
4466    */
4467   @java.lang.Override
getJobBenefitsList()4468   public java.util.List<com.google.cloud.talent.v4beta1.JobBenefit> getJobBenefitsList() {
4469     return new com.google.protobuf.Internal.ListAdapter<
4470         java.lang.Integer, com.google.cloud.talent.v4beta1.JobBenefit>(
4471         jobBenefits_, jobBenefits_converter_);
4472   }
4473   /**
4474    *
4475    *
4476    * <pre>
4477    * The benefits included with the job.
4478    * </pre>
4479    *
4480    * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
4481    *
4482    * @return The count of jobBenefits.
4483    */
4484   @java.lang.Override
getJobBenefitsCount()4485   public int getJobBenefitsCount() {
4486     return jobBenefits_.size();
4487   }
4488   /**
4489    *
4490    *
4491    * <pre>
4492    * The benefits included with the job.
4493    * </pre>
4494    *
4495    * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
4496    *
4497    * @param index The index of the element to return.
4498    * @return The jobBenefits at the given index.
4499    */
4500   @java.lang.Override
getJobBenefits(int index)4501   public com.google.cloud.talent.v4beta1.JobBenefit getJobBenefits(int index) {
4502     return jobBenefits_converter_.convert(jobBenefits_.get(index));
4503   }
4504   /**
4505    *
4506    *
4507    * <pre>
4508    * The benefits included with the job.
4509    * </pre>
4510    *
4511    * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
4512    *
4513    * @return A list containing the enum numeric values on the wire for jobBenefits.
4514    */
4515   @java.lang.Override
getJobBenefitsValueList()4516   public java.util.List<java.lang.Integer> getJobBenefitsValueList() {
4517     return jobBenefits_;
4518   }
4519   /**
4520    *
4521    *
4522    * <pre>
4523    * The benefits included with the job.
4524    * </pre>
4525    *
4526    * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
4527    *
4528    * @param index The index of the value to return.
4529    * @return The enum numeric value on the wire of jobBenefits at the given index.
4530    */
4531   @java.lang.Override
getJobBenefitsValue(int index)4532   public int getJobBenefitsValue(int index) {
4533     return jobBenefits_.get(index);
4534   }
4535 
4536   private int jobBenefitsMemoizedSerializedSize;
4537 
4538   public static final int COMPENSATION_INFO_FIELD_NUMBER = 9;
4539   private com.google.cloud.talent.v4beta1.CompensationInfo compensationInfo_;
4540   /**
4541    *
4542    *
4543    * <pre>
4544    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
4545    * that will paid to the employee.
4546    * </pre>
4547    *
4548    * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
4549    *
4550    * @return Whether the compensationInfo field is set.
4551    */
4552   @java.lang.Override
hasCompensationInfo()4553   public boolean hasCompensationInfo() {
4554     return compensationInfo_ != null;
4555   }
4556   /**
4557    *
4558    *
4559    * <pre>
4560    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
4561    * that will paid to the employee.
4562    * </pre>
4563    *
4564    * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
4565    *
4566    * @return The compensationInfo.
4567    */
4568   @java.lang.Override
getCompensationInfo()4569   public com.google.cloud.talent.v4beta1.CompensationInfo getCompensationInfo() {
4570     return compensationInfo_ == null
4571         ? com.google.cloud.talent.v4beta1.CompensationInfo.getDefaultInstance()
4572         : compensationInfo_;
4573   }
4574   /**
4575    *
4576    *
4577    * <pre>
4578    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
4579    * that will paid to the employee.
4580    * </pre>
4581    *
4582    * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
4583    */
4584   @java.lang.Override
getCompensationInfoOrBuilder()4585   public com.google.cloud.talent.v4beta1.CompensationInfoOrBuilder getCompensationInfoOrBuilder() {
4586     return compensationInfo_ == null
4587         ? com.google.cloud.talent.v4beta1.CompensationInfo.getDefaultInstance()
4588         : compensationInfo_;
4589   }
4590 
4591   public static final int CUSTOM_ATTRIBUTES_FIELD_NUMBER = 10;
4592 
4593   private static final class CustomAttributesDefaultEntryHolder {
4594     static final com.google.protobuf.MapEntry<
4595             java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
4596         defaultEntry =
4597             com.google.protobuf.MapEntry
4598                 .<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
4599                     newDefaultInstance(
4600                         com.google.cloud.talent.v4beta1.JobResourceProto
4601                             .internal_static_google_cloud_talent_v4beta1_Job_CustomAttributesEntry_descriptor,
4602                         com.google.protobuf.WireFormat.FieldType.STRING,
4603                         "",
4604                         com.google.protobuf.WireFormat.FieldType.MESSAGE,
4605                         com.google.cloud.talent.v4beta1.CustomAttribute.getDefaultInstance());
4606   }
4607 
4608   @SuppressWarnings("serial")
4609   private com.google.protobuf.MapField<
4610           java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
4611       customAttributes_;
4612 
4613   private com.google.protobuf.MapField<
4614           java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
internalGetCustomAttributes()4615       internalGetCustomAttributes() {
4616     if (customAttributes_ == null) {
4617       return com.google.protobuf.MapField.emptyMapField(
4618           CustomAttributesDefaultEntryHolder.defaultEntry);
4619     }
4620     return customAttributes_;
4621   }
4622 
getCustomAttributesCount()4623   public int getCustomAttributesCount() {
4624     return internalGetCustomAttributes().getMap().size();
4625   }
4626   /**
4627    *
4628    *
4629    * <pre>
4630    * A map of fields to hold both filterable and non-filterable custom job
4631    * attributes that are not covered by the provided structured fields.
4632    * The keys of the map are strings up to 64 bytes and must match the
4633    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
4634    * KEY_1_LIKE_THIS.
4635    * At most 100 filterable and at most 100 unfilterable keys are supported.
4636    * For filterable `string_values`, across all keys at most 200 values are
4637    * allowed, with each string no more than 255 characters. For unfilterable
4638    * `string_values`, the maximum total size of `string_values` across all keys
4639    * is 50KB.
4640    * </pre>
4641    *
4642    * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
4643    * </code>
4644    */
4645   @java.lang.Override
containsCustomAttributes(java.lang.String key)4646   public boolean containsCustomAttributes(java.lang.String key) {
4647     if (key == null) {
4648       throw new NullPointerException("map key");
4649     }
4650     return internalGetCustomAttributes().getMap().containsKey(key);
4651   }
4652   /** Use {@link #getCustomAttributesMap()} instead. */
4653   @java.lang.Override
4654   @java.lang.Deprecated
4655   public java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
getCustomAttributes()4656       getCustomAttributes() {
4657     return getCustomAttributesMap();
4658   }
4659   /**
4660    *
4661    *
4662    * <pre>
4663    * A map of fields to hold both filterable and non-filterable custom job
4664    * attributes that are not covered by the provided structured fields.
4665    * The keys of the map are strings up to 64 bytes and must match the
4666    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
4667    * KEY_1_LIKE_THIS.
4668    * At most 100 filterable and at most 100 unfilterable keys are supported.
4669    * For filterable `string_values`, across all keys at most 200 values are
4670    * allowed, with each string no more than 255 characters. For unfilterable
4671    * `string_values`, the maximum total size of `string_values` across all keys
4672    * is 50KB.
4673    * </pre>
4674    *
4675    * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
4676    * </code>
4677    */
4678   @java.lang.Override
4679   public java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
getCustomAttributesMap()4680       getCustomAttributesMap() {
4681     return internalGetCustomAttributes().getMap();
4682   }
4683   /**
4684    *
4685    *
4686    * <pre>
4687    * A map of fields to hold both filterable and non-filterable custom job
4688    * attributes that are not covered by the provided structured fields.
4689    * The keys of the map are strings up to 64 bytes and must match the
4690    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
4691    * KEY_1_LIKE_THIS.
4692    * At most 100 filterable and at most 100 unfilterable keys are supported.
4693    * For filterable `string_values`, across all keys at most 200 values are
4694    * allowed, with each string no more than 255 characters. For unfilterable
4695    * `string_values`, the maximum total size of `string_values` across all keys
4696    * is 50KB.
4697    * </pre>
4698    *
4699    * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
4700    * </code>
4701    */
4702   @java.lang.Override
4703   public /* nullable */ com.google.cloud.talent.v4beta1.CustomAttribute
getCustomAttributesOrDefault( java.lang.String key, com.google.cloud.talent.v4beta1.CustomAttribute defaultValue)4704       getCustomAttributesOrDefault(
4705           java.lang.String key,
4706           /* nullable */
4707           com.google.cloud.talent.v4beta1.CustomAttribute defaultValue) {
4708     if (key == null) {
4709       throw new NullPointerException("map key");
4710     }
4711     java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> map =
4712         internalGetCustomAttributes().getMap();
4713     return map.containsKey(key) ? map.get(key) : defaultValue;
4714   }
4715   /**
4716    *
4717    *
4718    * <pre>
4719    * A map of fields to hold both filterable and non-filterable custom job
4720    * attributes that are not covered by the provided structured fields.
4721    * The keys of the map are strings up to 64 bytes and must match the
4722    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
4723    * KEY_1_LIKE_THIS.
4724    * At most 100 filterable and at most 100 unfilterable keys are supported.
4725    * For filterable `string_values`, across all keys at most 200 values are
4726    * allowed, with each string no more than 255 characters. For unfilterable
4727    * `string_values`, the maximum total size of `string_values` across all keys
4728    * is 50KB.
4729    * </pre>
4730    *
4731    * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
4732    * </code>
4733    */
4734   @java.lang.Override
getCustomAttributesOrThrow( java.lang.String key)4735   public com.google.cloud.talent.v4beta1.CustomAttribute getCustomAttributesOrThrow(
4736       java.lang.String key) {
4737     if (key == null) {
4738       throw new NullPointerException("map key");
4739     }
4740     java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> map =
4741         internalGetCustomAttributes().getMap();
4742     if (!map.containsKey(key)) {
4743       throw new java.lang.IllegalArgumentException();
4744     }
4745     return map.get(key);
4746   }
4747 
4748   public static final int DEGREE_TYPES_FIELD_NUMBER = 11;
4749 
4750   @SuppressWarnings("serial")
4751   private java.util.List<java.lang.Integer> degreeTypes_;
4752 
4753   private static final com.google.protobuf.Internal.ListAdapter.Converter<
4754           java.lang.Integer, com.google.cloud.talent.v4beta1.DegreeType>
4755       degreeTypes_converter_ =
4756           new com.google.protobuf.Internal.ListAdapter.Converter<
4757               java.lang.Integer, com.google.cloud.talent.v4beta1.DegreeType>() {
4758             public com.google.cloud.talent.v4beta1.DegreeType convert(java.lang.Integer from) {
4759               com.google.cloud.talent.v4beta1.DegreeType result =
4760                   com.google.cloud.talent.v4beta1.DegreeType.forNumber(from);
4761               return result == null
4762                   ? com.google.cloud.talent.v4beta1.DegreeType.UNRECOGNIZED
4763                   : result;
4764             }
4765           };
4766   /**
4767    *
4768    *
4769    * <pre>
4770    * The desired education degrees for the job, such as Bachelors, Masters.
4771    * </pre>
4772    *
4773    * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
4774    *
4775    * @return A list containing the degreeTypes.
4776    */
4777   @java.lang.Override
getDegreeTypesList()4778   public java.util.List<com.google.cloud.talent.v4beta1.DegreeType> getDegreeTypesList() {
4779     return new com.google.protobuf.Internal.ListAdapter<
4780         java.lang.Integer, com.google.cloud.talent.v4beta1.DegreeType>(
4781         degreeTypes_, degreeTypes_converter_);
4782   }
4783   /**
4784    *
4785    *
4786    * <pre>
4787    * The desired education degrees for the job, such as Bachelors, Masters.
4788    * </pre>
4789    *
4790    * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
4791    *
4792    * @return The count of degreeTypes.
4793    */
4794   @java.lang.Override
getDegreeTypesCount()4795   public int getDegreeTypesCount() {
4796     return degreeTypes_.size();
4797   }
4798   /**
4799    *
4800    *
4801    * <pre>
4802    * The desired education degrees for the job, such as Bachelors, Masters.
4803    * </pre>
4804    *
4805    * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
4806    *
4807    * @param index The index of the element to return.
4808    * @return The degreeTypes at the given index.
4809    */
4810   @java.lang.Override
getDegreeTypes(int index)4811   public com.google.cloud.talent.v4beta1.DegreeType getDegreeTypes(int index) {
4812     return degreeTypes_converter_.convert(degreeTypes_.get(index));
4813   }
4814   /**
4815    *
4816    *
4817    * <pre>
4818    * The desired education degrees for the job, such as Bachelors, Masters.
4819    * </pre>
4820    *
4821    * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
4822    *
4823    * @return A list containing the enum numeric values on the wire for degreeTypes.
4824    */
4825   @java.lang.Override
getDegreeTypesValueList()4826   public java.util.List<java.lang.Integer> getDegreeTypesValueList() {
4827     return degreeTypes_;
4828   }
4829   /**
4830    *
4831    *
4832    * <pre>
4833    * The desired education degrees for the job, such as Bachelors, Masters.
4834    * </pre>
4835    *
4836    * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
4837    *
4838    * @param index The index of the value to return.
4839    * @return The enum numeric value on the wire of degreeTypes at the given index.
4840    */
4841   @java.lang.Override
getDegreeTypesValue(int index)4842   public int getDegreeTypesValue(int index) {
4843     return degreeTypes_.get(index);
4844   }
4845 
4846   private int degreeTypesMemoizedSerializedSize;
4847 
4848   public static final int DEPARTMENT_FIELD_NUMBER = 12;
4849 
4850   @SuppressWarnings("serial")
4851   private volatile java.lang.Object department_ = "";
4852   /**
4853    *
4854    *
4855    * <pre>
4856    * The department or functional area within the company with the open
4857    * position.
4858    * The maximum number of allowed characters is 255.
4859    * </pre>
4860    *
4861    * <code>string department = 12;</code>
4862    *
4863    * @return The department.
4864    */
4865   @java.lang.Override
getDepartment()4866   public java.lang.String getDepartment() {
4867     java.lang.Object ref = department_;
4868     if (ref instanceof java.lang.String) {
4869       return (java.lang.String) ref;
4870     } else {
4871       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4872       java.lang.String s = bs.toStringUtf8();
4873       department_ = s;
4874       return s;
4875     }
4876   }
4877   /**
4878    *
4879    *
4880    * <pre>
4881    * The department or functional area within the company with the open
4882    * position.
4883    * The maximum number of allowed characters is 255.
4884    * </pre>
4885    *
4886    * <code>string department = 12;</code>
4887    *
4888    * @return The bytes for department.
4889    */
4890   @java.lang.Override
getDepartmentBytes()4891   public com.google.protobuf.ByteString getDepartmentBytes() {
4892     java.lang.Object ref = department_;
4893     if (ref instanceof java.lang.String) {
4894       com.google.protobuf.ByteString b =
4895           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4896       department_ = b;
4897       return b;
4898     } else {
4899       return (com.google.protobuf.ByteString) ref;
4900     }
4901   }
4902 
4903   public static final int EMPLOYMENT_TYPES_FIELD_NUMBER = 13;
4904 
4905   @SuppressWarnings("serial")
4906   private java.util.List<java.lang.Integer> employmentTypes_;
4907 
4908   private static final com.google.protobuf.Internal.ListAdapter.Converter<
4909           java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>
4910       employmentTypes_converter_ =
4911           new com.google.protobuf.Internal.ListAdapter.Converter<
4912               java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>() {
4913             public com.google.cloud.talent.v4beta1.EmploymentType convert(java.lang.Integer from) {
4914               com.google.cloud.talent.v4beta1.EmploymentType result =
4915                   com.google.cloud.talent.v4beta1.EmploymentType.forNumber(from);
4916               return result == null
4917                   ? com.google.cloud.talent.v4beta1.EmploymentType.UNRECOGNIZED
4918                   : result;
4919             }
4920           };
4921   /**
4922    *
4923    *
4924    * <pre>
4925    * The employment type(s) of a job, for example,
4926    * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
4927    * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
4928    * </pre>
4929    *
4930    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
4931    *
4932    * @return A list containing the employmentTypes.
4933    */
4934   @java.lang.Override
getEmploymentTypesList()4935   public java.util.List<com.google.cloud.talent.v4beta1.EmploymentType> getEmploymentTypesList() {
4936     return new com.google.protobuf.Internal.ListAdapter<
4937         java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>(
4938         employmentTypes_, employmentTypes_converter_);
4939   }
4940   /**
4941    *
4942    *
4943    * <pre>
4944    * The employment type(s) of a job, for example,
4945    * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
4946    * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
4947    * </pre>
4948    *
4949    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
4950    *
4951    * @return The count of employmentTypes.
4952    */
4953   @java.lang.Override
getEmploymentTypesCount()4954   public int getEmploymentTypesCount() {
4955     return employmentTypes_.size();
4956   }
4957   /**
4958    *
4959    *
4960    * <pre>
4961    * The employment type(s) of a job, for example,
4962    * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
4963    * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
4964    * </pre>
4965    *
4966    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
4967    *
4968    * @param index The index of the element to return.
4969    * @return The employmentTypes at the given index.
4970    */
4971   @java.lang.Override
getEmploymentTypes(int index)4972   public com.google.cloud.talent.v4beta1.EmploymentType getEmploymentTypes(int index) {
4973     return employmentTypes_converter_.convert(employmentTypes_.get(index));
4974   }
4975   /**
4976    *
4977    *
4978    * <pre>
4979    * The employment type(s) of a job, for example,
4980    * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
4981    * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
4982    * </pre>
4983    *
4984    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
4985    *
4986    * @return A list containing the enum numeric values on the wire for employmentTypes.
4987    */
4988   @java.lang.Override
getEmploymentTypesValueList()4989   public java.util.List<java.lang.Integer> getEmploymentTypesValueList() {
4990     return employmentTypes_;
4991   }
4992   /**
4993    *
4994    *
4995    * <pre>
4996    * The employment type(s) of a job, for example,
4997    * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
4998    * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
4999    * </pre>
5000    *
5001    * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
5002    *
5003    * @param index The index of the value to return.
5004    * @return The enum numeric value on the wire of employmentTypes at the given index.
5005    */
5006   @java.lang.Override
getEmploymentTypesValue(int index)5007   public int getEmploymentTypesValue(int index) {
5008     return employmentTypes_.get(index);
5009   }
5010 
5011   private int employmentTypesMemoizedSerializedSize;
5012 
5013   public static final int INCENTIVES_FIELD_NUMBER = 14;
5014 
5015   @SuppressWarnings("serial")
5016   private volatile java.lang.Object incentives_ = "";
5017   /**
5018    *
5019    *
5020    * <pre>
5021    * A description of bonus, commission, and other compensation
5022    * incentives associated with the job not including salary or pay.
5023    * The maximum number of allowed characters is 10,000.
5024    * </pre>
5025    *
5026    * <code>string incentives = 14;</code>
5027    *
5028    * @return The incentives.
5029    */
5030   @java.lang.Override
getIncentives()5031   public java.lang.String getIncentives() {
5032     java.lang.Object ref = incentives_;
5033     if (ref instanceof java.lang.String) {
5034       return (java.lang.String) ref;
5035     } else {
5036       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5037       java.lang.String s = bs.toStringUtf8();
5038       incentives_ = s;
5039       return s;
5040     }
5041   }
5042   /**
5043    *
5044    *
5045    * <pre>
5046    * A description of bonus, commission, and other compensation
5047    * incentives associated with the job not including salary or pay.
5048    * The maximum number of allowed characters is 10,000.
5049    * </pre>
5050    *
5051    * <code>string incentives = 14;</code>
5052    *
5053    * @return The bytes for incentives.
5054    */
5055   @java.lang.Override
getIncentivesBytes()5056   public com.google.protobuf.ByteString getIncentivesBytes() {
5057     java.lang.Object ref = incentives_;
5058     if (ref instanceof java.lang.String) {
5059       com.google.protobuf.ByteString b =
5060           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5061       incentives_ = b;
5062       return b;
5063     } else {
5064       return (com.google.protobuf.ByteString) ref;
5065     }
5066   }
5067 
5068   public static final int LANGUAGE_CODE_FIELD_NUMBER = 15;
5069 
5070   @SuppressWarnings("serial")
5071   private volatile java.lang.Object languageCode_ = "";
5072   /**
5073    *
5074    *
5075    * <pre>
5076    * The language of the posting. This field is distinct from
5077    * any requirements for fluency that are associated with the job.
5078    * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
5079    * For more information, see
5080    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
5081    * class="external" target="_blank" }.
5082    * If this field is unspecified and
5083    * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
5084    * detected language code based on
5085    * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
5086    * otherwise defaults to 'en_US'.
5087    * </pre>
5088    *
5089    * <code>string language_code = 15;</code>
5090    *
5091    * @return The languageCode.
5092    */
5093   @java.lang.Override
getLanguageCode()5094   public java.lang.String getLanguageCode() {
5095     java.lang.Object ref = languageCode_;
5096     if (ref instanceof java.lang.String) {
5097       return (java.lang.String) ref;
5098     } else {
5099       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5100       java.lang.String s = bs.toStringUtf8();
5101       languageCode_ = s;
5102       return s;
5103     }
5104   }
5105   /**
5106    *
5107    *
5108    * <pre>
5109    * The language of the posting. This field is distinct from
5110    * any requirements for fluency that are associated with the job.
5111    * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
5112    * For more information, see
5113    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
5114    * class="external" target="_blank" }.
5115    * If this field is unspecified and
5116    * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
5117    * detected language code based on
5118    * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
5119    * otherwise defaults to 'en_US'.
5120    * </pre>
5121    *
5122    * <code>string language_code = 15;</code>
5123    *
5124    * @return The bytes for languageCode.
5125    */
5126   @java.lang.Override
getLanguageCodeBytes()5127   public com.google.protobuf.ByteString getLanguageCodeBytes() {
5128     java.lang.Object ref = languageCode_;
5129     if (ref instanceof java.lang.String) {
5130       com.google.protobuf.ByteString b =
5131           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5132       languageCode_ = b;
5133       return b;
5134     } else {
5135       return (com.google.protobuf.ByteString) ref;
5136     }
5137   }
5138 
5139   public static final int JOB_LEVEL_FIELD_NUMBER = 16;
5140   private int jobLevel_ = 0;
5141   /**
5142    *
5143    *
5144    * <pre>
5145    * The experience level associated with the job, such as "Entry Level".
5146    * </pre>
5147    *
5148    * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
5149    *
5150    * @return The enum numeric value on the wire for jobLevel.
5151    */
5152   @java.lang.Override
getJobLevelValue()5153   public int getJobLevelValue() {
5154     return jobLevel_;
5155   }
5156   /**
5157    *
5158    *
5159    * <pre>
5160    * The experience level associated with the job, such as "Entry Level".
5161    * </pre>
5162    *
5163    * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
5164    *
5165    * @return The jobLevel.
5166    */
5167   @java.lang.Override
getJobLevel()5168   public com.google.cloud.talent.v4beta1.JobLevel getJobLevel() {
5169     com.google.cloud.talent.v4beta1.JobLevel result =
5170         com.google.cloud.talent.v4beta1.JobLevel.forNumber(jobLevel_);
5171     return result == null ? com.google.cloud.talent.v4beta1.JobLevel.UNRECOGNIZED : result;
5172   }
5173 
5174   public static final int PROMOTION_VALUE_FIELD_NUMBER = 17;
5175   private int promotionValue_ = 0;
5176   /**
5177    *
5178    *
5179    * <pre>
5180    * A promotion value of the job, as determined by the client.
5181    * The value determines the sort order of the jobs returned when searching for
5182    * jobs using the featured jobs search call, with higher promotional values
5183    * being returned first and ties being resolved by relevance sort. Only the
5184    * jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
5185    * Default value is 0, and negative values are treated as 0.
5186    * </pre>
5187    *
5188    * <code>int32 promotion_value = 17;</code>
5189    *
5190    * @return The promotionValue.
5191    */
5192   @java.lang.Override
getPromotionValue()5193   public int getPromotionValue() {
5194     return promotionValue_;
5195   }
5196 
5197   public static final int QUALIFICATIONS_FIELD_NUMBER = 18;
5198 
5199   @SuppressWarnings("serial")
5200   private volatile java.lang.Object qualifications_ = "";
5201   /**
5202    *
5203    *
5204    * <pre>
5205    * A description of the qualifications required to perform the
5206    * job. The use of this field is recommended
5207    * as an alternative to using the more general
5208    * [description][google.cloud.talent.v4beta1.Job.description] field.
5209    * This field accepts and sanitizes HTML input, and also accepts
5210    * bold, italic, ordered list, and unordered list markup tags.
5211    * The maximum number of allowed characters is 10,000.
5212    * </pre>
5213    *
5214    * <code>string qualifications = 18;</code>
5215    *
5216    * @return The qualifications.
5217    */
5218   @java.lang.Override
getQualifications()5219   public java.lang.String getQualifications() {
5220     java.lang.Object ref = qualifications_;
5221     if (ref instanceof java.lang.String) {
5222       return (java.lang.String) ref;
5223     } else {
5224       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5225       java.lang.String s = bs.toStringUtf8();
5226       qualifications_ = s;
5227       return s;
5228     }
5229   }
5230   /**
5231    *
5232    *
5233    * <pre>
5234    * A description of the qualifications required to perform the
5235    * job. The use of this field is recommended
5236    * as an alternative to using the more general
5237    * [description][google.cloud.talent.v4beta1.Job.description] field.
5238    * This field accepts and sanitizes HTML input, and also accepts
5239    * bold, italic, ordered list, and unordered list markup tags.
5240    * The maximum number of allowed characters is 10,000.
5241    * </pre>
5242    *
5243    * <code>string qualifications = 18;</code>
5244    *
5245    * @return The bytes for qualifications.
5246    */
5247   @java.lang.Override
getQualificationsBytes()5248   public com.google.protobuf.ByteString getQualificationsBytes() {
5249     java.lang.Object ref = qualifications_;
5250     if (ref instanceof java.lang.String) {
5251       com.google.protobuf.ByteString b =
5252           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5253       qualifications_ = b;
5254       return b;
5255     } else {
5256       return (com.google.protobuf.ByteString) ref;
5257     }
5258   }
5259 
5260   public static final int RESPONSIBILITIES_FIELD_NUMBER = 19;
5261 
5262   @SuppressWarnings("serial")
5263   private volatile java.lang.Object responsibilities_ = "";
5264   /**
5265    *
5266    *
5267    * <pre>
5268    * A description of job responsibilities. The use of this field is
5269    * recommended as an alternative to using the more general
5270    * [description][google.cloud.talent.v4beta1.Job.description] field.
5271    * This field accepts and sanitizes HTML input, and also accepts
5272    * bold, italic, ordered list, and unordered list markup tags.
5273    * The maximum number of allowed characters is 10,000.
5274    * </pre>
5275    *
5276    * <code>string responsibilities = 19;</code>
5277    *
5278    * @return The responsibilities.
5279    */
5280   @java.lang.Override
getResponsibilities()5281   public java.lang.String getResponsibilities() {
5282     java.lang.Object ref = responsibilities_;
5283     if (ref instanceof java.lang.String) {
5284       return (java.lang.String) ref;
5285     } else {
5286       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5287       java.lang.String s = bs.toStringUtf8();
5288       responsibilities_ = s;
5289       return s;
5290     }
5291   }
5292   /**
5293    *
5294    *
5295    * <pre>
5296    * A description of job responsibilities. The use of this field is
5297    * recommended as an alternative to using the more general
5298    * [description][google.cloud.talent.v4beta1.Job.description] field.
5299    * This field accepts and sanitizes HTML input, and also accepts
5300    * bold, italic, ordered list, and unordered list markup tags.
5301    * The maximum number of allowed characters is 10,000.
5302    * </pre>
5303    *
5304    * <code>string responsibilities = 19;</code>
5305    *
5306    * @return The bytes for responsibilities.
5307    */
5308   @java.lang.Override
getResponsibilitiesBytes()5309   public com.google.protobuf.ByteString getResponsibilitiesBytes() {
5310     java.lang.Object ref = responsibilities_;
5311     if (ref instanceof java.lang.String) {
5312       com.google.protobuf.ByteString b =
5313           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5314       responsibilities_ = b;
5315       return b;
5316     } else {
5317       return (com.google.protobuf.ByteString) ref;
5318     }
5319   }
5320 
5321   public static final int POSTING_REGION_FIELD_NUMBER = 20;
5322   private int postingRegion_ = 0;
5323   /**
5324    *
5325    *
5326    * <pre>
5327    * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
5328    * example, state, country) throughout which the job is available. If this
5329    * field is set, a
5330    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
5331    * query within the job region finds this job posting if an exact location
5332    * match isn't specified. If this field is set to
5333    * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
5334    * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
5335    * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
5336    * the same location level as this field is strongly recommended.
5337    * </pre>
5338    *
5339    * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
5340    *
5341    * @return The enum numeric value on the wire for postingRegion.
5342    */
5343   @java.lang.Override
getPostingRegionValue()5344   public int getPostingRegionValue() {
5345     return postingRegion_;
5346   }
5347   /**
5348    *
5349    *
5350    * <pre>
5351    * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
5352    * example, state, country) throughout which the job is available. If this
5353    * field is set, a
5354    * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
5355    * query within the job region finds this job posting if an exact location
5356    * match isn't specified. If this field is set to
5357    * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
5358    * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
5359    * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
5360    * the same location level as this field is strongly recommended.
5361    * </pre>
5362    *
5363    * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
5364    *
5365    * @return The postingRegion.
5366    */
5367   @java.lang.Override
getPostingRegion()5368   public com.google.cloud.talent.v4beta1.PostingRegion getPostingRegion() {
5369     com.google.cloud.talent.v4beta1.PostingRegion result =
5370         com.google.cloud.talent.v4beta1.PostingRegion.forNumber(postingRegion_);
5371     return result == null ? com.google.cloud.talent.v4beta1.PostingRegion.UNRECOGNIZED : result;
5372   }
5373 
5374   public static final int VISIBILITY_FIELD_NUMBER = 21;
5375   private int visibility_ = 0;
5376   /**
5377    *
5378    *
5379    * <pre>
5380    * Deprecated. The job is only visible to the owner.
5381    * The visibility of the job.
5382    * Defaults to
5383    * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
5384    * if not specified.
5385    * </pre>
5386    *
5387    * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
5388    *
5389    * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
5390    *     google/cloud/talent/v4beta1/job.proto;l=296
5391    * @return The enum numeric value on the wire for visibility.
5392    */
5393   @java.lang.Override
5394   @java.lang.Deprecated
getVisibilityValue()5395   public int getVisibilityValue() {
5396     return visibility_;
5397   }
5398   /**
5399    *
5400    *
5401    * <pre>
5402    * Deprecated. The job is only visible to the owner.
5403    * The visibility of the job.
5404    * Defaults to
5405    * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
5406    * if not specified.
5407    * </pre>
5408    *
5409    * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
5410    *
5411    * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
5412    *     google/cloud/talent/v4beta1/job.proto;l=296
5413    * @return The visibility.
5414    */
5415   @java.lang.Override
5416   @java.lang.Deprecated
getVisibility()5417   public com.google.cloud.talent.v4beta1.Visibility getVisibility() {
5418     com.google.cloud.talent.v4beta1.Visibility result =
5419         com.google.cloud.talent.v4beta1.Visibility.forNumber(visibility_);
5420     return result == null ? com.google.cloud.talent.v4beta1.Visibility.UNRECOGNIZED : result;
5421   }
5422 
5423   public static final int JOB_START_TIME_FIELD_NUMBER = 22;
5424   private com.google.protobuf.Timestamp jobStartTime_;
5425   /**
5426    *
5427    *
5428    * <pre>
5429    * The start timestamp of the job in UTC time zone. Typically this field
5430    * is used for contracting engagements. Invalid timestamps are ignored.
5431    * </pre>
5432    *
5433    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
5434    *
5435    * @return Whether the jobStartTime field is set.
5436    */
5437   @java.lang.Override
hasJobStartTime()5438   public boolean hasJobStartTime() {
5439     return jobStartTime_ != null;
5440   }
5441   /**
5442    *
5443    *
5444    * <pre>
5445    * The start timestamp of the job in UTC time zone. Typically this field
5446    * is used for contracting engagements. Invalid timestamps are ignored.
5447    * </pre>
5448    *
5449    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
5450    *
5451    * @return The jobStartTime.
5452    */
5453   @java.lang.Override
getJobStartTime()5454   public com.google.protobuf.Timestamp getJobStartTime() {
5455     return jobStartTime_ == null
5456         ? com.google.protobuf.Timestamp.getDefaultInstance()
5457         : jobStartTime_;
5458   }
5459   /**
5460    *
5461    *
5462    * <pre>
5463    * The start timestamp of the job in UTC time zone. Typically this field
5464    * is used for contracting engagements. Invalid timestamps are ignored.
5465    * </pre>
5466    *
5467    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
5468    */
5469   @java.lang.Override
getJobStartTimeOrBuilder()5470   public com.google.protobuf.TimestampOrBuilder getJobStartTimeOrBuilder() {
5471     return jobStartTime_ == null
5472         ? com.google.protobuf.Timestamp.getDefaultInstance()
5473         : jobStartTime_;
5474   }
5475 
5476   public static final int JOB_END_TIME_FIELD_NUMBER = 23;
5477   private com.google.protobuf.Timestamp jobEndTime_;
5478   /**
5479    *
5480    *
5481    * <pre>
5482    * The end timestamp of the job. Typically this field is used for contracting
5483    * engagements. Invalid timestamps are ignored.
5484    * </pre>
5485    *
5486    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
5487    *
5488    * @return Whether the jobEndTime field is set.
5489    */
5490   @java.lang.Override
hasJobEndTime()5491   public boolean hasJobEndTime() {
5492     return jobEndTime_ != null;
5493   }
5494   /**
5495    *
5496    *
5497    * <pre>
5498    * The end timestamp of the job. Typically this field is used for contracting
5499    * engagements. Invalid timestamps are ignored.
5500    * </pre>
5501    *
5502    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
5503    *
5504    * @return The jobEndTime.
5505    */
5506   @java.lang.Override
getJobEndTime()5507   public com.google.protobuf.Timestamp getJobEndTime() {
5508     return jobEndTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : jobEndTime_;
5509   }
5510   /**
5511    *
5512    *
5513    * <pre>
5514    * The end timestamp of the job. Typically this field is used for contracting
5515    * engagements. Invalid timestamps are ignored.
5516    * </pre>
5517    *
5518    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
5519    */
5520   @java.lang.Override
getJobEndTimeOrBuilder()5521   public com.google.protobuf.TimestampOrBuilder getJobEndTimeOrBuilder() {
5522     return jobEndTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : jobEndTime_;
5523   }
5524 
5525   public static final int POSTING_PUBLISH_TIME_FIELD_NUMBER = 24;
5526   private com.google.protobuf.Timestamp postingPublishTime_;
5527   /**
5528    *
5529    *
5530    * <pre>
5531    * The timestamp this job posting was most recently published. The default
5532    * value is the time the request arrives at the server. Invalid timestamps are
5533    * ignored.
5534    * </pre>
5535    *
5536    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
5537    *
5538    * @return Whether the postingPublishTime field is set.
5539    */
5540   @java.lang.Override
hasPostingPublishTime()5541   public boolean hasPostingPublishTime() {
5542     return postingPublishTime_ != null;
5543   }
5544   /**
5545    *
5546    *
5547    * <pre>
5548    * The timestamp this job posting was most recently published. The default
5549    * value is the time the request arrives at the server. Invalid timestamps are
5550    * ignored.
5551    * </pre>
5552    *
5553    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
5554    *
5555    * @return The postingPublishTime.
5556    */
5557   @java.lang.Override
getPostingPublishTime()5558   public com.google.protobuf.Timestamp getPostingPublishTime() {
5559     return postingPublishTime_ == null
5560         ? com.google.protobuf.Timestamp.getDefaultInstance()
5561         : postingPublishTime_;
5562   }
5563   /**
5564    *
5565    *
5566    * <pre>
5567    * The timestamp this job posting was most recently published. The default
5568    * value is the time the request arrives at the server. Invalid timestamps are
5569    * ignored.
5570    * </pre>
5571    *
5572    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
5573    */
5574   @java.lang.Override
getPostingPublishTimeOrBuilder()5575   public com.google.protobuf.TimestampOrBuilder getPostingPublishTimeOrBuilder() {
5576     return postingPublishTime_ == null
5577         ? com.google.protobuf.Timestamp.getDefaultInstance()
5578         : postingPublishTime_;
5579   }
5580 
5581   public static final int POSTING_EXPIRE_TIME_FIELD_NUMBER = 25;
5582   private com.google.protobuf.Timestamp postingExpireTime_;
5583   /**
5584    *
5585    *
5586    * <pre>
5587    * Strongly recommended for the best service experience.
5588    * The expiration timestamp of the job. After this timestamp, the
5589    * job is marked as expired, and it no longer appears in search results. The
5590    * expired job can't be listed by the
5591    * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
5592    * be retrieved with the
5593    * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
5594    * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
5595    * deleted with the
5596    * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
5597    * expired job can be updated and opened again by using a future expiration
5598    * timestamp. Updating an expired job fails if there is another existing open
5599    * job with same [company][google.cloud.talent.v4beta1.Job.company],
5600    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
5601    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
5602    * The expired jobs are retained in our system for 90 days. However, the
5603    * overall expired job count cannot exceed 3 times the maximum number of
5604    * open jobs over previous 7 days. If this threshold is exceeded,
5605    * expired jobs are cleaned out in order of earliest expire time.
5606    * Expired jobs are no longer accessible after they are cleaned
5607    * out.
5608    * Invalid timestamps are ignored, and treated as expire time not provided.
5609    * If the timestamp is before the instant request is made, the job
5610    * is treated as expired immediately on creation. This kind of job can
5611    * not be updated. And when creating a job with past timestamp, the
5612    * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
5613    * must be set before
5614    * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
5615    * The purpose of this feature is to allow other objects, such as
5616    * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
5617    * didn't exist in the system prior to becoming expired. If you want to modify
5618    * a job that was expired on creation, delete it and create a new one.
5619    * If this value isn't provided at the time of job creation or is invalid,
5620    * the job posting expires after 30 days from the job's creation time. For
5621    * example, if the job was created on 2017/01/01 13:00AM UTC with an
5622    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
5623    * If this value isn't provided on job update, it depends on the field masks
5624    * set by
5625    * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
5626    * If the field masks include
5627    * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
5628    * are empty meaning that every field is updated, the job posting expires
5629    * after 30 days from the job's last update time. Otherwise the expiration
5630    * date isn't updated.
5631    * </pre>
5632    *
5633    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
5634    *
5635    * @return Whether the postingExpireTime field is set.
5636    */
5637   @java.lang.Override
hasPostingExpireTime()5638   public boolean hasPostingExpireTime() {
5639     return postingExpireTime_ != null;
5640   }
5641   /**
5642    *
5643    *
5644    * <pre>
5645    * Strongly recommended for the best service experience.
5646    * The expiration timestamp of the job. After this timestamp, the
5647    * job is marked as expired, and it no longer appears in search results. The
5648    * expired job can't be listed by the
5649    * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
5650    * be retrieved with the
5651    * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
5652    * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
5653    * deleted with the
5654    * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
5655    * expired job can be updated and opened again by using a future expiration
5656    * timestamp. Updating an expired job fails if there is another existing open
5657    * job with same [company][google.cloud.talent.v4beta1.Job.company],
5658    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
5659    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
5660    * The expired jobs are retained in our system for 90 days. However, the
5661    * overall expired job count cannot exceed 3 times the maximum number of
5662    * open jobs over previous 7 days. If this threshold is exceeded,
5663    * expired jobs are cleaned out in order of earliest expire time.
5664    * Expired jobs are no longer accessible after they are cleaned
5665    * out.
5666    * Invalid timestamps are ignored, and treated as expire time not provided.
5667    * If the timestamp is before the instant request is made, the job
5668    * is treated as expired immediately on creation. This kind of job can
5669    * not be updated. And when creating a job with past timestamp, the
5670    * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
5671    * must be set before
5672    * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
5673    * The purpose of this feature is to allow other objects, such as
5674    * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
5675    * didn't exist in the system prior to becoming expired. If you want to modify
5676    * a job that was expired on creation, delete it and create a new one.
5677    * If this value isn't provided at the time of job creation or is invalid,
5678    * the job posting expires after 30 days from the job's creation time. For
5679    * example, if the job was created on 2017/01/01 13:00AM UTC with an
5680    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
5681    * If this value isn't provided on job update, it depends on the field masks
5682    * set by
5683    * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
5684    * If the field masks include
5685    * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
5686    * are empty meaning that every field is updated, the job posting expires
5687    * after 30 days from the job's last update time. Otherwise the expiration
5688    * date isn't updated.
5689    * </pre>
5690    *
5691    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
5692    *
5693    * @return The postingExpireTime.
5694    */
5695   @java.lang.Override
getPostingExpireTime()5696   public com.google.protobuf.Timestamp getPostingExpireTime() {
5697     return postingExpireTime_ == null
5698         ? com.google.protobuf.Timestamp.getDefaultInstance()
5699         : postingExpireTime_;
5700   }
5701   /**
5702    *
5703    *
5704    * <pre>
5705    * Strongly recommended for the best service experience.
5706    * The expiration timestamp of the job. After this timestamp, the
5707    * job is marked as expired, and it no longer appears in search results. The
5708    * expired job can't be listed by the
5709    * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
5710    * be retrieved with the
5711    * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
5712    * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
5713    * deleted with the
5714    * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
5715    * expired job can be updated and opened again by using a future expiration
5716    * timestamp. Updating an expired job fails if there is another existing open
5717    * job with same [company][google.cloud.talent.v4beta1.Job.company],
5718    * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
5719    * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
5720    * The expired jobs are retained in our system for 90 days. However, the
5721    * overall expired job count cannot exceed 3 times the maximum number of
5722    * open jobs over previous 7 days. If this threshold is exceeded,
5723    * expired jobs are cleaned out in order of earliest expire time.
5724    * Expired jobs are no longer accessible after they are cleaned
5725    * out.
5726    * Invalid timestamps are ignored, and treated as expire time not provided.
5727    * If the timestamp is before the instant request is made, the job
5728    * is treated as expired immediately on creation. This kind of job can
5729    * not be updated. And when creating a job with past timestamp, the
5730    * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
5731    * must be set before
5732    * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
5733    * The purpose of this feature is to allow other objects, such as
5734    * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
5735    * didn't exist in the system prior to becoming expired. If you want to modify
5736    * a job that was expired on creation, delete it and create a new one.
5737    * If this value isn't provided at the time of job creation or is invalid,
5738    * the job posting expires after 30 days from the job's creation time. For
5739    * example, if the job was created on 2017/01/01 13:00AM UTC with an
5740    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
5741    * If this value isn't provided on job update, it depends on the field masks
5742    * set by
5743    * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
5744    * If the field masks include
5745    * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
5746    * are empty meaning that every field is updated, the job posting expires
5747    * after 30 days from the job's last update time. Otherwise the expiration
5748    * date isn't updated.
5749    * </pre>
5750    *
5751    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
5752    */
5753   @java.lang.Override
getPostingExpireTimeOrBuilder()5754   public com.google.protobuf.TimestampOrBuilder getPostingExpireTimeOrBuilder() {
5755     return postingExpireTime_ == null
5756         ? com.google.protobuf.Timestamp.getDefaultInstance()
5757         : postingExpireTime_;
5758   }
5759 
5760   public static final int POSTING_CREATE_TIME_FIELD_NUMBER = 26;
5761   private com.google.protobuf.Timestamp postingCreateTime_;
5762   /**
5763    *
5764    *
5765    * <pre>
5766    * Output only. The timestamp when this job posting was created.
5767    * </pre>
5768    *
5769    * <code>
5770    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
5771    * </code>
5772    *
5773    * @return Whether the postingCreateTime field is set.
5774    */
5775   @java.lang.Override
hasPostingCreateTime()5776   public boolean hasPostingCreateTime() {
5777     return postingCreateTime_ != null;
5778   }
5779   /**
5780    *
5781    *
5782    * <pre>
5783    * Output only. The timestamp when this job posting was created.
5784    * </pre>
5785    *
5786    * <code>
5787    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
5788    * </code>
5789    *
5790    * @return The postingCreateTime.
5791    */
5792   @java.lang.Override
getPostingCreateTime()5793   public com.google.protobuf.Timestamp getPostingCreateTime() {
5794     return postingCreateTime_ == null
5795         ? com.google.protobuf.Timestamp.getDefaultInstance()
5796         : postingCreateTime_;
5797   }
5798   /**
5799    *
5800    *
5801    * <pre>
5802    * Output only. The timestamp when this job posting was created.
5803    * </pre>
5804    *
5805    * <code>
5806    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
5807    * </code>
5808    */
5809   @java.lang.Override
getPostingCreateTimeOrBuilder()5810   public com.google.protobuf.TimestampOrBuilder getPostingCreateTimeOrBuilder() {
5811     return postingCreateTime_ == null
5812         ? com.google.protobuf.Timestamp.getDefaultInstance()
5813         : postingCreateTime_;
5814   }
5815 
5816   public static final int POSTING_UPDATE_TIME_FIELD_NUMBER = 27;
5817   private com.google.protobuf.Timestamp postingUpdateTime_;
5818   /**
5819    *
5820    *
5821    * <pre>
5822    * Output only. The timestamp when this job posting was last updated.
5823    * </pre>
5824    *
5825    * <code>
5826    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
5827    * </code>
5828    *
5829    * @return Whether the postingUpdateTime field is set.
5830    */
5831   @java.lang.Override
hasPostingUpdateTime()5832   public boolean hasPostingUpdateTime() {
5833     return postingUpdateTime_ != null;
5834   }
5835   /**
5836    *
5837    *
5838    * <pre>
5839    * Output only. The timestamp when this job posting was last updated.
5840    * </pre>
5841    *
5842    * <code>
5843    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
5844    * </code>
5845    *
5846    * @return The postingUpdateTime.
5847    */
5848   @java.lang.Override
getPostingUpdateTime()5849   public com.google.protobuf.Timestamp getPostingUpdateTime() {
5850     return postingUpdateTime_ == null
5851         ? com.google.protobuf.Timestamp.getDefaultInstance()
5852         : postingUpdateTime_;
5853   }
5854   /**
5855    *
5856    *
5857    * <pre>
5858    * Output only. The timestamp when this job posting was last updated.
5859    * </pre>
5860    *
5861    * <code>
5862    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
5863    * </code>
5864    */
5865   @java.lang.Override
getPostingUpdateTimeOrBuilder()5866   public com.google.protobuf.TimestampOrBuilder getPostingUpdateTimeOrBuilder() {
5867     return postingUpdateTime_ == null
5868         ? com.google.protobuf.Timestamp.getDefaultInstance()
5869         : postingUpdateTime_;
5870   }
5871 
5872   public static final int COMPANY_DISPLAY_NAME_FIELD_NUMBER = 28;
5873 
5874   @SuppressWarnings("serial")
5875   private volatile java.lang.Object companyDisplayName_ = "";
5876   /**
5877    *
5878    *
5879    * <pre>
5880    * Output only. Display name of the company listing the job.
5881    * </pre>
5882    *
5883    * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5884    *
5885    * @return The companyDisplayName.
5886    */
5887   @java.lang.Override
getCompanyDisplayName()5888   public java.lang.String getCompanyDisplayName() {
5889     java.lang.Object ref = companyDisplayName_;
5890     if (ref instanceof java.lang.String) {
5891       return (java.lang.String) ref;
5892     } else {
5893       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5894       java.lang.String s = bs.toStringUtf8();
5895       companyDisplayName_ = s;
5896       return s;
5897     }
5898   }
5899   /**
5900    *
5901    *
5902    * <pre>
5903    * Output only. Display name of the company listing the job.
5904    * </pre>
5905    *
5906    * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
5907    *
5908    * @return The bytes for companyDisplayName.
5909    */
5910   @java.lang.Override
getCompanyDisplayNameBytes()5911   public com.google.protobuf.ByteString getCompanyDisplayNameBytes() {
5912     java.lang.Object ref = companyDisplayName_;
5913     if (ref instanceof java.lang.String) {
5914       com.google.protobuf.ByteString b =
5915           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5916       companyDisplayName_ = b;
5917       return b;
5918     } else {
5919       return (com.google.protobuf.ByteString) ref;
5920     }
5921   }
5922 
5923   public static final int DERIVED_INFO_FIELD_NUMBER = 29;
5924   private com.google.cloud.talent.v4beta1.Job.DerivedInfo derivedInfo_;
5925   /**
5926    *
5927    *
5928    * <pre>
5929    * Output only. Derived details about the job posting.
5930    * </pre>
5931    *
5932    * <code>
5933    * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
5934    * </code>
5935    *
5936    * @return Whether the derivedInfo field is set.
5937    */
5938   @java.lang.Override
hasDerivedInfo()5939   public boolean hasDerivedInfo() {
5940     return derivedInfo_ != null;
5941   }
5942   /**
5943    *
5944    *
5945    * <pre>
5946    * Output only. Derived details about the job posting.
5947    * </pre>
5948    *
5949    * <code>
5950    * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
5951    * </code>
5952    *
5953    * @return The derivedInfo.
5954    */
5955   @java.lang.Override
getDerivedInfo()5956   public com.google.cloud.talent.v4beta1.Job.DerivedInfo getDerivedInfo() {
5957     return derivedInfo_ == null
5958         ? com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance()
5959         : derivedInfo_;
5960   }
5961   /**
5962    *
5963    *
5964    * <pre>
5965    * Output only. Derived details about the job posting.
5966    * </pre>
5967    *
5968    * <code>
5969    * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
5970    * </code>
5971    */
5972   @java.lang.Override
getDerivedInfoOrBuilder()5973   public com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder getDerivedInfoOrBuilder() {
5974     return derivedInfo_ == null
5975         ? com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance()
5976         : derivedInfo_;
5977   }
5978 
5979   public static final int PROCESSING_OPTIONS_FIELD_NUMBER = 30;
5980   private com.google.cloud.talent.v4beta1.Job.ProcessingOptions processingOptions_;
5981   /**
5982    *
5983    *
5984    * <pre>
5985    * Options for job processing.
5986    * </pre>
5987    *
5988    * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
5989    *
5990    * @return Whether the processingOptions field is set.
5991    */
5992   @java.lang.Override
hasProcessingOptions()5993   public boolean hasProcessingOptions() {
5994     return processingOptions_ != null;
5995   }
5996   /**
5997    *
5998    *
5999    * <pre>
6000    * Options for job processing.
6001    * </pre>
6002    *
6003    * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
6004    *
6005    * @return The processingOptions.
6006    */
6007   @java.lang.Override
getProcessingOptions()6008   public com.google.cloud.talent.v4beta1.Job.ProcessingOptions getProcessingOptions() {
6009     return processingOptions_ == null
6010         ? com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance()
6011         : processingOptions_;
6012   }
6013   /**
6014    *
6015    *
6016    * <pre>
6017    * Options for job processing.
6018    * </pre>
6019    *
6020    * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
6021    */
6022   @java.lang.Override
6023   public com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder
getProcessingOptionsOrBuilder()6024       getProcessingOptionsOrBuilder() {
6025     return processingOptions_ == null
6026         ? com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance()
6027         : processingOptions_;
6028   }
6029 
6030   private byte memoizedIsInitialized = -1;
6031 
6032   @java.lang.Override
isInitialized()6033   public final boolean isInitialized() {
6034     byte isInitialized = memoizedIsInitialized;
6035     if (isInitialized == 1) return true;
6036     if (isInitialized == 0) return false;
6037 
6038     memoizedIsInitialized = 1;
6039     return true;
6040   }
6041 
6042   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)6043   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
6044     getSerializedSize();
6045     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
6046       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
6047     }
6048     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(company_)) {
6049       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, company_);
6050     }
6051     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(requisitionId_)) {
6052       com.google.protobuf.GeneratedMessageV3.writeString(output, 3, requisitionId_);
6053     }
6054     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
6055       com.google.protobuf.GeneratedMessageV3.writeString(output, 4, title_);
6056     }
6057     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
6058       com.google.protobuf.GeneratedMessageV3.writeString(output, 5, description_);
6059     }
6060     for (int i = 0; i < addresses_.size(); i++) {
6061       com.google.protobuf.GeneratedMessageV3.writeString(output, 6, addresses_.getRaw(i));
6062     }
6063     if (applicationInfo_ != null) {
6064       output.writeMessage(7, getApplicationInfo());
6065     }
6066     if (getJobBenefitsList().size() > 0) {
6067       output.writeUInt32NoTag(66);
6068       output.writeUInt32NoTag(jobBenefitsMemoizedSerializedSize);
6069     }
6070     for (int i = 0; i < jobBenefits_.size(); i++) {
6071       output.writeEnumNoTag(jobBenefits_.get(i));
6072     }
6073     if (compensationInfo_ != null) {
6074       output.writeMessage(9, getCompensationInfo());
6075     }
6076     com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
6077         output, internalGetCustomAttributes(), CustomAttributesDefaultEntryHolder.defaultEntry, 10);
6078     if (getDegreeTypesList().size() > 0) {
6079       output.writeUInt32NoTag(90);
6080       output.writeUInt32NoTag(degreeTypesMemoizedSerializedSize);
6081     }
6082     for (int i = 0; i < degreeTypes_.size(); i++) {
6083       output.writeEnumNoTag(degreeTypes_.get(i));
6084     }
6085     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(department_)) {
6086       com.google.protobuf.GeneratedMessageV3.writeString(output, 12, department_);
6087     }
6088     if (getEmploymentTypesList().size() > 0) {
6089       output.writeUInt32NoTag(106);
6090       output.writeUInt32NoTag(employmentTypesMemoizedSerializedSize);
6091     }
6092     for (int i = 0; i < employmentTypes_.size(); i++) {
6093       output.writeEnumNoTag(employmentTypes_.get(i));
6094     }
6095     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(incentives_)) {
6096       com.google.protobuf.GeneratedMessageV3.writeString(output, 14, incentives_);
6097     }
6098     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
6099       com.google.protobuf.GeneratedMessageV3.writeString(output, 15, languageCode_);
6100     }
6101     if (jobLevel_ != com.google.cloud.talent.v4beta1.JobLevel.JOB_LEVEL_UNSPECIFIED.getNumber()) {
6102       output.writeEnum(16, jobLevel_);
6103     }
6104     if (promotionValue_ != 0) {
6105       output.writeInt32(17, promotionValue_);
6106     }
6107     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(qualifications_)) {
6108       com.google.protobuf.GeneratedMessageV3.writeString(output, 18, qualifications_);
6109     }
6110     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(responsibilities_)) {
6111       com.google.protobuf.GeneratedMessageV3.writeString(output, 19, responsibilities_);
6112     }
6113     if (postingRegion_
6114         != com.google.cloud.talent.v4beta1.PostingRegion.POSTING_REGION_UNSPECIFIED.getNumber()) {
6115       output.writeEnum(20, postingRegion_);
6116     }
6117     if (visibility_
6118         != com.google.cloud.talent.v4beta1.Visibility.VISIBILITY_UNSPECIFIED.getNumber()) {
6119       output.writeEnum(21, visibility_);
6120     }
6121     if (jobStartTime_ != null) {
6122       output.writeMessage(22, getJobStartTime());
6123     }
6124     if (jobEndTime_ != null) {
6125       output.writeMessage(23, getJobEndTime());
6126     }
6127     if (postingPublishTime_ != null) {
6128       output.writeMessage(24, getPostingPublishTime());
6129     }
6130     if (postingExpireTime_ != null) {
6131       output.writeMessage(25, getPostingExpireTime());
6132     }
6133     if (postingCreateTime_ != null) {
6134       output.writeMessage(26, getPostingCreateTime());
6135     }
6136     if (postingUpdateTime_ != null) {
6137       output.writeMessage(27, getPostingUpdateTime());
6138     }
6139     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(companyDisplayName_)) {
6140       com.google.protobuf.GeneratedMessageV3.writeString(output, 28, companyDisplayName_);
6141     }
6142     if (derivedInfo_ != null) {
6143       output.writeMessage(29, getDerivedInfo());
6144     }
6145     if (processingOptions_ != null) {
6146       output.writeMessage(30, getProcessingOptions());
6147     }
6148     getUnknownFields().writeTo(output);
6149   }
6150 
6151   @java.lang.Override
getSerializedSize()6152   public int getSerializedSize() {
6153     int size = memoizedSize;
6154     if (size != -1) return size;
6155 
6156     size = 0;
6157     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
6158       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
6159     }
6160     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(company_)) {
6161       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, company_);
6162     }
6163     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(requisitionId_)) {
6164       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, requisitionId_);
6165     }
6166     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(title_)) {
6167       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, title_);
6168     }
6169     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
6170       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, description_);
6171     }
6172     {
6173       int dataSize = 0;
6174       for (int i = 0; i < addresses_.size(); i++) {
6175         dataSize += computeStringSizeNoTag(addresses_.getRaw(i));
6176       }
6177       size += dataSize;
6178       size += 1 * getAddressesList().size();
6179     }
6180     if (applicationInfo_ != null) {
6181       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getApplicationInfo());
6182     }
6183     {
6184       int dataSize = 0;
6185       for (int i = 0; i < jobBenefits_.size(); i++) {
6186         dataSize += com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(jobBenefits_.get(i));
6187       }
6188       size += dataSize;
6189       if (!getJobBenefitsList().isEmpty()) {
6190         size += 1;
6191         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
6192       }
6193       jobBenefitsMemoizedSerializedSize = dataSize;
6194     }
6195     if (compensationInfo_ != null) {
6196       size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getCompensationInfo());
6197     }
6198     for (java.util.Map.Entry<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
6199         entry : internalGetCustomAttributes().getMap().entrySet()) {
6200       com.google.protobuf.MapEntry<
6201               java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
6202           customAttributes__ =
6203               CustomAttributesDefaultEntryHolder.defaultEntry
6204                   .newBuilderForType()
6205                   .setKey(entry.getKey())
6206                   .setValue(entry.getValue())
6207                   .build();
6208       size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, customAttributes__);
6209     }
6210     {
6211       int dataSize = 0;
6212       for (int i = 0; i < degreeTypes_.size(); i++) {
6213         dataSize += com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(degreeTypes_.get(i));
6214       }
6215       size += dataSize;
6216       if (!getDegreeTypesList().isEmpty()) {
6217         size += 1;
6218         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
6219       }
6220       degreeTypesMemoizedSerializedSize = dataSize;
6221     }
6222     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(department_)) {
6223       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, department_);
6224     }
6225     {
6226       int dataSize = 0;
6227       for (int i = 0; i < employmentTypes_.size(); i++) {
6228         dataSize +=
6229             com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(employmentTypes_.get(i));
6230       }
6231       size += dataSize;
6232       if (!getEmploymentTypesList().isEmpty()) {
6233         size += 1;
6234         size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
6235       }
6236       employmentTypesMemoizedSerializedSize = dataSize;
6237     }
6238     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(incentives_)) {
6239       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(14, incentives_);
6240     }
6241     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(languageCode_)) {
6242       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, languageCode_);
6243     }
6244     if (jobLevel_ != com.google.cloud.talent.v4beta1.JobLevel.JOB_LEVEL_UNSPECIFIED.getNumber()) {
6245       size += com.google.protobuf.CodedOutputStream.computeEnumSize(16, jobLevel_);
6246     }
6247     if (promotionValue_ != 0) {
6248       size += com.google.protobuf.CodedOutputStream.computeInt32Size(17, promotionValue_);
6249     }
6250     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(qualifications_)) {
6251       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, qualifications_);
6252     }
6253     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(responsibilities_)) {
6254       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, responsibilities_);
6255     }
6256     if (postingRegion_
6257         != com.google.cloud.talent.v4beta1.PostingRegion.POSTING_REGION_UNSPECIFIED.getNumber()) {
6258       size += com.google.protobuf.CodedOutputStream.computeEnumSize(20, postingRegion_);
6259     }
6260     if (visibility_
6261         != com.google.cloud.talent.v4beta1.Visibility.VISIBILITY_UNSPECIFIED.getNumber()) {
6262       size += com.google.protobuf.CodedOutputStream.computeEnumSize(21, visibility_);
6263     }
6264     if (jobStartTime_ != null) {
6265       size += com.google.protobuf.CodedOutputStream.computeMessageSize(22, getJobStartTime());
6266     }
6267     if (jobEndTime_ != null) {
6268       size += com.google.protobuf.CodedOutputStream.computeMessageSize(23, getJobEndTime());
6269     }
6270     if (postingPublishTime_ != null) {
6271       size += com.google.protobuf.CodedOutputStream.computeMessageSize(24, getPostingPublishTime());
6272     }
6273     if (postingExpireTime_ != null) {
6274       size += com.google.protobuf.CodedOutputStream.computeMessageSize(25, getPostingExpireTime());
6275     }
6276     if (postingCreateTime_ != null) {
6277       size += com.google.protobuf.CodedOutputStream.computeMessageSize(26, getPostingCreateTime());
6278     }
6279     if (postingUpdateTime_ != null) {
6280       size += com.google.protobuf.CodedOutputStream.computeMessageSize(27, getPostingUpdateTime());
6281     }
6282     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(companyDisplayName_)) {
6283       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(28, companyDisplayName_);
6284     }
6285     if (derivedInfo_ != null) {
6286       size += com.google.protobuf.CodedOutputStream.computeMessageSize(29, getDerivedInfo());
6287     }
6288     if (processingOptions_ != null) {
6289       size += com.google.protobuf.CodedOutputStream.computeMessageSize(30, getProcessingOptions());
6290     }
6291     size += getUnknownFields().getSerializedSize();
6292     memoizedSize = size;
6293     return size;
6294   }
6295 
6296   @java.lang.Override
equals(final java.lang.Object obj)6297   public boolean equals(final java.lang.Object obj) {
6298     if (obj == this) {
6299       return true;
6300     }
6301     if (!(obj instanceof com.google.cloud.talent.v4beta1.Job)) {
6302       return super.equals(obj);
6303     }
6304     com.google.cloud.talent.v4beta1.Job other = (com.google.cloud.talent.v4beta1.Job) obj;
6305 
6306     if (!getName().equals(other.getName())) return false;
6307     if (!getCompany().equals(other.getCompany())) return false;
6308     if (!getRequisitionId().equals(other.getRequisitionId())) return false;
6309     if (!getTitle().equals(other.getTitle())) return false;
6310     if (!getDescription().equals(other.getDescription())) return false;
6311     if (!getAddressesList().equals(other.getAddressesList())) return false;
6312     if (hasApplicationInfo() != other.hasApplicationInfo()) return false;
6313     if (hasApplicationInfo()) {
6314       if (!getApplicationInfo().equals(other.getApplicationInfo())) return false;
6315     }
6316     if (!jobBenefits_.equals(other.jobBenefits_)) return false;
6317     if (hasCompensationInfo() != other.hasCompensationInfo()) return false;
6318     if (hasCompensationInfo()) {
6319       if (!getCompensationInfo().equals(other.getCompensationInfo())) return false;
6320     }
6321     if (!internalGetCustomAttributes().equals(other.internalGetCustomAttributes())) return false;
6322     if (!degreeTypes_.equals(other.degreeTypes_)) return false;
6323     if (!getDepartment().equals(other.getDepartment())) return false;
6324     if (!employmentTypes_.equals(other.employmentTypes_)) return false;
6325     if (!getIncentives().equals(other.getIncentives())) return false;
6326     if (!getLanguageCode().equals(other.getLanguageCode())) return false;
6327     if (jobLevel_ != other.jobLevel_) return false;
6328     if (getPromotionValue() != other.getPromotionValue()) return false;
6329     if (!getQualifications().equals(other.getQualifications())) return false;
6330     if (!getResponsibilities().equals(other.getResponsibilities())) return false;
6331     if (postingRegion_ != other.postingRegion_) return false;
6332     if (visibility_ != other.visibility_) return false;
6333     if (hasJobStartTime() != other.hasJobStartTime()) return false;
6334     if (hasJobStartTime()) {
6335       if (!getJobStartTime().equals(other.getJobStartTime())) return false;
6336     }
6337     if (hasJobEndTime() != other.hasJobEndTime()) return false;
6338     if (hasJobEndTime()) {
6339       if (!getJobEndTime().equals(other.getJobEndTime())) return false;
6340     }
6341     if (hasPostingPublishTime() != other.hasPostingPublishTime()) return false;
6342     if (hasPostingPublishTime()) {
6343       if (!getPostingPublishTime().equals(other.getPostingPublishTime())) return false;
6344     }
6345     if (hasPostingExpireTime() != other.hasPostingExpireTime()) return false;
6346     if (hasPostingExpireTime()) {
6347       if (!getPostingExpireTime().equals(other.getPostingExpireTime())) return false;
6348     }
6349     if (hasPostingCreateTime() != other.hasPostingCreateTime()) return false;
6350     if (hasPostingCreateTime()) {
6351       if (!getPostingCreateTime().equals(other.getPostingCreateTime())) return false;
6352     }
6353     if (hasPostingUpdateTime() != other.hasPostingUpdateTime()) return false;
6354     if (hasPostingUpdateTime()) {
6355       if (!getPostingUpdateTime().equals(other.getPostingUpdateTime())) return false;
6356     }
6357     if (!getCompanyDisplayName().equals(other.getCompanyDisplayName())) return false;
6358     if (hasDerivedInfo() != other.hasDerivedInfo()) return false;
6359     if (hasDerivedInfo()) {
6360       if (!getDerivedInfo().equals(other.getDerivedInfo())) return false;
6361     }
6362     if (hasProcessingOptions() != other.hasProcessingOptions()) return false;
6363     if (hasProcessingOptions()) {
6364       if (!getProcessingOptions().equals(other.getProcessingOptions())) return false;
6365     }
6366     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
6367     return true;
6368   }
6369 
6370   @java.lang.Override
hashCode()6371   public int hashCode() {
6372     if (memoizedHashCode != 0) {
6373       return memoizedHashCode;
6374     }
6375     int hash = 41;
6376     hash = (19 * hash) + getDescriptor().hashCode();
6377     hash = (37 * hash) + NAME_FIELD_NUMBER;
6378     hash = (53 * hash) + getName().hashCode();
6379     hash = (37 * hash) + COMPANY_FIELD_NUMBER;
6380     hash = (53 * hash) + getCompany().hashCode();
6381     hash = (37 * hash) + REQUISITION_ID_FIELD_NUMBER;
6382     hash = (53 * hash) + getRequisitionId().hashCode();
6383     hash = (37 * hash) + TITLE_FIELD_NUMBER;
6384     hash = (53 * hash) + getTitle().hashCode();
6385     hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
6386     hash = (53 * hash) + getDescription().hashCode();
6387     if (getAddressesCount() > 0) {
6388       hash = (37 * hash) + ADDRESSES_FIELD_NUMBER;
6389       hash = (53 * hash) + getAddressesList().hashCode();
6390     }
6391     if (hasApplicationInfo()) {
6392       hash = (37 * hash) + APPLICATION_INFO_FIELD_NUMBER;
6393       hash = (53 * hash) + getApplicationInfo().hashCode();
6394     }
6395     if (getJobBenefitsCount() > 0) {
6396       hash = (37 * hash) + JOB_BENEFITS_FIELD_NUMBER;
6397       hash = (53 * hash) + jobBenefits_.hashCode();
6398     }
6399     if (hasCompensationInfo()) {
6400       hash = (37 * hash) + COMPENSATION_INFO_FIELD_NUMBER;
6401       hash = (53 * hash) + getCompensationInfo().hashCode();
6402     }
6403     if (!internalGetCustomAttributes().getMap().isEmpty()) {
6404       hash = (37 * hash) + CUSTOM_ATTRIBUTES_FIELD_NUMBER;
6405       hash = (53 * hash) + internalGetCustomAttributes().hashCode();
6406     }
6407     if (getDegreeTypesCount() > 0) {
6408       hash = (37 * hash) + DEGREE_TYPES_FIELD_NUMBER;
6409       hash = (53 * hash) + degreeTypes_.hashCode();
6410     }
6411     hash = (37 * hash) + DEPARTMENT_FIELD_NUMBER;
6412     hash = (53 * hash) + getDepartment().hashCode();
6413     if (getEmploymentTypesCount() > 0) {
6414       hash = (37 * hash) + EMPLOYMENT_TYPES_FIELD_NUMBER;
6415       hash = (53 * hash) + employmentTypes_.hashCode();
6416     }
6417     hash = (37 * hash) + INCENTIVES_FIELD_NUMBER;
6418     hash = (53 * hash) + getIncentives().hashCode();
6419     hash = (37 * hash) + LANGUAGE_CODE_FIELD_NUMBER;
6420     hash = (53 * hash) + getLanguageCode().hashCode();
6421     hash = (37 * hash) + JOB_LEVEL_FIELD_NUMBER;
6422     hash = (53 * hash) + jobLevel_;
6423     hash = (37 * hash) + PROMOTION_VALUE_FIELD_NUMBER;
6424     hash = (53 * hash) + getPromotionValue();
6425     hash = (37 * hash) + QUALIFICATIONS_FIELD_NUMBER;
6426     hash = (53 * hash) + getQualifications().hashCode();
6427     hash = (37 * hash) + RESPONSIBILITIES_FIELD_NUMBER;
6428     hash = (53 * hash) + getResponsibilities().hashCode();
6429     hash = (37 * hash) + POSTING_REGION_FIELD_NUMBER;
6430     hash = (53 * hash) + postingRegion_;
6431     hash = (37 * hash) + VISIBILITY_FIELD_NUMBER;
6432     hash = (53 * hash) + visibility_;
6433     if (hasJobStartTime()) {
6434       hash = (37 * hash) + JOB_START_TIME_FIELD_NUMBER;
6435       hash = (53 * hash) + getJobStartTime().hashCode();
6436     }
6437     if (hasJobEndTime()) {
6438       hash = (37 * hash) + JOB_END_TIME_FIELD_NUMBER;
6439       hash = (53 * hash) + getJobEndTime().hashCode();
6440     }
6441     if (hasPostingPublishTime()) {
6442       hash = (37 * hash) + POSTING_PUBLISH_TIME_FIELD_NUMBER;
6443       hash = (53 * hash) + getPostingPublishTime().hashCode();
6444     }
6445     if (hasPostingExpireTime()) {
6446       hash = (37 * hash) + POSTING_EXPIRE_TIME_FIELD_NUMBER;
6447       hash = (53 * hash) + getPostingExpireTime().hashCode();
6448     }
6449     if (hasPostingCreateTime()) {
6450       hash = (37 * hash) + POSTING_CREATE_TIME_FIELD_NUMBER;
6451       hash = (53 * hash) + getPostingCreateTime().hashCode();
6452     }
6453     if (hasPostingUpdateTime()) {
6454       hash = (37 * hash) + POSTING_UPDATE_TIME_FIELD_NUMBER;
6455       hash = (53 * hash) + getPostingUpdateTime().hashCode();
6456     }
6457     hash = (37 * hash) + COMPANY_DISPLAY_NAME_FIELD_NUMBER;
6458     hash = (53 * hash) + getCompanyDisplayName().hashCode();
6459     if (hasDerivedInfo()) {
6460       hash = (37 * hash) + DERIVED_INFO_FIELD_NUMBER;
6461       hash = (53 * hash) + getDerivedInfo().hashCode();
6462     }
6463     if (hasProcessingOptions()) {
6464       hash = (37 * hash) + PROCESSING_OPTIONS_FIELD_NUMBER;
6465       hash = (53 * hash) + getProcessingOptions().hashCode();
6466     }
6467     hash = (29 * hash) + getUnknownFields().hashCode();
6468     memoizedHashCode = hash;
6469     return hash;
6470   }
6471 
parseFrom(java.nio.ByteBuffer data)6472   public static com.google.cloud.talent.v4beta1.Job parseFrom(java.nio.ByteBuffer data)
6473       throws com.google.protobuf.InvalidProtocolBufferException {
6474     return PARSER.parseFrom(data);
6475   }
6476 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6477   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6478       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6479       throws com.google.protobuf.InvalidProtocolBufferException {
6480     return PARSER.parseFrom(data, extensionRegistry);
6481   }
6482 
parseFrom(com.google.protobuf.ByteString data)6483   public static com.google.cloud.talent.v4beta1.Job parseFrom(com.google.protobuf.ByteString data)
6484       throws com.google.protobuf.InvalidProtocolBufferException {
6485     return PARSER.parseFrom(data);
6486   }
6487 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6488   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6489       com.google.protobuf.ByteString data,
6490       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6491       throws com.google.protobuf.InvalidProtocolBufferException {
6492     return PARSER.parseFrom(data, extensionRegistry);
6493   }
6494 
parseFrom(byte[] data)6495   public static com.google.cloud.talent.v4beta1.Job parseFrom(byte[] data)
6496       throws com.google.protobuf.InvalidProtocolBufferException {
6497     return PARSER.parseFrom(data);
6498   }
6499 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6500   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6501       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6502       throws com.google.protobuf.InvalidProtocolBufferException {
6503     return PARSER.parseFrom(data, extensionRegistry);
6504   }
6505 
parseFrom(java.io.InputStream input)6506   public static com.google.cloud.talent.v4beta1.Job parseFrom(java.io.InputStream input)
6507       throws java.io.IOException {
6508     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
6509   }
6510 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6511   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6512       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6513       throws java.io.IOException {
6514     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
6515         PARSER, input, extensionRegistry);
6516   }
6517 
parseDelimitedFrom(java.io.InputStream input)6518   public static com.google.cloud.talent.v4beta1.Job parseDelimitedFrom(java.io.InputStream input)
6519       throws java.io.IOException {
6520     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
6521   }
6522 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6523   public static com.google.cloud.talent.v4beta1.Job parseDelimitedFrom(
6524       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6525       throws java.io.IOException {
6526     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
6527         PARSER, input, extensionRegistry);
6528   }
6529 
parseFrom( com.google.protobuf.CodedInputStream input)6530   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6531       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
6532     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
6533   }
6534 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6535   public static com.google.cloud.talent.v4beta1.Job parseFrom(
6536       com.google.protobuf.CodedInputStream input,
6537       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6538       throws java.io.IOException {
6539     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
6540         PARSER, input, extensionRegistry);
6541   }
6542 
6543   @java.lang.Override
newBuilderForType()6544   public Builder newBuilderForType() {
6545     return newBuilder();
6546   }
6547 
newBuilder()6548   public static Builder newBuilder() {
6549     return DEFAULT_INSTANCE.toBuilder();
6550   }
6551 
newBuilder(com.google.cloud.talent.v4beta1.Job prototype)6552   public static Builder newBuilder(com.google.cloud.talent.v4beta1.Job prototype) {
6553     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
6554   }
6555 
6556   @java.lang.Override
toBuilder()6557   public Builder toBuilder() {
6558     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
6559   }
6560 
6561   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)6562   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6563     Builder builder = new Builder(parent);
6564     return builder;
6565   }
6566   /**
6567    *
6568    *
6569    * <pre>
6570    * A Job resource represents a job posting (also referred to as a "job listing"
6571    * or "job requisition"). A job belongs to a
6572    * [Company][google.cloud.talent.v4beta1.Company], which is the hiring entity
6573    * responsible for the job.
6574    * </pre>
6575    *
6576    * Protobuf type {@code google.cloud.talent.v4beta1.Job}
6577    */
6578   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
6579       implements
6580       // @@protoc_insertion_point(builder_implements:google.cloud.talent.v4beta1.Job)
6581       com.google.cloud.talent.v4beta1.JobOrBuilder {
getDescriptor()6582     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
6583       return com.google.cloud.talent.v4beta1.JobResourceProto
6584           .internal_static_google_cloud_talent_v4beta1_Job_descriptor;
6585     }
6586 
6587     @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)6588     protected com.google.protobuf.MapField internalGetMapField(int number) {
6589       switch (number) {
6590         case 10:
6591           return internalGetCustomAttributes();
6592         default:
6593           throw new RuntimeException("Invalid map field number: " + number);
6594       }
6595     }
6596 
6597     @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)6598     protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
6599       switch (number) {
6600         case 10:
6601           return internalGetMutableCustomAttributes();
6602         default:
6603           throw new RuntimeException("Invalid map field number: " + number);
6604       }
6605     }
6606 
6607     @java.lang.Override
6608     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()6609         internalGetFieldAccessorTable() {
6610       return com.google.cloud.talent.v4beta1.JobResourceProto
6611           .internal_static_google_cloud_talent_v4beta1_Job_fieldAccessorTable
6612           .ensureFieldAccessorsInitialized(
6613               com.google.cloud.talent.v4beta1.Job.class,
6614               com.google.cloud.talent.v4beta1.Job.Builder.class);
6615     }
6616 
6617     // Construct using com.google.cloud.talent.v4beta1.Job.newBuilder()
Builder()6618     private Builder() {}
6619 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)6620     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6621       super(parent);
6622     }
6623 
6624     @java.lang.Override
clear()6625     public Builder clear() {
6626       super.clear();
6627       bitField0_ = 0;
6628       name_ = "";
6629       company_ = "";
6630       requisitionId_ = "";
6631       title_ = "";
6632       description_ = "";
6633       addresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
6634       bitField0_ = (bitField0_ & ~0x00000020);
6635       applicationInfo_ = null;
6636       if (applicationInfoBuilder_ != null) {
6637         applicationInfoBuilder_.dispose();
6638         applicationInfoBuilder_ = null;
6639       }
6640       jobBenefits_ = java.util.Collections.emptyList();
6641       bitField0_ = (bitField0_ & ~0x00000080);
6642       compensationInfo_ = null;
6643       if (compensationInfoBuilder_ != null) {
6644         compensationInfoBuilder_.dispose();
6645         compensationInfoBuilder_ = null;
6646       }
6647       internalGetMutableCustomAttributes().clear();
6648       degreeTypes_ = java.util.Collections.emptyList();
6649       bitField0_ = (bitField0_ & ~0x00000400);
6650       department_ = "";
6651       employmentTypes_ = java.util.Collections.emptyList();
6652       bitField0_ = (bitField0_ & ~0x00001000);
6653       incentives_ = "";
6654       languageCode_ = "";
6655       jobLevel_ = 0;
6656       promotionValue_ = 0;
6657       qualifications_ = "";
6658       responsibilities_ = "";
6659       postingRegion_ = 0;
6660       visibility_ = 0;
6661       jobStartTime_ = null;
6662       if (jobStartTimeBuilder_ != null) {
6663         jobStartTimeBuilder_.dispose();
6664         jobStartTimeBuilder_ = null;
6665       }
6666       jobEndTime_ = null;
6667       if (jobEndTimeBuilder_ != null) {
6668         jobEndTimeBuilder_.dispose();
6669         jobEndTimeBuilder_ = null;
6670       }
6671       postingPublishTime_ = null;
6672       if (postingPublishTimeBuilder_ != null) {
6673         postingPublishTimeBuilder_.dispose();
6674         postingPublishTimeBuilder_ = null;
6675       }
6676       postingExpireTime_ = null;
6677       if (postingExpireTimeBuilder_ != null) {
6678         postingExpireTimeBuilder_.dispose();
6679         postingExpireTimeBuilder_ = null;
6680       }
6681       postingCreateTime_ = null;
6682       if (postingCreateTimeBuilder_ != null) {
6683         postingCreateTimeBuilder_.dispose();
6684         postingCreateTimeBuilder_ = null;
6685       }
6686       postingUpdateTime_ = null;
6687       if (postingUpdateTimeBuilder_ != null) {
6688         postingUpdateTimeBuilder_.dispose();
6689         postingUpdateTimeBuilder_ = null;
6690       }
6691       companyDisplayName_ = "";
6692       derivedInfo_ = null;
6693       if (derivedInfoBuilder_ != null) {
6694         derivedInfoBuilder_.dispose();
6695         derivedInfoBuilder_ = null;
6696       }
6697       processingOptions_ = null;
6698       if (processingOptionsBuilder_ != null) {
6699         processingOptionsBuilder_.dispose();
6700         processingOptionsBuilder_ = null;
6701       }
6702       return this;
6703     }
6704 
6705     @java.lang.Override
getDescriptorForType()6706     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
6707       return com.google.cloud.talent.v4beta1.JobResourceProto
6708           .internal_static_google_cloud_talent_v4beta1_Job_descriptor;
6709     }
6710 
6711     @java.lang.Override
getDefaultInstanceForType()6712     public com.google.cloud.talent.v4beta1.Job getDefaultInstanceForType() {
6713       return com.google.cloud.talent.v4beta1.Job.getDefaultInstance();
6714     }
6715 
6716     @java.lang.Override
build()6717     public com.google.cloud.talent.v4beta1.Job build() {
6718       com.google.cloud.talent.v4beta1.Job result = buildPartial();
6719       if (!result.isInitialized()) {
6720         throw newUninitializedMessageException(result);
6721       }
6722       return result;
6723     }
6724 
6725     @java.lang.Override
buildPartial()6726     public com.google.cloud.talent.v4beta1.Job buildPartial() {
6727       com.google.cloud.talent.v4beta1.Job result = new com.google.cloud.talent.v4beta1.Job(this);
6728       buildPartialRepeatedFields(result);
6729       if (bitField0_ != 0) {
6730         buildPartial0(result);
6731       }
6732       onBuilt();
6733       return result;
6734     }
6735 
buildPartialRepeatedFields(com.google.cloud.talent.v4beta1.Job result)6736     private void buildPartialRepeatedFields(com.google.cloud.talent.v4beta1.Job result) {
6737       if (((bitField0_ & 0x00000020) != 0)) {
6738         addresses_ = addresses_.getUnmodifiableView();
6739         bitField0_ = (bitField0_ & ~0x00000020);
6740       }
6741       result.addresses_ = addresses_;
6742       if (((bitField0_ & 0x00000080) != 0)) {
6743         jobBenefits_ = java.util.Collections.unmodifiableList(jobBenefits_);
6744         bitField0_ = (bitField0_ & ~0x00000080);
6745       }
6746       result.jobBenefits_ = jobBenefits_;
6747       if (((bitField0_ & 0x00000400) != 0)) {
6748         degreeTypes_ = java.util.Collections.unmodifiableList(degreeTypes_);
6749         bitField0_ = (bitField0_ & ~0x00000400);
6750       }
6751       result.degreeTypes_ = degreeTypes_;
6752       if (((bitField0_ & 0x00001000) != 0)) {
6753         employmentTypes_ = java.util.Collections.unmodifiableList(employmentTypes_);
6754         bitField0_ = (bitField0_ & ~0x00001000);
6755       }
6756       result.employmentTypes_ = employmentTypes_;
6757     }
6758 
buildPartial0(com.google.cloud.talent.v4beta1.Job result)6759     private void buildPartial0(com.google.cloud.talent.v4beta1.Job result) {
6760       int from_bitField0_ = bitField0_;
6761       if (((from_bitField0_ & 0x00000001) != 0)) {
6762         result.name_ = name_;
6763       }
6764       if (((from_bitField0_ & 0x00000002) != 0)) {
6765         result.company_ = company_;
6766       }
6767       if (((from_bitField0_ & 0x00000004) != 0)) {
6768         result.requisitionId_ = requisitionId_;
6769       }
6770       if (((from_bitField0_ & 0x00000008) != 0)) {
6771         result.title_ = title_;
6772       }
6773       if (((from_bitField0_ & 0x00000010) != 0)) {
6774         result.description_ = description_;
6775       }
6776       if (((from_bitField0_ & 0x00000040) != 0)) {
6777         result.applicationInfo_ =
6778             applicationInfoBuilder_ == null ? applicationInfo_ : applicationInfoBuilder_.build();
6779       }
6780       if (((from_bitField0_ & 0x00000100) != 0)) {
6781         result.compensationInfo_ =
6782             compensationInfoBuilder_ == null ? compensationInfo_ : compensationInfoBuilder_.build();
6783       }
6784       if (((from_bitField0_ & 0x00000200) != 0)) {
6785         result.customAttributes_ = internalGetCustomAttributes();
6786         result.customAttributes_.makeImmutable();
6787       }
6788       if (((from_bitField0_ & 0x00000800) != 0)) {
6789         result.department_ = department_;
6790       }
6791       if (((from_bitField0_ & 0x00002000) != 0)) {
6792         result.incentives_ = incentives_;
6793       }
6794       if (((from_bitField0_ & 0x00004000) != 0)) {
6795         result.languageCode_ = languageCode_;
6796       }
6797       if (((from_bitField0_ & 0x00008000) != 0)) {
6798         result.jobLevel_ = jobLevel_;
6799       }
6800       if (((from_bitField0_ & 0x00010000) != 0)) {
6801         result.promotionValue_ = promotionValue_;
6802       }
6803       if (((from_bitField0_ & 0x00020000) != 0)) {
6804         result.qualifications_ = qualifications_;
6805       }
6806       if (((from_bitField0_ & 0x00040000) != 0)) {
6807         result.responsibilities_ = responsibilities_;
6808       }
6809       if (((from_bitField0_ & 0x00080000) != 0)) {
6810         result.postingRegion_ = postingRegion_;
6811       }
6812       if (((from_bitField0_ & 0x00100000) != 0)) {
6813         result.visibility_ = visibility_;
6814       }
6815       if (((from_bitField0_ & 0x00200000) != 0)) {
6816         result.jobStartTime_ =
6817             jobStartTimeBuilder_ == null ? jobStartTime_ : jobStartTimeBuilder_.build();
6818       }
6819       if (((from_bitField0_ & 0x00400000) != 0)) {
6820         result.jobEndTime_ = jobEndTimeBuilder_ == null ? jobEndTime_ : jobEndTimeBuilder_.build();
6821       }
6822       if (((from_bitField0_ & 0x00800000) != 0)) {
6823         result.postingPublishTime_ =
6824             postingPublishTimeBuilder_ == null
6825                 ? postingPublishTime_
6826                 : postingPublishTimeBuilder_.build();
6827       }
6828       if (((from_bitField0_ & 0x01000000) != 0)) {
6829         result.postingExpireTime_ =
6830             postingExpireTimeBuilder_ == null
6831                 ? postingExpireTime_
6832                 : postingExpireTimeBuilder_.build();
6833       }
6834       if (((from_bitField0_ & 0x02000000) != 0)) {
6835         result.postingCreateTime_ =
6836             postingCreateTimeBuilder_ == null
6837                 ? postingCreateTime_
6838                 : postingCreateTimeBuilder_.build();
6839       }
6840       if (((from_bitField0_ & 0x04000000) != 0)) {
6841         result.postingUpdateTime_ =
6842             postingUpdateTimeBuilder_ == null
6843                 ? postingUpdateTime_
6844                 : postingUpdateTimeBuilder_.build();
6845       }
6846       if (((from_bitField0_ & 0x08000000) != 0)) {
6847         result.companyDisplayName_ = companyDisplayName_;
6848       }
6849       if (((from_bitField0_ & 0x10000000) != 0)) {
6850         result.derivedInfo_ =
6851             derivedInfoBuilder_ == null ? derivedInfo_ : derivedInfoBuilder_.build();
6852       }
6853       if (((from_bitField0_ & 0x20000000) != 0)) {
6854         result.processingOptions_ =
6855             processingOptionsBuilder_ == null
6856                 ? processingOptions_
6857                 : processingOptionsBuilder_.build();
6858       }
6859     }
6860 
6861     @java.lang.Override
clone()6862     public Builder clone() {
6863       return super.clone();
6864     }
6865 
6866     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)6867     public Builder setField(
6868         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
6869       return super.setField(field, value);
6870     }
6871 
6872     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)6873     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
6874       return super.clearField(field);
6875     }
6876 
6877     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)6878     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
6879       return super.clearOneof(oneof);
6880     }
6881 
6882     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)6883     public Builder setRepeatedField(
6884         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
6885       return super.setRepeatedField(field, index, value);
6886     }
6887 
6888     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)6889     public Builder addRepeatedField(
6890         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
6891       return super.addRepeatedField(field, value);
6892     }
6893 
6894     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)6895     public Builder mergeFrom(com.google.protobuf.Message other) {
6896       if (other instanceof com.google.cloud.talent.v4beta1.Job) {
6897         return mergeFrom((com.google.cloud.talent.v4beta1.Job) other);
6898       } else {
6899         super.mergeFrom(other);
6900         return this;
6901       }
6902     }
6903 
mergeFrom(com.google.cloud.talent.v4beta1.Job other)6904     public Builder mergeFrom(com.google.cloud.talent.v4beta1.Job other) {
6905       if (other == com.google.cloud.talent.v4beta1.Job.getDefaultInstance()) return this;
6906       if (!other.getName().isEmpty()) {
6907         name_ = other.name_;
6908         bitField0_ |= 0x00000001;
6909         onChanged();
6910       }
6911       if (!other.getCompany().isEmpty()) {
6912         company_ = other.company_;
6913         bitField0_ |= 0x00000002;
6914         onChanged();
6915       }
6916       if (!other.getRequisitionId().isEmpty()) {
6917         requisitionId_ = other.requisitionId_;
6918         bitField0_ |= 0x00000004;
6919         onChanged();
6920       }
6921       if (!other.getTitle().isEmpty()) {
6922         title_ = other.title_;
6923         bitField0_ |= 0x00000008;
6924         onChanged();
6925       }
6926       if (!other.getDescription().isEmpty()) {
6927         description_ = other.description_;
6928         bitField0_ |= 0x00000010;
6929         onChanged();
6930       }
6931       if (!other.addresses_.isEmpty()) {
6932         if (addresses_.isEmpty()) {
6933           addresses_ = other.addresses_;
6934           bitField0_ = (bitField0_ & ~0x00000020);
6935         } else {
6936           ensureAddressesIsMutable();
6937           addresses_.addAll(other.addresses_);
6938         }
6939         onChanged();
6940       }
6941       if (other.hasApplicationInfo()) {
6942         mergeApplicationInfo(other.getApplicationInfo());
6943       }
6944       if (!other.jobBenefits_.isEmpty()) {
6945         if (jobBenefits_.isEmpty()) {
6946           jobBenefits_ = other.jobBenefits_;
6947           bitField0_ = (bitField0_ & ~0x00000080);
6948         } else {
6949           ensureJobBenefitsIsMutable();
6950           jobBenefits_.addAll(other.jobBenefits_);
6951         }
6952         onChanged();
6953       }
6954       if (other.hasCompensationInfo()) {
6955         mergeCompensationInfo(other.getCompensationInfo());
6956       }
6957       internalGetMutableCustomAttributes().mergeFrom(other.internalGetCustomAttributes());
6958       bitField0_ |= 0x00000200;
6959       if (!other.degreeTypes_.isEmpty()) {
6960         if (degreeTypes_.isEmpty()) {
6961           degreeTypes_ = other.degreeTypes_;
6962           bitField0_ = (bitField0_ & ~0x00000400);
6963         } else {
6964           ensureDegreeTypesIsMutable();
6965           degreeTypes_.addAll(other.degreeTypes_);
6966         }
6967         onChanged();
6968       }
6969       if (!other.getDepartment().isEmpty()) {
6970         department_ = other.department_;
6971         bitField0_ |= 0x00000800;
6972         onChanged();
6973       }
6974       if (!other.employmentTypes_.isEmpty()) {
6975         if (employmentTypes_.isEmpty()) {
6976           employmentTypes_ = other.employmentTypes_;
6977           bitField0_ = (bitField0_ & ~0x00001000);
6978         } else {
6979           ensureEmploymentTypesIsMutable();
6980           employmentTypes_.addAll(other.employmentTypes_);
6981         }
6982         onChanged();
6983       }
6984       if (!other.getIncentives().isEmpty()) {
6985         incentives_ = other.incentives_;
6986         bitField0_ |= 0x00002000;
6987         onChanged();
6988       }
6989       if (!other.getLanguageCode().isEmpty()) {
6990         languageCode_ = other.languageCode_;
6991         bitField0_ |= 0x00004000;
6992         onChanged();
6993       }
6994       if (other.jobLevel_ != 0) {
6995         setJobLevelValue(other.getJobLevelValue());
6996       }
6997       if (other.getPromotionValue() != 0) {
6998         setPromotionValue(other.getPromotionValue());
6999       }
7000       if (!other.getQualifications().isEmpty()) {
7001         qualifications_ = other.qualifications_;
7002         bitField0_ |= 0x00020000;
7003         onChanged();
7004       }
7005       if (!other.getResponsibilities().isEmpty()) {
7006         responsibilities_ = other.responsibilities_;
7007         bitField0_ |= 0x00040000;
7008         onChanged();
7009       }
7010       if (other.postingRegion_ != 0) {
7011         setPostingRegionValue(other.getPostingRegionValue());
7012       }
7013       if (other.visibility_ != 0) {
7014         setVisibilityValue(other.getVisibilityValue());
7015       }
7016       if (other.hasJobStartTime()) {
7017         mergeJobStartTime(other.getJobStartTime());
7018       }
7019       if (other.hasJobEndTime()) {
7020         mergeJobEndTime(other.getJobEndTime());
7021       }
7022       if (other.hasPostingPublishTime()) {
7023         mergePostingPublishTime(other.getPostingPublishTime());
7024       }
7025       if (other.hasPostingExpireTime()) {
7026         mergePostingExpireTime(other.getPostingExpireTime());
7027       }
7028       if (other.hasPostingCreateTime()) {
7029         mergePostingCreateTime(other.getPostingCreateTime());
7030       }
7031       if (other.hasPostingUpdateTime()) {
7032         mergePostingUpdateTime(other.getPostingUpdateTime());
7033       }
7034       if (!other.getCompanyDisplayName().isEmpty()) {
7035         companyDisplayName_ = other.companyDisplayName_;
7036         bitField0_ |= 0x08000000;
7037         onChanged();
7038       }
7039       if (other.hasDerivedInfo()) {
7040         mergeDerivedInfo(other.getDerivedInfo());
7041       }
7042       if (other.hasProcessingOptions()) {
7043         mergeProcessingOptions(other.getProcessingOptions());
7044       }
7045       this.mergeUnknownFields(other.getUnknownFields());
7046       onChanged();
7047       return this;
7048     }
7049 
7050     @java.lang.Override
isInitialized()7051     public final boolean isInitialized() {
7052       return true;
7053     }
7054 
7055     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7056     public Builder mergeFrom(
7057         com.google.protobuf.CodedInputStream input,
7058         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7059         throws java.io.IOException {
7060       if (extensionRegistry == null) {
7061         throw new java.lang.NullPointerException();
7062       }
7063       try {
7064         boolean done = false;
7065         while (!done) {
7066           int tag = input.readTag();
7067           switch (tag) {
7068             case 0:
7069               done = true;
7070               break;
7071             case 10:
7072               {
7073                 name_ = input.readStringRequireUtf8();
7074                 bitField0_ |= 0x00000001;
7075                 break;
7076               } // case 10
7077             case 18:
7078               {
7079                 company_ = input.readStringRequireUtf8();
7080                 bitField0_ |= 0x00000002;
7081                 break;
7082               } // case 18
7083             case 26:
7084               {
7085                 requisitionId_ = input.readStringRequireUtf8();
7086                 bitField0_ |= 0x00000004;
7087                 break;
7088               } // case 26
7089             case 34:
7090               {
7091                 title_ = input.readStringRequireUtf8();
7092                 bitField0_ |= 0x00000008;
7093                 break;
7094               } // case 34
7095             case 42:
7096               {
7097                 description_ = input.readStringRequireUtf8();
7098                 bitField0_ |= 0x00000010;
7099                 break;
7100               } // case 42
7101             case 50:
7102               {
7103                 java.lang.String s = input.readStringRequireUtf8();
7104                 ensureAddressesIsMutable();
7105                 addresses_.add(s);
7106                 break;
7107               } // case 50
7108             case 58:
7109               {
7110                 input.readMessage(getApplicationInfoFieldBuilder().getBuilder(), extensionRegistry);
7111                 bitField0_ |= 0x00000040;
7112                 break;
7113               } // case 58
7114             case 64:
7115               {
7116                 int tmpRaw = input.readEnum();
7117                 ensureJobBenefitsIsMutable();
7118                 jobBenefits_.add(tmpRaw);
7119                 break;
7120               } // case 64
7121             case 66:
7122               {
7123                 int length = input.readRawVarint32();
7124                 int oldLimit = input.pushLimit(length);
7125                 while (input.getBytesUntilLimit() > 0) {
7126                   int tmpRaw = input.readEnum();
7127                   ensureJobBenefitsIsMutable();
7128                   jobBenefits_.add(tmpRaw);
7129                 }
7130                 input.popLimit(oldLimit);
7131                 break;
7132               } // case 66
7133             case 74:
7134               {
7135                 input.readMessage(
7136                     getCompensationInfoFieldBuilder().getBuilder(), extensionRegistry);
7137                 bitField0_ |= 0x00000100;
7138                 break;
7139               } // case 74
7140             case 82:
7141               {
7142                 com.google.protobuf.MapEntry<
7143                         java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
7144                     customAttributes__ =
7145                         input.readMessage(
7146                             CustomAttributesDefaultEntryHolder.defaultEntry.getParserForType(),
7147                             extensionRegistry);
7148                 internalGetMutableCustomAttributes()
7149                     .getMutableMap()
7150                     .put(customAttributes__.getKey(), customAttributes__.getValue());
7151                 bitField0_ |= 0x00000200;
7152                 break;
7153               } // case 82
7154             case 88:
7155               {
7156                 int tmpRaw = input.readEnum();
7157                 ensureDegreeTypesIsMutable();
7158                 degreeTypes_.add(tmpRaw);
7159                 break;
7160               } // case 88
7161             case 90:
7162               {
7163                 int length = input.readRawVarint32();
7164                 int oldLimit = input.pushLimit(length);
7165                 while (input.getBytesUntilLimit() > 0) {
7166                   int tmpRaw = input.readEnum();
7167                   ensureDegreeTypesIsMutable();
7168                   degreeTypes_.add(tmpRaw);
7169                 }
7170                 input.popLimit(oldLimit);
7171                 break;
7172               } // case 90
7173             case 98:
7174               {
7175                 department_ = input.readStringRequireUtf8();
7176                 bitField0_ |= 0x00000800;
7177                 break;
7178               } // case 98
7179             case 104:
7180               {
7181                 int tmpRaw = input.readEnum();
7182                 ensureEmploymentTypesIsMutable();
7183                 employmentTypes_.add(tmpRaw);
7184                 break;
7185               } // case 104
7186             case 106:
7187               {
7188                 int length = input.readRawVarint32();
7189                 int oldLimit = input.pushLimit(length);
7190                 while (input.getBytesUntilLimit() > 0) {
7191                   int tmpRaw = input.readEnum();
7192                   ensureEmploymentTypesIsMutable();
7193                   employmentTypes_.add(tmpRaw);
7194                 }
7195                 input.popLimit(oldLimit);
7196                 break;
7197               } // case 106
7198             case 114:
7199               {
7200                 incentives_ = input.readStringRequireUtf8();
7201                 bitField0_ |= 0x00002000;
7202                 break;
7203               } // case 114
7204             case 122:
7205               {
7206                 languageCode_ = input.readStringRequireUtf8();
7207                 bitField0_ |= 0x00004000;
7208                 break;
7209               } // case 122
7210             case 128:
7211               {
7212                 jobLevel_ = input.readEnum();
7213                 bitField0_ |= 0x00008000;
7214                 break;
7215               } // case 128
7216             case 136:
7217               {
7218                 promotionValue_ = input.readInt32();
7219                 bitField0_ |= 0x00010000;
7220                 break;
7221               } // case 136
7222             case 146:
7223               {
7224                 qualifications_ = input.readStringRequireUtf8();
7225                 bitField0_ |= 0x00020000;
7226                 break;
7227               } // case 146
7228             case 154:
7229               {
7230                 responsibilities_ = input.readStringRequireUtf8();
7231                 bitField0_ |= 0x00040000;
7232                 break;
7233               } // case 154
7234             case 160:
7235               {
7236                 postingRegion_ = input.readEnum();
7237                 bitField0_ |= 0x00080000;
7238                 break;
7239               } // case 160
7240             case 168:
7241               {
7242                 visibility_ = input.readEnum();
7243                 bitField0_ |= 0x00100000;
7244                 break;
7245               } // case 168
7246             case 178:
7247               {
7248                 input.readMessage(getJobStartTimeFieldBuilder().getBuilder(), extensionRegistry);
7249                 bitField0_ |= 0x00200000;
7250                 break;
7251               } // case 178
7252             case 186:
7253               {
7254                 input.readMessage(getJobEndTimeFieldBuilder().getBuilder(), extensionRegistry);
7255                 bitField0_ |= 0x00400000;
7256                 break;
7257               } // case 186
7258             case 194:
7259               {
7260                 input.readMessage(
7261                     getPostingPublishTimeFieldBuilder().getBuilder(), extensionRegistry);
7262                 bitField0_ |= 0x00800000;
7263                 break;
7264               } // case 194
7265             case 202:
7266               {
7267                 input.readMessage(
7268                     getPostingExpireTimeFieldBuilder().getBuilder(), extensionRegistry);
7269                 bitField0_ |= 0x01000000;
7270                 break;
7271               } // case 202
7272             case 210:
7273               {
7274                 input.readMessage(
7275                     getPostingCreateTimeFieldBuilder().getBuilder(), extensionRegistry);
7276                 bitField0_ |= 0x02000000;
7277                 break;
7278               } // case 210
7279             case 218:
7280               {
7281                 input.readMessage(
7282                     getPostingUpdateTimeFieldBuilder().getBuilder(), extensionRegistry);
7283                 bitField0_ |= 0x04000000;
7284                 break;
7285               } // case 218
7286             case 226:
7287               {
7288                 companyDisplayName_ = input.readStringRequireUtf8();
7289                 bitField0_ |= 0x08000000;
7290                 break;
7291               } // case 226
7292             case 234:
7293               {
7294                 input.readMessage(getDerivedInfoFieldBuilder().getBuilder(), extensionRegistry);
7295                 bitField0_ |= 0x10000000;
7296                 break;
7297               } // case 234
7298             case 242:
7299               {
7300                 input.readMessage(
7301                     getProcessingOptionsFieldBuilder().getBuilder(), extensionRegistry);
7302                 bitField0_ |= 0x20000000;
7303                 break;
7304               } // case 242
7305             default:
7306               {
7307                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
7308                   done = true; // was an endgroup tag
7309                 }
7310                 break;
7311               } // default:
7312           } // switch (tag)
7313         } // while (!done)
7314       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
7315         throw e.unwrapIOException();
7316       } finally {
7317         onChanged();
7318       } // finally
7319       return this;
7320     }
7321 
7322     private int bitField0_;
7323 
7324     private java.lang.Object name_ = "";
7325     /**
7326      *
7327      *
7328      * <pre>
7329      * Required during job update.
7330      * The resource name for the job. This is generated by the service when a
7331      * job is created.
7332      * The format is
7333      * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
7334      * example, "projects/foo/tenants/bar/jobs/baz".
7335      * If tenant id is unspecified, the default tenant is used. For
7336      * example, "projects/foo/jobs/bar".
7337      * Use of this field in job queries and API calls is preferred over the use of
7338      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
7339      * value is unique.
7340      * </pre>
7341      *
7342      * <code>string name = 1;</code>
7343      *
7344      * @return The name.
7345      */
getName()7346     public java.lang.String getName() {
7347       java.lang.Object ref = name_;
7348       if (!(ref instanceof java.lang.String)) {
7349         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7350         java.lang.String s = bs.toStringUtf8();
7351         name_ = s;
7352         return s;
7353       } else {
7354         return (java.lang.String) ref;
7355       }
7356     }
7357     /**
7358      *
7359      *
7360      * <pre>
7361      * Required during job update.
7362      * The resource name for the job. This is generated by the service when a
7363      * job is created.
7364      * The format is
7365      * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
7366      * example, "projects/foo/tenants/bar/jobs/baz".
7367      * If tenant id is unspecified, the default tenant is used. For
7368      * example, "projects/foo/jobs/bar".
7369      * Use of this field in job queries and API calls is preferred over the use of
7370      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
7371      * value is unique.
7372      * </pre>
7373      *
7374      * <code>string name = 1;</code>
7375      *
7376      * @return The bytes for name.
7377      */
getNameBytes()7378     public com.google.protobuf.ByteString getNameBytes() {
7379       java.lang.Object ref = name_;
7380       if (ref instanceof String) {
7381         com.google.protobuf.ByteString b =
7382             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7383         name_ = b;
7384         return b;
7385       } else {
7386         return (com.google.protobuf.ByteString) ref;
7387       }
7388     }
7389     /**
7390      *
7391      *
7392      * <pre>
7393      * Required during job update.
7394      * The resource name for the job. This is generated by the service when a
7395      * job is created.
7396      * The format is
7397      * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
7398      * example, "projects/foo/tenants/bar/jobs/baz".
7399      * If tenant id is unspecified, the default tenant is used. For
7400      * example, "projects/foo/jobs/bar".
7401      * Use of this field in job queries and API calls is preferred over the use of
7402      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
7403      * value is unique.
7404      * </pre>
7405      *
7406      * <code>string name = 1;</code>
7407      *
7408      * @param value The name to set.
7409      * @return This builder for chaining.
7410      */
setName(java.lang.String value)7411     public Builder setName(java.lang.String value) {
7412       if (value == null) {
7413         throw new NullPointerException();
7414       }
7415       name_ = value;
7416       bitField0_ |= 0x00000001;
7417       onChanged();
7418       return this;
7419     }
7420     /**
7421      *
7422      *
7423      * <pre>
7424      * Required during job update.
7425      * The resource name for the job. This is generated by the service when a
7426      * job is created.
7427      * The format is
7428      * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
7429      * example, "projects/foo/tenants/bar/jobs/baz".
7430      * If tenant id is unspecified, the default tenant is used. For
7431      * example, "projects/foo/jobs/bar".
7432      * Use of this field in job queries and API calls is preferred over the use of
7433      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
7434      * value is unique.
7435      * </pre>
7436      *
7437      * <code>string name = 1;</code>
7438      *
7439      * @return This builder for chaining.
7440      */
clearName()7441     public Builder clearName() {
7442       name_ = getDefaultInstance().getName();
7443       bitField0_ = (bitField0_ & ~0x00000001);
7444       onChanged();
7445       return this;
7446     }
7447     /**
7448      *
7449      *
7450      * <pre>
7451      * Required during job update.
7452      * The resource name for the job. This is generated by the service when a
7453      * job is created.
7454      * The format is
7455      * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
7456      * example, "projects/foo/tenants/bar/jobs/baz".
7457      * If tenant id is unspecified, the default tenant is used. For
7458      * example, "projects/foo/jobs/bar".
7459      * Use of this field in job queries and API calls is preferred over the use of
7460      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] since this
7461      * value is unique.
7462      * </pre>
7463      *
7464      * <code>string name = 1;</code>
7465      *
7466      * @param value The bytes for name to set.
7467      * @return This builder for chaining.
7468      */
setNameBytes(com.google.protobuf.ByteString value)7469     public Builder setNameBytes(com.google.protobuf.ByteString value) {
7470       if (value == null) {
7471         throw new NullPointerException();
7472       }
7473       checkByteStringIsUtf8(value);
7474       name_ = value;
7475       bitField0_ |= 0x00000001;
7476       onChanged();
7477       return this;
7478     }
7479 
7480     private java.lang.Object company_ = "";
7481     /**
7482      *
7483      *
7484      * <pre>
7485      * Required. The resource name of the company listing the job.
7486      * The format is
7487      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
7488      * example, "projects/foo/tenants/bar/companies/baz".
7489      * If tenant id is unspecified, the default tenant is used. For
7490      * example, "projects/foo/companies/bar".
7491      * </pre>
7492      *
7493      * <code>
7494      * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
7495      * </code>
7496      *
7497      * @return The company.
7498      */
getCompany()7499     public java.lang.String getCompany() {
7500       java.lang.Object ref = company_;
7501       if (!(ref instanceof java.lang.String)) {
7502         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7503         java.lang.String s = bs.toStringUtf8();
7504         company_ = s;
7505         return s;
7506       } else {
7507         return (java.lang.String) ref;
7508       }
7509     }
7510     /**
7511      *
7512      *
7513      * <pre>
7514      * Required. The resource name of the company listing the job.
7515      * The format is
7516      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
7517      * example, "projects/foo/tenants/bar/companies/baz".
7518      * If tenant id is unspecified, the default tenant is used. For
7519      * example, "projects/foo/companies/bar".
7520      * </pre>
7521      *
7522      * <code>
7523      * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
7524      * </code>
7525      *
7526      * @return The bytes for company.
7527      */
getCompanyBytes()7528     public com.google.protobuf.ByteString getCompanyBytes() {
7529       java.lang.Object ref = company_;
7530       if (ref instanceof String) {
7531         com.google.protobuf.ByteString b =
7532             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7533         company_ = b;
7534         return b;
7535       } else {
7536         return (com.google.protobuf.ByteString) ref;
7537       }
7538     }
7539     /**
7540      *
7541      *
7542      * <pre>
7543      * Required. The resource name of the company listing the job.
7544      * The format is
7545      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
7546      * example, "projects/foo/tenants/bar/companies/baz".
7547      * If tenant id is unspecified, the default tenant is used. For
7548      * example, "projects/foo/companies/bar".
7549      * </pre>
7550      *
7551      * <code>
7552      * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
7553      * </code>
7554      *
7555      * @param value The company to set.
7556      * @return This builder for chaining.
7557      */
setCompany(java.lang.String value)7558     public Builder setCompany(java.lang.String value) {
7559       if (value == null) {
7560         throw new NullPointerException();
7561       }
7562       company_ = value;
7563       bitField0_ |= 0x00000002;
7564       onChanged();
7565       return this;
7566     }
7567     /**
7568      *
7569      *
7570      * <pre>
7571      * Required. The resource name of the company listing the job.
7572      * The format is
7573      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
7574      * example, "projects/foo/tenants/bar/companies/baz".
7575      * If tenant id is unspecified, the default tenant is used. For
7576      * example, "projects/foo/companies/bar".
7577      * </pre>
7578      *
7579      * <code>
7580      * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
7581      * </code>
7582      *
7583      * @return This builder for chaining.
7584      */
clearCompany()7585     public Builder clearCompany() {
7586       company_ = getDefaultInstance().getCompany();
7587       bitField0_ = (bitField0_ & ~0x00000002);
7588       onChanged();
7589       return this;
7590     }
7591     /**
7592      *
7593      *
7594      * <pre>
7595      * Required. The resource name of the company listing the job.
7596      * The format is
7597      * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
7598      * example, "projects/foo/tenants/bar/companies/baz".
7599      * If tenant id is unspecified, the default tenant is used. For
7600      * example, "projects/foo/companies/bar".
7601      * </pre>
7602      *
7603      * <code>
7604      * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
7605      * </code>
7606      *
7607      * @param value The bytes for company to set.
7608      * @return This builder for chaining.
7609      */
setCompanyBytes(com.google.protobuf.ByteString value)7610     public Builder setCompanyBytes(com.google.protobuf.ByteString value) {
7611       if (value == null) {
7612         throw new NullPointerException();
7613       }
7614       checkByteStringIsUtf8(value);
7615       company_ = value;
7616       bitField0_ |= 0x00000002;
7617       onChanged();
7618       return this;
7619     }
7620 
7621     private java.lang.Object requisitionId_ = "";
7622     /**
7623      *
7624      *
7625      * <pre>
7626      * Required. The requisition ID, also referred to as the posting ID, is
7627      * assigned by the client to identify a job. This field is intended to be used
7628      * by clients for client identification and tracking of postings. A job isn't
7629      * allowed to be created if there is another job with the same
7630      * [company][google.cloud.talent.v4beta1.Job.name],
7631      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
7632      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
7633      * The maximum number of allowed characters is 255.
7634      * </pre>
7635      *
7636      * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
7637      *
7638      * @return The requisitionId.
7639      */
getRequisitionId()7640     public java.lang.String getRequisitionId() {
7641       java.lang.Object ref = requisitionId_;
7642       if (!(ref instanceof java.lang.String)) {
7643         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7644         java.lang.String s = bs.toStringUtf8();
7645         requisitionId_ = s;
7646         return s;
7647       } else {
7648         return (java.lang.String) ref;
7649       }
7650     }
7651     /**
7652      *
7653      *
7654      * <pre>
7655      * Required. The requisition ID, also referred to as the posting ID, is
7656      * assigned by the client to identify a job. This field is intended to be used
7657      * by clients for client identification and tracking of postings. A job isn't
7658      * allowed to be created if there is another job with the same
7659      * [company][google.cloud.talent.v4beta1.Job.name],
7660      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
7661      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
7662      * The maximum number of allowed characters is 255.
7663      * </pre>
7664      *
7665      * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
7666      *
7667      * @return The bytes for requisitionId.
7668      */
getRequisitionIdBytes()7669     public com.google.protobuf.ByteString getRequisitionIdBytes() {
7670       java.lang.Object ref = requisitionId_;
7671       if (ref instanceof String) {
7672         com.google.protobuf.ByteString b =
7673             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7674         requisitionId_ = b;
7675         return b;
7676       } else {
7677         return (com.google.protobuf.ByteString) ref;
7678       }
7679     }
7680     /**
7681      *
7682      *
7683      * <pre>
7684      * Required. The requisition ID, also referred to as the posting ID, is
7685      * assigned by the client to identify a job. This field is intended to be used
7686      * by clients for client identification and tracking of postings. A job isn't
7687      * allowed to be created if there is another job with the same
7688      * [company][google.cloud.talent.v4beta1.Job.name],
7689      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
7690      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
7691      * The maximum number of allowed characters is 255.
7692      * </pre>
7693      *
7694      * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
7695      *
7696      * @param value The requisitionId to set.
7697      * @return This builder for chaining.
7698      */
setRequisitionId(java.lang.String value)7699     public Builder setRequisitionId(java.lang.String value) {
7700       if (value == null) {
7701         throw new NullPointerException();
7702       }
7703       requisitionId_ = value;
7704       bitField0_ |= 0x00000004;
7705       onChanged();
7706       return this;
7707     }
7708     /**
7709      *
7710      *
7711      * <pre>
7712      * Required. The requisition ID, also referred to as the posting ID, is
7713      * assigned by the client to identify a job. This field is intended to be used
7714      * by clients for client identification and tracking of postings. A job isn't
7715      * allowed to be created if there is another job with the same
7716      * [company][google.cloud.talent.v4beta1.Job.name],
7717      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
7718      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
7719      * The maximum number of allowed characters is 255.
7720      * </pre>
7721      *
7722      * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
7723      *
7724      * @return This builder for chaining.
7725      */
clearRequisitionId()7726     public Builder clearRequisitionId() {
7727       requisitionId_ = getDefaultInstance().getRequisitionId();
7728       bitField0_ = (bitField0_ & ~0x00000004);
7729       onChanged();
7730       return this;
7731     }
7732     /**
7733      *
7734      *
7735      * <pre>
7736      * Required. The requisition ID, also referred to as the posting ID, is
7737      * assigned by the client to identify a job. This field is intended to be used
7738      * by clients for client identification and tracking of postings. A job isn't
7739      * allowed to be created if there is another job with the same
7740      * [company][google.cloud.talent.v4beta1.Job.name],
7741      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
7742      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
7743      * The maximum number of allowed characters is 255.
7744      * </pre>
7745      *
7746      * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
7747      *
7748      * @param value The bytes for requisitionId to set.
7749      * @return This builder for chaining.
7750      */
setRequisitionIdBytes(com.google.protobuf.ByteString value)7751     public Builder setRequisitionIdBytes(com.google.protobuf.ByteString value) {
7752       if (value == null) {
7753         throw new NullPointerException();
7754       }
7755       checkByteStringIsUtf8(value);
7756       requisitionId_ = value;
7757       bitField0_ |= 0x00000004;
7758       onChanged();
7759       return this;
7760     }
7761 
7762     private java.lang.Object title_ = "";
7763     /**
7764      *
7765      *
7766      * <pre>
7767      * Required. The title of the job, such as "Software Engineer"
7768      * The maximum number of allowed characters is 500.
7769      * </pre>
7770      *
7771      * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
7772      *
7773      * @return The title.
7774      */
getTitle()7775     public java.lang.String getTitle() {
7776       java.lang.Object ref = title_;
7777       if (!(ref instanceof java.lang.String)) {
7778         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7779         java.lang.String s = bs.toStringUtf8();
7780         title_ = s;
7781         return s;
7782       } else {
7783         return (java.lang.String) ref;
7784       }
7785     }
7786     /**
7787      *
7788      *
7789      * <pre>
7790      * Required. The title of the job, such as "Software Engineer"
7791      * The maximum number of allowed characters is 500.
7792      * </pre>
7793      *
7794      * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
7795      *
7796      * @return The bytes for title.
7797      */
getTitleBytes()7798     public com.google.protobuf.ByteString getTitleBytes() {
7799       java.lang.Object ref = title_;
7800       if (ref instanceof String) {
7801         com.google.protobuf.ByteString b =
7802             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7803         title_ = b;
7804         return b;
7805       } else {
7806         return (com.google.protobuf.ByteString) ref;
7807       }
7808     }
7809     /**
7810      *
7811      *
7812      * <pre>
7813      * Required. The title of the job, such as "Software Engineer"
7814      * The maximum number of allowed characters is 500.
7815      * </pre>
7816      *
7817      * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
7818      *
7819      * @param value The title to set.
7820      * @return This builder for chaining.
7821      */
setTitle(java.lang.String value)7822     public Builder setTitle(java.lang.String value) {
7823       if (value == null) {
7824         throw new NullPointerException();
7825       }
7826       title_ = value;
7827       bitField0_ |= 0x00000008;
7828       onChanged();
7829       return this;
7830     }
7831     /**
7832      *
7833      *
7834      * <pre>
7835      * Required. The title of the job, such as "Software Engineer"
7836      * The maximum number of allowed characters is 500.
7837      * </pre>
7838      *
7839      * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
7840      *
7841      * @return This builder for chaining.
7842      */
clearTitle()7843     public Builder clearTitle() {
7844       title_ = getDefaultInstance().getTitle();
7845       bitField0_ = (bitField0_ & ~0x00000008);
7846       onChanged();
7847       return this;
7848     }
7849     /**
7850      *
7851      *
7852      * <pre>
7853      * Required. The title of the job, such as "Software Engineer"
7854      * The maximum number of allowed characters is 500.
7855      * </pre>
7856      *
7857      * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
7858      *
7859      * @param value The bytes for title to set.
7860      * @return This builder for chaining.
7861      */
setTitleBytes(com.google.protobuf.ByteString value)7862     public Builder setTitleBytes(com.google.protobuf.ByteString value) {
7863       if (value == null) {
7864         throw new NullPointerException();
7865       }
7866       checkByteStringIsUtf8(value);
7867       title_ = value;
7868       bitField0_ |= 0x00000008;
7869       onChanged();
7870       return this;
7871     }
7872 
7873     private java.lang.Object description_ = "";
7874     /**
7875      *
7876      *
7877      * <pre>
7878      * Required. The description of the job, which typically includes a
7879      * multi-paragraph description of the company and related information.
7880      * Separate fields are provided on the job object for
7881      * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
7882      * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
7883      * job characteristics. Use of these separate job fields is recommended.
7884      * This field accepts and sanitizes HTML input, and also accepts
7885      * bold, italic, ordered list, and unordered list markup tags.
7886      * The maximum number of allowed characters is 100,000.
7887      * </pre>
7888      *
7889      * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
7890      *
7891      * @return The description.
7892      */
getDescription()7893     public java.lang.String getDescription() {
7894       java.lang.Object ref = description_;
7895       if (!(ref instanceof java.lang.String)) {
7896         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7897         java.lang.String s = bs.toStringUtf8();
7898         description_ = s;
7899         return s;
7900       } else {
7901         return (java.lang.String) ref;
7902       }
7903     }
7904     /**
7905      *
7906      *
7907      * <pre>
7908      * Required. The description of the job, which typically includes a
7909      * multi-paragraph description of the company and related information.
7910      * Separate fields are provided on the job object for
7911      * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
7912      * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
7913      * job characteristics. Use of these separate job fields is recommended.
7914      * This field accepts and sanitizes HTML input, and also accepts
7915      * bold, italic, ordered list, and unordered list markup tags.
7916      * The maximum number of allowed characters is 100,000.
7917      * </pre>
7918      *
7919      * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
7920      *
7921      * @return The bytes for description.
7922      */
getDescriptionBytes()7923     public com.google.protobuf.ByteString getDescriptionBytes() {
7924       java.lang.Object ref = description_;
7925       if (ref instanceof String) {
7926         com.google.protobuf.ByteString b =
7927             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7928         description_ = b;
7929         return b;
7930       } else {
7931         return (com.google.protobuf.ByteString) ref;
7932       }
7933     }
7934     /**
7935      *
7936      *
7937      * <pre>
7938      * Required. The description of the job, which typically includes a
7939      * multi-paragraph description of the company and related information.
7940      * Separate fields are provided on the job object for
7941      * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
7942      * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
7943      * job characteristics. Use of these separate job fields is recommended.
7944      * This field accepts and sanitizes HTML input, and also accepts
7945      * bold, italic, ordered list, and unordered list markup tags.
7946      * The maximum number of allowed characters is 100,000.
7947      * </pre>
7948      *
7949      * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
7950      *
7951      * @param value The description to set.
7952      * @return This builder for chaining.
7953      */
setDescription(java.lang.String value)7954     public Builder setDescription(java.lang.String value) {
7955       if (value == null) {
7956         throw new NullPointerException();
7957       }
7958       description_ = value;
7959       bitField0_ |= 0x00000010;
7960       onChanged();
7961       return this;
7962     }
7963     /**
7964      *
7965      *
7966      * <pre>
7967      * Required. The description of the job, which typically includes a
7968      * multi-paragraph description of the company and related information.
7969      * Separate fields are provided on the job object for
7970      * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
7971      * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
7972      * job characteristics. Use of these separate job fields is recommended.
7973      * This field accepts and sanitizes HTML input, and also accepts
7974      * bold, italic, ordered list, and unordered list markup tags.
7975      * The maximum number of allowed characters is 100,000.
7976      * </pre>
7977      *
7978      * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
7979      *
7980      * @return This builder for chaining.
7981      */
clearDescription()7982     public Builder clearDescription() {
7983       description_ = getDefaultInstance().getDescription();
7984       bitField0_ = (bitField0_ & ~0x00000010);
7985       onChanged();
7986       return this;
7987     }
7988     /**
7989      *
7990      *
7991      * <pre>
7992      * Required. The description of the job, which typically includes a
7993      * multi-paragraph description of the company and related information.
7994      * Separate fields are provided on the job object for
7995      * [responsibilities][google.cloud.talent.v4beta1.Job.responsibilities],
7996      * [qualifications][google.cloud.talent.v4beta1.Job.qualifications], and other
7997      * job characteristics. Use of these separate job fields is recommended.
7998      * This field accepts and sanitizes HTML input, and also accepts
7999      * bold, italic, ordered list, and unordered list markup tags.
8000      * The maximum number of allowed characters is 100,000.
8001      * </pre>
8002      *
8003      * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
8004      *
8005      * @param value The bytes for description to set.
8006      * @return This builder for chaining.
8007      */
setDescriptionBytes(com.google.protobuf.ByteString value)8008     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
8009       if (value == null) {
8010         throw new NullPointerException();
8011       }
8012       checkByteStringIsUtf8(value);
8013       description_ = value;
8014       bitField0_ |= 0x00000010;
8015       onChanged();
8016       return this;
8017     }
8018 
8019     private com.google.protobuf.LazyStringList addresses_ =
8020         com.google.protobuf.LazyStringArrayList.EMPTY;
8021 
ensureAddressesIsMutable()8022     private void ensureAddressesIsMutable() {
8023       if (!((bitField0_ & 0x00000020) != 0)) {
8024         addresses_ = new com.google.protobuf.LazyStringArrayList(addresses_);
8025         bitField0_ |= 0x00000020;
8026       }
8027     }
8028     /**
8029      *
8030      *
8031      * <pre>
8032      * Strongly recommended for the best service experience.
8033      * Location(s) where the employer is looking to hire for this job posting.
8034      * Specifying the full street address(es) of the hiring location enables
8035      * better API results, especially job searches by commute time.
8036      * At most 50 locations are allowed for best search performance. If a job has
8037      * more locations, it is suggested to split it into multiple jobs with unique
8038      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8039      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8040      * same [company][google.cloud.talent.v4beta1.Job.company],
8041      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8042      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8043      * allowed. If the original
8044      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8045      * preserved, a custom field should be used for storage. It is also suggested
8046      * to group the locations that close to each other in the same job for better
8047      * search experience.
8048      * The maximum number of allowed characters is 500.
8049      * </pre>
8050      *
8051      * <code>repeated string addresses = 6;</code>
8052      *
8053      * @return A list containing the addresses.
8054      */
getAddressesList()8055     public com.google.protobuf.ProtocolStringList getAddressesList() {
8056       return addresses_.getUnmodifiableView();
8057     }
8058     /**
8059      *
8060      *
8061      * <pre>
8062      * Strongly recommended for the best service experience.
8063      * Location(s) where the employer is looking to hire for this job posting.
8064      * Specifying the full street address(es) of the hiring location enables
8065      * better API results, especially job searches by commute time.
8066      * At most 50 locations are allowed for best search performance. If a job has
8067      * more locations, it is suggested to split it into multiple jobs with unique
8068      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8069      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8070      * same [company][google.cloud.talent.v4beta1.Job.company],
8071      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8072      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8073      * allowed. If the original
8074      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8075      * preserved, a custom field should be used for storage. It is also suggested
8076      * to group the locations that close to each other in the same job for better
8077      * search experience.
8078      * The maximum number of allowed characters is 500.
8079      * </pre>
8080      *
8081      * <code>repeated string addresses = 6;</code>
8082      *
8083      * @return The count of addresses.
8084      */
getAddressesCount()8085     public int getAddressesCount() {
8086       return addresses_.size();
8087     }
8088     /**
8089      *
8090      *
8091      * <pre>
8092      * Strongly recommended for the best service experience.
8093      * Location(s) where the employer is looking to hire for this job posting.
8094      * Specifying the full street address(es) of the hiring location enables
8095      * better API results, especially job searches by commute time.
8096      * At most 50 locations are allowed for best search performance. If a job has
8097      * more locations, it is suggested to split it into multiple jobs with unique
8098      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8099      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8100      * same [company][google.cloud.talent.v4beta1.Job.company],
8101      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8102      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8103      * allowed. If the original
8104      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8105      * preserved, a custom field should be used for storage. It is also suggested
8106      * to group the locations that close to each other in the same job for better
8107      * search experience.
8108      * The maximum number of allowed characters is 500.
8109      * </pre>
8110      *
8111      * <code>repeated string addresses = 6;</code>
8112      *
8113      * @param index The index of the element to return.
8114      * @return The addresses at the given index.
8115      */
getAddresses(int index)8116     public java.lang.String getAddresses(int index) {
8117       return addresses_.get(index);
8118     }
8119     /**
8120      *
8121      *
8122      * <pre>
8123      * Strongly recommended for the best service experience.
8124      * Location(s) where the employer is looking to hire for this job posting.
8125      * Specifying the full street address(es) of the hiring location enables
8126      * better API results, especially job searches by commute time.
8127      * At most 50 locations are allowed for best search performance. If a job has
8128      * more locations, it is suggested to split it into multiple jobs with unique
8129      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8130      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8131      * same [company][google.cloud.talent.v4beta1.Job.company],
8132      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8133      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8134      * allowed. If the original
8135      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8136      * preserved, a custom field should be used for storage. It is also suggested
8137      * to group the locations that close to each other in the same job for better
8138      * search experience.
8139      * The maximum number of allowed characters is 500.
8140      * </pre>
8141      *
8142      * <code>repeated string addresses = 6;</code>
8143      *
8144      * @param index The index of the value to return.
8145      * @return The bytes of the addresses at the given index.
8146      */
getAddressesBytes(int index)8147     public com.google.protobuf.ByteString getAddressesBytes(int index) {
8148       return addresses_.getByteString(index);
8149     }
8150     /**
8151      *
8152      *
8153      * <pre>
8154      * Strongly recommended for the best service experience.
8155      * Location(s) where the employer is looking to hire for this job posting.
8156      * Specifying the full street address(es) of the hiring location enables
8157      * better API results, especially job searches by commute time.
8158      * At most 50 locations are allowed for best search performance. If a job has
8159      * more locations, it is suggested to split it into multiple jobs with unique
8160      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8161      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8162      * same [company][google.cloud.talent.v4beta1.Job.company],
8163      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8164      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8165      * allowed. If the original
8166      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8167      * preserved, a custom field should be used for storage. It is also suggested
8168      * to group the locations that close to each other in the same job for better
8169      * search experience.
8170      * The maximum number of allowed characters is 500.
8171      * </pre>
8172      *
8173      * <code>repeated string addresses = 6;</code>
8174      *
8175      * @param index The index to set the value at.
8176      * @param value The addresses to set.
8177      * @return This builder for chaining.
8178      */
setAddresses(int index, java.lang.String value)8179     public Builder setAddresses(int index, java.lang.String value) {
8180       if (value == null) {
8181         throw new NullPointerException();
8182       }
8183       ensureAddressesIsMutable();
8184       addresses_.set(index, value);
8185       onChanged();
8186       return this;
8187     }
8188     /**
8189      *
8190      *
8191      * <pre>
8192      * Strongly recommended for the best service experience.
8193      * Location(s) where the employer is looking to hire for this job posting.
8194      * Specifying the full street address(es) of the hiring location enables
8195      * better API results, especially job searches by commute time.
8196      * At most 50 locations are allowed for best search performance. If a job has
8197      * more locations, it is suggested to split it into multiple jobs with unique
8198      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8199      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8200      * same [company][google.cloud.talent.v4beta1.Job.company],
8201      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8202      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8203      * allowed. If the original
8204      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8205      * preserved, a custom field should be used for storage. It is also suggested
8206      * to group the locations that close to each other in the same job for better
8207      * search experience.
8208      * The maximum number of allowed characters is 500.
8209      * </pre>
8210      *
8211      * <code>repeated string addresses = 6;</code>
8212      *
8213      * @param value The addresses to add.
8214      * @return This builder for chaining.
8215      */
addAddresses(java.lang.String value)8216     public Builder addAddresses(java.lang.String value) {
8217       if (value == null) {
8218         throw new NullPointerException();
8219       }
8220       ensureAddressesIsMutable();
8221       addresses_.add(value);
8222       onChanged();
8223       return this;
8224     }
8225     /**
8226      *
8227      *
8228      * <pre>
8229      * Strongly recommended for the best service experience.
8230      * Location(s) where the employer is looking to hire for this job posting.
8231      * Specifying the full street address(es) of the hiring location enables
8232      * better API results, especially job searches by commute time.
8233      * At most 50 locations are allowed for best search performance. If a job has
8234      * more locations, it is suggested to split it into multiple jobs with unique
8235      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8236      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8237      * same [company][google.cloud.talent.v4beta1.Job.company],
8238      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8239      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8240      * allowed. If the original
8241      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8242      * preserved, a custom field should be used for storage. It is also suggested
8243      * to group the locations that close to each other in the same job for better
8244      * search experience.
8245      * The maximum number of allowed characters is 500.
8246      * </pre>
8247      *
8248      * <code>repeated string addresses = 6;</code>
8249      *
8250      * @param values The addresses to add.
8251      * @return This builder for chaining.
8252      */
addAllAddresses(java.lang.Iterable<java.lang.String> values)8253     public Builder addAllAddresses(java.lang.Iterable<java.lang.String> values) {
8254       ensureAddressesIsMutable();
8255       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, addresses_);
8256       onChanged();
8257       return this;
8258     }
8259     /**
8260      *
8261      *
8262      * <pre>
8263      * Strongly recommended for the best service experience.
8264      * Location(s) where the employer is looking to hire for this job posting.
8265      * Specifying the full street address(es) of the hiring location enables
8266      * better API results, especially job searches by commute time.
8267      * At most 50 locations are allowed for best search performance. If a job has
8268      * more locations, it is suggested to split it into multiple jobs with unique
8269      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8270      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8271      * same [company][google.cloud.talent.v4beta1.Job.company],
8272      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8273      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8274      * allowed. If the original
8275      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8276      * preserved, a custom field should be used for storage. It is also suggested
8277      * to group the locations that close to each other in the same job for better
8278      * search experience.
8279      * The maximum number of allowed characters is 500.
8280      * </pre>
8281      *
8282      * <code>repeated string addresses = 6;</code>
8283      *
8284      * @return This builder for chaining.
8285      */
clearAddresses()8286     public Builder clearAddresses() {
8287       addresses_ = com.google.protobuf.LazyStringArrayList.EMPTY;
8288       bitField0_ = (bitField0_ & ~0x00000020);
8289       onChanged();
8290       return this;
8291     }
8292     /**
8293      *
8294      *
8295      * <pre>
8296      * Strongly recommended for the best service experience.
8297      * Location(s) where the employer is looking to hire for this job posting.
8298      * Specifying the full street address(es) of the hiring location enables
8299      * better API results, especially job searches by commute time.
8300      * At most 50 locations are allowed for best search performance. If a job has
8301      * more locations, it is suggested to split it into multiple jobs with unique
8302      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id]s (e.g.
8303      * 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the
8304      * same [company][google.cloud.talent.v4beta1.Job.company],
8305      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
8306      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] are not
8307      * allowed. If the original
8308      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id] must be
8309      * preserved, a custom field should be used for storage. It is also suggested
8310      * to group the locations that close to each other in the same job for better
8311      * search experience.
8312      * The maximum number of allowed characters is 500.
8313      * </pre>
8314      *
8315      * <code>repeated string addresses = 6;</code>
8316      *
8317      * @param value The bytes of the addresses to add.
8318      * @return This builder for chaining.
8319      */
addAddressesBytes(com.google.protobuf.ByteString value)8320     public Builder addAddressesBytes(com.google.protobuf.ByteString value) {
8321       if (value == null) {
8322         throw new NullPointerException();
8323       }
8324       checkByteStringIsUtf8(value);
8325       ensureAddressesIsMutable();
8326       addresses_.add(value);
8327       onChanged();
8328       return this;
8329     }
8330 
8331     private com.google.cloud.talent.v4beta1.Job.ApplicationInfo applicationInfo_;
8332     private com.google.protobuf.SingleFieldBuilderV3<
8333             com.google.cloud.talent.v4beta1.Job.ApplicationInfo,
8334             com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder,
8335             com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder>
8336         applicationInfoBuilder_;
8337     /**
8338      *
8339      *
8340      * <pre>
8341      * Job application information.
8342      * </pre>
8343      *
8344      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8345      *
8346      * @return Whether the applicationInfo field is set.
8347      */
hasApplicationInfo()8348     public boolean hasApplicationInfo() {
8349       return ((bitField0_ & 0x00000040) != 0);
8350     }
8351     /**
8352      *
8353      *
8354      * <pre>
8355      * Job application information.
8356      * </pre>
8357      *
8358      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8359      *
8360      * @return The applicationInfo.
8361      */
getApplicationInfo()8362     public com.google.cloud.talent.v4beta1.Job.ApplicationInfo getApplicationInfo() {
8363       if (applicationInfoBuilder_ == null) {
8364         return applicationInfo_ == null
8365             ? com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance()
8366             : applicationInfo_;
8367       } else {
8368         return applicationInfoBuilder_.getMessage();
8369       }
8370     }
8371     /**
8372      *
8373      *
8374      * <pre>
8375      * Job application information.
8376      * </pre>
8377      *
8378      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8379      */
setApplicationInfo(com.google.cloud.talent.v4beta1.Job.ApplicationInfo value)8380     public Builder setApplicationInfo(com.google.cloud.talent.v4beta1.Job.ApplicationInfo value) {
8381       if (applicationInfoBuilder_ == null) {
8382         if (value == null) {
8383           throw new NullPointerException();
8384         }
8385         applicationInfo_ = value;
8386       } else {
8387         applicationInfoBuilder_.setMessage(value);
8388       }
8389       bitField0_ |= 0x00000040;
8390       onChanged();
8391       return this;
8392     }
8393     /**
8394      *
8395      *
8396      * <pre>
8397      * Job application information.
8398      * </pre>
8399      *
8400      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8401      */
setApplicationInfo( com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder builderForValue)8402     public Builder setApplicationInfo(
8403         com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder builderForValue) {
8404       if (applicationInfoBuilder_ == null) {
8405         applicationInfo_ = builderForValue.build();
8406       } else {
8407         applicationInfoBuilder_.setMessage(builderForValue.build());
8408       }
8409       bitField0_ |= 0x00000040;
8410       onChanged();
8411       return this;
8412     }
8413     /**
8414      *
8415      *
8416      * <pre>
8417      * Job application information.
8418      * </pre>
8419      *
8420      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8421      */
mergeApplicationInfo(com.google.cloud.talent.v4beta1.Job.ApplicationInfo value)8422     public Builder mergeApplicationInfo(com.google.cloud.talent.v4beta1.Job.ApplicationInfo value) {
8423       if (applicationInfoBuilder_ == null) {
8424         if (((bitField0_ & 0x00000040) != 0)
8425             && applicationInfo_ != null
8426             && applicationInfo_
8427                 != com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance()) {
8428           getApplicationInfoBuilder().mergeFrom(value);
8429         } else {
8430           applicationInfo_ = value;
8431         }
8432       } else {
8433         applicationInfoBuilder_.mergeFrom(value);
8434       }
8435       bitField0_ |= 0x00000040;
8436       onChanged();
8437       return this;
8438     }
8439     /**
8440      *
8441      *
8442      * <pre>
8443      * Job application information.
8444      * </pre>
8445      *
8446      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8447      */
clearApplicationInfo()8448     public Builder clearApplicationInfo() {
8449       bitField0_ = (bitField0_ & ~0x00000040);
8450       applicationInfo_ = null;
8451       if (applicationInfoBuilder_ != null) {
8452         applicationInfoBuilder_.dispose();
8453         applicationInfoBuilder_ = null;
8454       }
8455       onChanged();
8456       return this;
8457     }
8458     /**
8459      *
8460      *
8461      * <pre>
8462      * Job application information.
8463      * </pre>
8464      *
8465      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8466      */
getApplicationInfoBuilder()8467     public com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder getApplicationInfoBuilder() {
8468       bitField0_ |= 0x00000040;
8469       onChanged();
8470       return getApplicationInfoFieldBuilder().getBuilder();
8471     }
8472     /**
8473      *
8474      *
8475      * <pre>
8476      * Job application information.
8477      * </pre>
8478      *
8479      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8480      */
8481     public com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder
getApplicationInfoOrBuilder()8482         getApplicationInfoOrBuilder() {
8483       if (applicationInfoBuilder_ != null) {
8484         return applicationInfoBuilder_.getMessageOrBuilder();
8485       } else {
8486         return applicationInfo_ == null
8487             ? com.google.cloud.talent.v4beta1.Job.ApplicationInfo.getDefaultInstance()
8488             : applicationInfo_;
8489       }
8490     }
8491     /**
8492      *
8493      *
8494      * <pre>
8495      * Job application information.
8496      * </pre>
8497      *
8498      * <code>.google.cloud.talent.v4beta1.Job.ApplicationInfo application_info = 7;</code>
8499      */
8500     private com.google.protobuf.SingleFieldBuilderV3<
8501             com.google.cloud.talent.v4beta1.Job.ApplicationInfo,
8502             com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder,
8503             com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder>
getApplicationInfoFieldBuilder()8504         getApplicationInfoFieldBuilder() {
8505       if (applicationInfoBuilder_ == null) {
8506         applicationInfoBuilder_ =
8507             new com.google.protobuf.SingleFieldBuilderV3<
8508                 com.google.cloud.talent.v4beta1.Job.ApplicationInfo,
8509                 com.google.cloud.talent.v4beta1.Job.ApplicationInfo.Builder,
8510                 com.google.cloud.talent.v4beta1.Job.ApplicationInfoOrBuilder>(
8511                 getApplicationInfo(), getParentForChildren(), isClean());
8512         applicationInfo_ = null;
8513       }
8514       return applicationInfoBuilder_;
8515     }
8516 
8517     private java.util.List<java.lang.Integer> jobBenefits_ = java.util.Collections.emptyList();
8518 
ensureJobBenefitsIsMutable()8519     private void ensureJobBenefitsIsMutable() {
8520       if (!((bitField0_ & 0x00000080) != 0)) {
8521         jobBenefits_ = new java.util.ArrayList<java.lang.Integer>(jobBenefits_);
8522         bitField0_ |= 0x00000080;
8523       }
8524     }
8525     /**
8526      *
8527      *
8528      * <pre>
8529      * The benefits included with the job.
8530      * </pre>
8531      *
8532      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8533      *
8534      * @return A list containing the jobBenefits.
8535      */
getJobBenefitsList()8536     public java.util.List<com.google.cloud.talent.v4beta1.JobBenefit> getJobBenefitsList() {
8537       return new com.google.protobuf.Internal.ListAdapter<
8538           java.lang.Integer, com.google.cloud.talent.v4beta1.JobBenefit>(
8539           jobBenefits_, jobBenefits_converter_);
8540     }
8541     /**
8542      *
8543      *
8544      * <pre>
8545      * The benefits included with the job.
8546      * </pre>
8547      *
8548      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8549      *
8550      * @return The count of jobBenefits.
8551      */
getJobBenefitsCount()8552     public int getJobBenefitsCount() {
8553       return jobBenefits_.size();
8554     }
8555     /**
8556      *
8557      *
8558      * <pre>
8559      * The benefits included with the job.
8560      * </pre>
8561      *
8562      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8563      *
8564      * @param index The index of the element to return.
8565      * @return The jobBenefits at the given index.
8566      */
getJobBenefits(int index)8567     public com.google.cloud.talent.v4beta1.JobBenefit getJobBenefits(int index) {
8568       return jobBenefits_converter_.convert(jobBenefits_.get(index));
8569     }
8570     /**
8571      *
8572      *
8573      * <pre>
8574      * The benefits included with the job.
8575      * </pre>
8576      *
8577      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8578      *
8579      * @param index The index to set the value at.
8580      * @param value The jobBenefits to set.
8581      * @return This builder for chaining.
8582      */
setJobBenefits(int index, com.google.cloud.talent.v4beta1.JobBenefit value)8583     public Builder setJobBenefits(int index, com.google.cloud.talent.v4beta1.JobBenefit value) {
8584       if (value == null) {
8585         throw new NullPointerException();
8586       }
8587       ensureJobBenefitsIsMutable();
8588       jobBenefits_.set(index, value.getNumber());
8589       onChanged();
8590       return this;
8591     }
8592     /**
8593      *
8594      *
8595      * <pre>
8596      * The benefits included with the job.
8597      * </pre>
8598      *
8599      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8600      *
8601      * @param value The jobBenefits to add.
8602      * @return This builder for chaining.
8603      */
addJobBenefits(com.google.cloud.talent.v4beta1.JobBenefit value)8604     public Builder addJobBenefits(com.google.cloud.talent.v4beta1.JobBenefit value) {
8605       if (value == null) {
8606         throw new NullPointerException();
8607       }
8608       ensureJobBenefitsIsMutable();
8609       jobBenefits_.add(value.getNumber());
8610       onChanged();
8611       return this;
8612     }
8613     /**
8614      *
8615      *
8616      * <pre>
8617      * The benefits included with the job.
8618      * </pre>
8619      *
8620      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8621      *
8622      * @param values The jobBenefits to add.
8623      * @return This builder for chaining.
8624      */
addAllJobBenefits( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobBenefit> values)8625     public Builder addAllJobBenefits(
8626         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.JobBenefit> values) {
8627       ensureJobBenefitsIsMutable();
8628       for (com.google.cloud.talent.v4beta1.JobBenefit value : values) {
8629         jobBenefits_.add(value.getNumber());
8630       }
8631       onChanged();
8632       return this;
8633     }
8634     /**
8635      *
8636      *
8637      * <pre>
8638      * The benefits included with the job.
8639      * </pre>
8640      *
8641      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8642      *
8643      * @return This builder for chaining.
8644      */
clearJobBenefits()8645     public Builder clearJobBenefits() {
8646       jobBenefits_ = java.util.Collections.emptyList();
8647       bitField0_ = (bitField0_ & ~0x00000080);
8648       onChanged();
8649       return this;
8650     }
8651     /**
8652      *
8653      *
8654      * <pre>
8655      * The benefits included with the job.
8656      * </pre>
8657      *
8658      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8659      *
8660      * @return A list containing the enum numeric values on the wire for jobBenefits.
8661      */
getJobBenefitsValueList()8662     public java.util.List<java.lang.Integer> getJobBenefitsValueList() {
8663       return java.util.Collections.unmodifiableList(jobBenefits_);
8664     }
8665     /**
8666      *
8667      *
8668      * <pre>
8669      * The benefits included with the job.
8670      * </pre>
8671      *
8672      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8673      *
8674      * @param index The index of the value to return.
8675      * @return The enum numeric value on the wire of jobBenefits at the given index.
8676      */
getJobBenefitsValue(int index)8677     public int getJobBenefitsValue(int index) {
8678       return jobBenefits_.get(index);
8679     }
8680     /**
8681      *
8682      *
8683      * <pre>
8684      * The benefits included with the job.
8685      * </pre>
8686      *
8687      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8688      *
8689      * @param index The index to set the value at.
8690      * @param value The enum numeric value on the wire for jobBenefits to set.
8691      * @return This builder for chaining.
8692      */
setJobBenefitsValue(int index, int value)8693     public Builder setJobBenefitsValue(int index, int value) {
8694       ensureJobBenefitsIsMutable();
8695       jobBenefits_.set(index, value);
8696       onChanged();
8697       return this;
8698     }
8699     /**
8700      *
8701      *
8702      * <pre>
8703      * The benefits included with the job.
8704      * </pre>
8705      *
8706      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8707      *
8708      * @param value The enum numeric value on the wire for jobBenefits to add.
8709      * @return This builder for chaining.
8710      */
addJobBenefitsValue(int value)8711     public Builder addJobBenefitsValue(int value) {
8712       ensureJobBenefitsIsMutable();
8713       jobBenefits_.add(value);
8714       onChanged();
8715       return this;
8716     }
8717     /**
8718      *
8719      *
8720      * <pre>
8721      * The benefits included with the job.
8722      * </pre>
8723      *
8724      * <code>repeated .google.cloud.talent.v4beta1.JobBenefit job_benefits = 8;</code>
8725      *
8726      * @param values The enum numeric values on the wire for jobBenefits to add.
8727      * @return This builder for chaining.
8728      */
addAllJobBenefitsValue(java.lang.Iterable<java.lang.Integer> values)8729     public Builder addAllJobBenefitsValue(java.lang.Iterable<java.lang.Integer> values) {
8730       ensureJobBenefitsIsMutable();
8731       for (int value : values) {
8732         jobBenefits_.add(value);
8733       }
8734       onChanged();
8735       return this;
8736     }
8737 
8738     private com.google.cloud.talent.v4beta1.CompensationInfo compensationInfo_;
8739     private com.google.protobuf.SingleFieldBuilderV3<
8740             com.google.cloud.talent.v4beta1.CompensationInfo,
8741             com.google.cloud.talent.v4beta1.CompensationInfo.Builder,
8742             com.google.cloud.talent.v4beta1.CompensationInfoOrBuilder>
8743         compensationInfoBuilder_;
8744     /**
8745      *
8746      *
8747      * <pre>
8748      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8749      * that will paid to the employee.
8750      * </pre>
8751      *
8752      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8753      *
8754      * @return Whether the compensationInfo field is set.
8755      */
hasCompensationInfo()8756     public boolean hasCompensationInfo() {
8757       return ((bitField0_ & 0x00000100) != 0);
8758     }
8759     /**
8760      *
8761      *
8762      * <pre>
8763      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8764      * that will paid to the employee.
8765      * </pre>
8766      *
8767      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8768      *
8769      * @return The compensationInfo.
8770      */
getCompensationInfo()8771     public com.google.cloud.talent.v4beta1.CompensationInfo getCompensationInfo() {
8772       if (compensationInfoBuilder_ == null) {
8773         return compensationInfo_ == null
8774             ? com.google.cloud.talent.v4beta1.CompensationInfo.getDefaultInstance()
8775             : compensationInfo_;
8776       } else {
8777         return compensationInfoBuilder_.getMessage();
8778       }
8779     }
8780     /**
8781      *
8782      *
8783      * <pre>
8784      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8785      * that will paid to the employee.
8786      * </pre>
8787      *
8788      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8789      */
setCompensationInfo(com.google.cloud.talent.v4beta1.CompensationInfo value)8790     public Builder setCompensationInfo(com.google.cloud.talent.v4beta1.CompensationInfo value) {
8791       if (compensationInfoBuilder_ == null) {
8792         if (value == null) {
8793           throw new NullPointerException();
8794         }
8795         compensationInfo_ = value;
8796       } else {
8797         compensationInfoBuilder_.setMessage(value);
8798       }
8799       bitField0_ |= 0x00000100;
8800       onChanged();
8801       return this;
8802     }
8803     /**
8804      *
8805      *
8806      * <pre>
8807      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8808      * that will paid to the employee.
8809      * </pre>
8810      *
8811      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8812      */
setCompensationInfo( com.google.cloud.talent.v4beta1.CompensationInfo.Builder builderForValue)8813     public Builder setCompensationInfo(
8814         com.google.cloud.talent.v4beta1.CompensationInfo.Builder builderForValue) {
8815       if (compensationInfoBuilder_ == null) {
8816         compensationInfo_ = builderForValue.build();
8817       } else {
8818         compensationInfoBuilder_.setMessage(builderForValue.build());
8819       }
8820       bitField0_ |= 0x00000100;
8821       onChanged();
8822       return this;
8823     }
8824     /**
8825      *
8826      *
8827      * <pre>
8828      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8829      * that will paid to the employee.
8830      * </pre>
8831      *
8832      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8833      */
mergeCompensationInfo(com.google.cloud.talent.v4beta1.CompensationInfo value)8834     public Builder mergeCompensationInfo(com.google.cloud.talent.v4beta1.CompensationInfo value) {
8835       if (compensationInfoBuilder_ == null) {
8836         if (((bitField0_ & 0x00000100) != 0)
8837             && compensationInfo_ != null
8838             && compensationInfo_
8839                 != com.google.cloud.talent.v4beta1.CompensationInfo.getDefaultInstance()) {
8840           getCompensationInfoBuilder().mergeFrom(value);
8841         } else {
8842           compensationInfo_ = value;
8843         }
8844       } else {
8845         compensationInfoBuilder_.mergeFrom(value);
8846       }
8847       bitField0_ |= 0x00000100;
8848       onChanged();
8849       return this;
8850     }
8851     /**
8852      *
8853      *
8854      * <pre>
8855      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8856      * that will paid to the employee.
8857      * </pre>
8858      *
8859      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8860      */
clearCompensationInfo()8861     public Builder clearCompensationInfo() {
8862       bitField0_ = (bitField0_ & ~0x00000100);
8863       compensationInfo_ = null;
8864       if (compensationInfoBuilder_ != null) {
8865         compensationInfoBuilder_.dispose();
8866         compensationInfoBuilder_ = null;
8867       }
8868       onChanged();
8869       return this;
8870     }
8871     /**
8872      *
8873      *
8874      * <pre>
8875      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8876      * that will paid to the employee.
8877      * </pre>
8878      *
8879      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8880      */
getCompensationInfoBuilder()8881     public com.google.cloud.talent.v4beta1.CompensationInfo.Builder getCompensationInfoBuilder() {
8882       bitField0_ |= 0x00000100;
8883       onChanged();
8884       return getCompensationInfoFieldBuilder().getBuilder();
8885     }
8886     /**
8887      *
8888      *
8889      * <pre>
8890      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8891      * that will paid to the employee.
8892      * </pre>
8893      *
8894      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8895      */
8896     public com.google.cloud.talent.v4beta1.CompensationInfoOrBuilder
getCompensationInfoOrBuilder()8897         getCompensationInfoOrBuilder() {
8898       if (compensationInfoBuilder_ != null) {
8899         return compensationInfoBuilder_.getMessageOrBuilder();
8900       } else {
8901         return compensationInfo_ == null
8902             ? com.google.cloud.talent.v4beta1.CompensationInfo.getDefaultInstance()
8903             : compensationInfo_;
8904       }
8905     }
8906     /**
8907      *
8908      *
8909      * <pre>
8910      * Job compensation information (a.k.a. "pay rate") i.e., the compensation
8911      * that will paid to the employee.
8912      * </pre>
8913      *
8914      * <code>.google.cloud.talent.v4beta1.CompensationInfo compensation_info = 9;</code>
8915      */
8916     private com.google.protobuf.SingleFieldBuilderV3<
8917             com.google.cloud.talent.v4beta1.CompensationInfo,
8918             com.google.cloud.talent.v4beta1.CompensationInfo.Builder,
8919             com.google.cloud.talent.v4beta1.CompensationInfoOrBuilder>
getCompensationInfoFieldBuilder()8920         getCompensationInfoFieldBuilder() {
8921       if (compensationInfoBuilder_ == null) {
8922         compensationInfoBuilder_ =
8923             new com.google.protobuf.SingleFieldBuilderV3<
8924                 com.google.cloud.talent.v4beta1.CompensationInfo,
8925                 com.google.cloud.talent.v4beta1.CompensationInfo.Builder,
8926                 com.google.cloud.talent.v4beta1.CompensationInfoOrBuilder>(
8927                 getCompensationInfo(), getParentForChildren(), isClean());
8928         compensationInfo_ = null;
8929       }
8930       return compensationInfoBuilder_;
8931     }
8932 
8933     private com.google.protobuf.MapField<
8934             java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
8935         customAttributes_;
8936 
8937     private com.google.protobuf.MapField<
8938             java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
internalGetCustomAttributes()8939         internalGetCustomAttributes() {
8940       if (customAttributes_ == null) {
8941         return com.google.protobuf.MapField.emptyMapField(
8942             CustomAttributesDefaultEntryHolder.defaultEntry);
8943       }
8944       return customAttributes_;
8945     }
8946 
8947     private com.google.protobuf.MapField<
8948             java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
internalGetMutableCustomAttributes()8949         internalGetMutableCustomAttributes() {
8950       if (customAttributes_ == null) {
8951         customAttributes_ =
8952             com.google.protobuf.MapField.newMapField(
8953                 CustomAttributesDefaultEntryHolder.defaultEntry);
8954       }
8955       if (!customAttributes_.isMutable()) {
8956         customAttributes_ = customAttributes_.copy();
8957       }
8958       bitField0_ |= 0x00000200;
8959       onChanged();
8960       return customAttributes_;
8961     }
8962 
getCustomAttributesCount()8963     public int getCustomAttributesCount() {
8964       return internalGetCustomAttributes().getMap().size();
8965     }
8966     /**
8967      *
8968      *
8969      * <pre>
8970      * A map of fields to hold both filterable and non-filterable custom job
8971      * attributes that are not covered by the provided structured fields.
8972      * The keys of the map are strings up to 64 bytes and must match the
8973      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
8974      * KEY_1_LIKE_THIS.
8975      * At most 100 filterable and at most 100 unfilterable keys are supported.
8976      * For filterable `string_values`, across all keys at most 200 values are
8977      * allowed, with each string no more than 255 characters. For unfilterable
8978      * `string_values`, the maximum total size of `string_values` across all keys
8979      * is 50KB.
8980      * </pre>
8981      *
8982      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
8983      * </code>
8984      */
8985     @java.lang.Override
containsCustomAttributes(java.lang.String key)8986     public boolean containsCustomAttributes(java.lang.String key) {
8987       if (key == null) {
8988         throw new NullPointerException("map key");
8989       }
8990       return internalGetCustomAttributes().getMap().containsKey(key);
8991     }
8992     /** Use {@link #getCustomAttributesMap()} instead. */
8993     @java.lang.Override
8994     @java.lang.Deprecated
8995     public java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
getCustomAttributes()8996         getCustomAttributes() {
8997       return getCustomAttributesMap();
8998     }
8999     /**
9000      *
9001      *
9002      * <pre>
9003      * A map of fields to hold both filterable and non-filterable custom job
9004      * attributes that are not covered by the provided structured fields.
9005      * The keys of the map are strings up to 64 bytes and must match the
9006      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9007      * KEY_1_LIKE_THIS.
9008      * At most 100 filterable and at most 100 unfilterable keys are supported.
9009      * For filterable `string_values`, across all keys at most 200 values are
9010      * allowed, with each string no more than 255 characters. For unfilterable
9011      * `string_values`, the maximum total size of `string_values` across all keys
9012      * is 50KB.
9013      * </pre>
9014      *
9015      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9016      * </code>
9017      */
9018     @java.lang.Override
9019     public java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
getCustomAttributesMap()9020         getCustomAttributesMap() {
9021       return internalGetCustomAttributes().getMap();
9022     }
9023     /**
9024      *
9025      *
9026      * <pre>
9027      * A map of fields to hold both filterable and non-filterable custom job
9028      * attributes that are not covered by the provided structured fields.
9029      * The keys of the map are strings up to 64 bytes and must match the
9030      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9031      * KEY_1_LIKE_THIS.
9032      * At most 100 filterable and at most 100 unfilterable keys are supported.
9033      * For filterable `string_values`, across all keys at most 200 values are
9034      * allowed, with each string no more than 255 characters. For unfilterable
9035      * `string_values`, the maximum total size of `string_values` across all keys
9036      * is 50KB.
9037      * </pre>
9038      *
9039      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9040      * </code>
9041      */
9042     @java.lang.Override
9043     public /* nullable */ com.google.cloud.talent.v4beta1.CustomAttribute
getCustomAttributesOrDefault( java.lang.String key, com.google.cloud.talent.v4beta1.CustomAttribute defaultValue)9044         getCustomAttributesOrDefault(
9045             java.lang.String key,
9046             /* nullable */
9047             com.google.cloud.talent.v4beta1.CustomAttribute defaultValue) {
9048       if (key == null) {
9049         throw new NullPointerException("map key");
9050       }
9051       java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> map =
9052           internalGetCustomAttributes().getMap();
9053       return map.containsKey(key) ? map.get(key) : defaultValue;
9054     }
9055     /**
9056      *
9057      *
9058      * <pre>
9059      * A map of fields to hold both filterable and non-filterable custom job
9060      * attributes that are not covered by the provided structured fields.
9061      * The keys of the map are strings up to 64 bytes and must match the
9062      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9063      * KEY_1_LIKE_THIS.
9064      * At most 100 filterable and at most 100 unfilterable keys are supported.
9065      * For filterable `string_values`, across all keys at most 200 values are
9066      * allowed, with each string no more than 255 characters. For unfilterable
9067      * `string_values`, the maximum total size of `string_values` across all keys
9068      * is 50KB.
9069      * </pre>
9070      *
9071      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9072      * </code>
9073      */
9074     @java.lang.Override
getCustomAttributesOrThrow( java.lang.String key)9075     public com.google.cloud.talent.v4beta1.CustomAttribute getCustomAttributesOrThrow(
9076         java.lang.String key) {
9077       if (key == null) {
9078         throw new NullPointerException("map key");
9079       }
9080       java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> map =
9081           internalGetCustomAttributes().getMap();
9082       if (!map.containsKey(key)) {
9083         throw new java.lang.IllegalArgumentException();
9084       }
9085       return map.get(key);
9086     }
9087 
clearCustomAttributes()9088     public Builder clearCustomAttributes() {
9089       bitField0_ = (bitField0_ & ~0x00000200);
9090       internalGetMutableCustomAttributes().getMutableMap().clear();
9091       return this;
9092     }
9093     /**
9094      *
9095      *
9096      * <pre>
9097      * A map of fields to hold both filterable and non-filterable custom job
9098      * attributes that are not covered by the provided structured fields.
9099      * The keys of the map are strings up to 64 bytes and must match the
9100      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9101      * KEY_1_LIKE_THIS.
9102      * At most 100 filterable and at most 100 unfilterable keys are supported.
9103      * For filterable `string_values`, across all keys at most 200 values are
9104      * allowed, with each string no more than 255 characters. For unfilterable
9105      * `string_values`, the maximum total size of `string_values` across all keys
9106      * is 50KB.
9107      * </pre>
9108      *
9109      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9110      * </code>
9111      */
removeCustomAttributes(java.lang.String key)9112     public Builder removeCustomAttributes(java.lang.String key) {
9113       if (key == null) {
9114         throw new NullPointerException("map key");
9115       }
9116       internalGetMutableCustomAttributes().getMutableMap().remove(key);
9117       return this;
9118     }
9119     /** Use alternate mutation accessors instead. */
9120     @java.lang.Deprecated
9121     public java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute>
getMutableCustomAttributes()9122         getMutableCustomAttributes() {
9123       bitField0_ |= 0x00000200;
9124       return internalGetMutableCustomAttributes().getMutableMap();
9125     }
9126     /**
9127      *
9128      *
9129      * <pre>
9130      * A map of fields to hold both filterable and non-filterable custom job
9131      * attributes that are not covered by the provided structured fields.
9132      * The keys of the map are strings up to 64 bytes and must match the
9133      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9134      * KEY_1_LIKE_THIS.
9135      * At most 100 filterable and at most 100 unfilterable keys are supported.
9136      * For filterable `string_values`, across all keys at most 200 values are
9137      * allowed, with each string no more than 255 characters. For unfilterable
9138      * `string_values`, the maximum total size of `string_values` across all keys
9139      * is 50KB.
9140      * </pre>
9141      *
9142      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9143      * </code>
9144      */
putCustomAttributes( java.lang.String key, com.google.cloud.talent.v4beta1.CustomAttribute value)9145     public Builder putCustomAttributes(
9146         java.lang.String key, com.google.cloud.talent.v4beta1.CustomAttribute value) {
9147       if (key == null) {
9148         throw new NullPointerException("map key");
9149       }
9150       if (value == null) {
9151         throw new NullPointerException("map value");
9152       }
9153       internalGetMutableCustomAttributes().getMutableMap().put(key, value);
9154       bitField0_ |= 0x00000200;
9155       return this;
9156     }
9157     /**
9158      *
9159      *
9160      * <pre>
9161      * A map of fields to hold both filterable and non-filterable custom job
9162      * attributes that are not covered by the provided structured fields.
9163      * The keys of the map are strings up to 64 bytes and must match the
9164      * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
9165      * KEY_1_LIKE_THIS.
9166      * At most 100 filterable and at most 100 unfilterable keys are supported.
9167      * For filterable `string_values`, across all keys at most 200 values are
9168      * allowed, with each string no more than 255 characters. For unfilterable
9169      * `string_values`, the maximum total size of `string_values` across all keys
9170      * is 50KB.
9171      * </pre>
9172      *
9173      * <code>map&lt;string, .google.cloud.talent.v4beta1.CustomAttribute&gt; custom_attributes = 10;
9174      * </code>
9175      */
putAllCustomAttributes( java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> values)9176     public Builder putAllCustomAttributes(
9177         java.util.Map<java.lang.String, com.google.cloud.talent.v4beta1.CustomAttribute> values) {
9178       internalGetMutableCustomAttributes().getMutableMap().putAll(values);
9179       bitField0_ |= 0x00000200;
9180       return this;
9181     }
9182 
9183     private java.util.List<java.lang.Integer> degreeTypes_ = java.util.Collections.emptyList();
9184 
ensureDegreeTypesIsMutable()9185     private void ensureDegreeTypesIsMutable() {
9186       if (!((bitField0_ & 0x00000400) != 0)) {
9187         degreeTypes_ = new java.util.ArrayList<java.lang.Integer>(degreeTypes_);
9188         bitField0_ |= 0x00000400;
9189       }
9190     }
9191     /**
9192      *
9193      *
9194      * <pre>
9195      * The desired education degrees for the job, such as Bachelors, Masters.
9196      * </pre>
9197      *
9198      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9199      *
9200      * @return A list containing the degreeTypes.
9201      */
getDegreeTypesList()9202     public java.util.List<com.google.cloud.talent.v4beta1.DegreeType> getDegreeTypesList() {
9203       return new com.google.protobuf.Internal.ListAdapter<
9204           java.lang.Integer, com.google.cloud.talent.v4beta1.DegreeType>(
9205           degreeTypes_, degreeTypes_converter_);
9206     }
9207     /**
9208      *
9209      *
9210      * <pre>
9211      * The desired education degrees for the job, such as Bachelors, Masters.
9212      * </pre>
9213      *
9214      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9215      *
9216      * @return The count of degreeTypes.
9217      */
getDegreeTypesCount()9218     public int getDegreeTypesCount() {
9219       return degreeTypes_.size();
9220     }
9221     /**
9222      *
9223      *
9224      * <pre>
9225      * The desired education degrees for the job, such as Bachelors, Masters.
9226      * </pre>
9227      *
9228      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9229      *
9230      * @param index The index of the element to return.
9231      * @return The degreeTypes at the given index.
9232      */
getDegreeTypes(int index)9233     public com.google.cloud.talent.v4beta1.DegreeType getDegreeTypes(int index) {
9234       return degreeTypes_converter_.convert(degreeTypes_.get(index));
9235     }
9236     /**
9237      *
9238      *
9239      * <pre>
9240      * The desired education degrees for the job, such as Bachelors, Masters.
9241      * </pre>
9242      *
9243      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9244      *
9245      * @param index The index to set the value at.
9246      * @param value The degreeTypes to set.
9247      * @return This builder for chaining.
9248      */
setDegreeTypes(int index, com.google.cloud.talent.v4beta1.DegreeType value)9249     public Builder setDegreeTypes(int index, com.google.cloud.talent.v4beta1.DegreeType value) {
9250       if (value == null) {
9251         throw new NullPointerException();
9252       }
9253       ensureDegreeTypesIsMutable();
9254       degreeTypes_.set(index, value.getNumber());
9255       onChanged();
9256       return this;
9257     }
9258     /**
9259      *
9260      *
9261      * <pre>
9262      * The desired education degrees for the job, such as Bachelors, Masters.
9263      * </pre>
9264      *
9265      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9266      *
9267      * @param value The degreeTypes to add.
9268      * @return This builder for chaining.
9269      */
addDegreeTypes(com.google.cloud.talent.v4beta1.DegreeType value)9270     public Builder addDegreeTypes(com.google.cloud.talent.v4beta1.DegreeType value) {
9271       if (value == null) {
9272         throw new NullPointerException();
9273       }
9274       ensureDegreeTypesIsMutable();
9275       degreeTypes_.add(value.getNumber());
9276       onChanged();
9277       return this;
9278     }
9279     /**
9280      *
9281      *
9282      * <pre>
9283      * The desired education degrees for the job, such as Bachelors, Masters.
9284      * </pre>
9285      *
9286      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9287      *
9288      * @param values The degreeTypes to add.
9289      * @return This builder for chaining.
9290      */
addAllDegreeTypes( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.DegreeType> values)9291     public Builder addAllDegreeTypes(
9292         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.DegreeType> values) {
9293       ensureDegreeTypesIsMutable();
9294       for (com.google.cloud.talent.v4beta1.DegreeType value : values) {
9295         degreeTypes_.add(value.getNumber());
9296       }
9297       onChanged();
9298       return this;
9299     }
9300     /**
9301      *
9302      *
9303      * <pre>
9304      * The desired education degrees for the job, such as Bachelors, Masters.
9305      * </pre>
9306      *
9307      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9308      *
9309      * @return This builder for chaining.
9310      */
clearDegreeTypes()9311     public Builder clearDegreeTypes() {
9312       degreeTypes_ = java.util.Collections.emptyList();
9313       bitField0_ = (bitField0_ & ~0x00000400);
9314       onChanged();
9315       return this;
9316     }
9317     /**
9318      *
9319      *
9320      * <pre>
9321      * The desired education degrees for the job, such as Bachelors, Masters.
9322      * </pre>
9323      *
9324      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9325      *
9326      * @return A list containing the enum numeric values on the wire for degreeTypes.
9327      */
getDegreeTypesValueList()9328     public java.util.List<java.lang.Integer> getDegreeTypesValueList() {
9329       return java.util.Collections.unmodifiableList(degreeTypes_);
9330     }
9331     /**
9332      *
9333      *
9334      * <pre>
9335      * The desired education degrees for the job, such as Bachelors, Masters.
9336      * </pre>
9337      *
9338      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9339      *
9340      * @param index The index of the value to return.
9341      * @return The enum numeric value on the wire of degreeTypes at the given index.
9342      */
getDegreeTypesValue(int index)9343     public int getDegreeTypesValue(int index) {
9344       return degreeTypes_.get(index);
9345     }
9346     /**
9347      *
9348      *
9349      * <pre>
9350      * The desired education degrees for the job, such as Bachelors, Masters.
9351      * </pre>
9352      *
9353      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9354      *
9355      * @param index The index to set the value at.
9356      * @param value The enum numeric value on the wire for degreeTypes to set.
9357      * @return This builder for chaining.
9358      */
setDegreeTypesValue(int index, int value)9359     public Builder setDegreeTypesValue(int index, int value) {
9360       ensureDegreeTypesIsMutable();
9361       degreeTypes_.set(index, value);
9362       onChanged();
9363       return this;
9364     }
9365     /**
9366      *
9367      *
9368      * <pre>
9369      * The desired education degrees for the job, such as Bachelors, Masters.
9370      * </pre>
9371      *
9372      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9373      *
9374      * @param value The enum numeric value on the wire for degreeTypes to add.
9375      * @return This builder for chaining.
9376      */
addDegreeTypesValue(int value)9377     public Builder addDegreeTypesValue(int value) {
9378       ensureDegreeTypesIsMutable();
9379       degreeTypes_.add(value);
9380       onChanged();
9381       return this;
9382     }
9383     /**
9384      *
9385      *
9386      * <pre>
9387      * The desired education degrees for the job, such as Bachelors, Masters.
9388      * </pre>
9389      *
9390      * <code>repeated .google.cloud.talent.v4beta1.DegreeType degree_types = 11;</code>
9391      *
9392      * @param values The enum numeric values on the wire for degreeTypes to add.
9393      * @return This builder for chaining.
9394      */
addAllDegreeTypesValue(java.lang.Iterable<java.lang.Integer> values)9395     public Builder addAllDegreeTypesValue(java.lang.Iterable<java.lang.Integer> values) {
9396       ensureDegreeTypesIsMutable();
9397       for (int value : values) {
9398         degreeTypes_.add(value);
9399       }
9400       onChanged();
9401       return this;
9402     }
9403 
9404     private java.lang.Object department_ = "";
9405     /**
9406      *
9407      *
9408      * <pre>
9409      * The department or functional area within the company with the open
9410      * position.
9411      * The maximum number of allowed characters is 255.
9412      * </pre>
9413      *
9414      * <code>string department = 12;</code>
9415      *
9416      * @return The department.
9417      */
getDepartment()9418     public java.lang.String getDepartment() {
9419       java.lang.Object ref = department_;
9420       if (!(ref instanceof java.lang.String)) {
9421         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9422         java.lang.String s = bs.toStringUtf8();
9423         department_ = s;
9424         return s;
9425       } else {
9426         return (java.lang.String) ref;
9427       }
9428     }
9429     /**
9430      *
9431      *
9432      * <pre>
9433      * The department or functional area within the company with the open
9434      * position.
9435      * The maximum number of allowed characters is 255.
9436      * </pre>
9437      *
9438      * <code>string department = 12;</code>
9439      *
9440      * @return The bytes for department.
9441      */
getDepartmentBytes()9442     public com.google.protobuf.ByteString getDepartmentBytes() {
9443       java.lang.Object ref = department_;
9444       if (ref instanceof String) {
9445         com.google.protobuf.ByteString b =
9446             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9447         department_ = b;
9448         return b;
9449       } else {
9450         return (com.google.protobuf.ByteString) ref;
9451       }
9452     }
9453     /**
9454      *
9455      *
9456      * <pre>
9457      * The department or functional area within the company with the open
9458      * position.
9459      * The maximum number of allowed characters is 255.
9460      * </pre>
9461      *
9462      * <code>string department = 12;</code>
9463      *
9464      * @param value The department to set.
9465      * @return This builder for chaining.
9466      */
setDepartment(java.lang.String value)9467     public Builder setDepartment(java.lang.String value) {
9468       if (value == null) {
9469         throw new NullPointerException();
9470       }
9471       department_ = value;
9472       bitField0_ |= 0x00000800;
9473       onChanged();
9474       return this;
9475     }
9476     /**
9477      *
9478      *
9479      * <pre>
9480      * The department or functional area within the company with the open
9481      * position.
9482      * The maximum number of allowed characters is 255.
9483      * </pre>
9484      *
9485      * <code>string department = 12;</code>
9486      *
9487      * @return This builder for chaining.
9488      */
clearDepartment()9489     public Builder clearDepartment() {
9490       department_ = getDefaultInstance().getDepartment();
9491       bitField0_ = (bitField0_ & ~0x00000800);
9492       onChanged();
9493       return this;
9494     }
9495     /**
9496      *
9497      *
9498      * <pre>
9499      * The department or functional area within the company with the open
9500      * position.
9501      * The maximum number of allowed characters is 255.
9502      * </pre>
9503      *
9504      * <code>string department = 12;</code>
9505      *
9506      * @param value The bytes for department to set.
9507      * @return This builder for chaining.
9508      */
setDepartmentBytes(com.google.protobuf.ByteString value)9509     public Builder setDepartmentBytes(com.google.protobuf.ByteString value) {
9510       if (value == null) {
9511         throw new NullPointerException();
9512       }
9513       checkByteStringIsUtf8(value);
9514       department_ = value;
9515       bitField0_ |= 0x00000800;
9516       onChanged();
9517       return this;
9518     }
9519 
9520     private java.util.List<java.lang.Integer> employmentTypes_ = java.util.Collections.emptyList();
9521 
ensureEmploymentTypesIsMutable()9522     private void ensureEmploymentTypesIsMutable() {
9523       if (!((bitField0_ & 0x00001000) != 0)) {
9524         employmentTypes_ = new java.util.ArrayList<java.lang.Integer>(employmentTypes_);
9525         bitField0_ |= 0x00001000;
9526       }
9527     }
9528     /**
9529      *
9530      *
9531      * <pre>
9532      * The employment type(s) of a job, for example,
9533      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9534      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9535      * </pre>
9536      *
9537      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9538      *
9539      * @return A list containing the employmentTypes.
9540      */
getEmploymentTypesList()9541     public java.util.List<com.google.cloud.talent.v4beta1.EmploymentType> getEmploymentTypesList() {
9542       return new com.google.protobuf.Internal.ListAdapter<
9543           java.lang.Integer, com.google.cloud.talent.v4beta1.EmploymentType>(
9544           employmentTypes_, employmentTypes_converter_);
9545     }
9546     /**
9547      *
9548      *
9549      * <pre>
9550      * The employment type(s) of a job, for example,
9551      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9552      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9553      * </pre>
9554      *
9555      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9556      *
9557      * @return The count of employmentTypes.
9558      */
getEmploymentTypesCount()9559     public int getEmploymentTypesCount() {
9560       return employmentTypes_.size();
9561     }
9562     /**
9563      *
9564      *
9565      * <pre>
9566      * The employment type(s) of a job, for example,
9567      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9568      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9569      * </pre>
9570      *
9571      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9572      *
9573      * @param index The index of the element to return.
9574      * @return The employmentTypes at the given index.
9575      */
getEmploymentTypes(int index)9576     public com.google.cloud.talent.v4beta1.EmploymentType getEmploymentTypes(int index) {
9577       return employmentTypes_converter_.convert(employmentTypes_.get(index));
9578     }
9579     /**
9580      *
9581      *
9582      * <pre>
9583      * The employment type(s) of a job, for example,
9584      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9585      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9586      * </pre>
9587      *
9588      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9589      *
9590      * @param index The index to set the value at.
9591      * @param value The employmentTypes to set.
9592      * @return This builder for chaining.
9593      */
setEmploymentTypes( int index, com.google.cloud.talent.v4beta1.EmploymentType value)9594     public Builder setEmploymentTypes(
9595         int index, com.google.cloud.talent.v4beta1.EmploymentType value) {
9596       if (value == null) {
9597         throw new NullPointerException();
9598       }
9599       ensureEmploymentTypesIsMutable();
9600       employmentTypes_.set(index, value.getNumber());
9601       onChanged();
9602       return this;
9603     }
9604     /**
9605      *
9606      *
9607      * <pre>
9608      * The employment type(s) of a job, for example,
9609      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9610      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9611      * </pre>
9612      *
9613      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9614      *
9615      * @param value The employmentTypes to add.
9616      * @return This builder for chaining.
9617      */
addEmploymentTypes(com.google.cloud.talent.v4beta1.EmploymentType value)9618     public Builder addEmploymentTypes(com.google.cloud.talent.v4beta1.EmploymentType value) {
9619       if (value == null) {
9620         throw new NullPointerException();
9621       }
9622       ensureEmploymentTypesIsMutable();
9623       employmentTypes_.add(value.getNumber());
9624       onChanged();
9625       return this;
9626     }
9627     /**
9628      *
9629      *
9630      * <pre>
9631      * The employment type(s) of a job, for example,
9632      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9633      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9634      * </pre>
9635      *
9636      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9637      *
9638      * @param values The employmentTypes to add.
9639      * @return This builder for chaining.
9640      */
addAllEmploymentTypes( java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.EmploymentType> values)9641     public Builder addAllEmploymentTypes(
9642         java.lang.Iterable<? extends com.google.cloud.talent.v4beta1.EmploymentType> values) {
9643       ensureEmploymentTypesIsMutable();
9644       for (com.google.cloud.talent.v4beta1.EmploymentType value : values) {
9645         employmentTypes_.add(value.getNumber());
9646       }
9647       onChanged();
9648       return this;
9649     }
9650     /**
9651      *
9652      *
9653      * <pre>
9654      * The employment type(s) of a job, for example,
9655      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9656      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9657      * </pre>
9658      *
9659      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9660      *
9661      * @return This builder for chaining.
9662      */
clearEmploymentTypes()9663     public Builder clearEmploymentTypes() {
9664       employmentTypes_ = java.util.Collections.emptyList();
9665       bitField0_ = (bitField0_ & ~0x00001000);
9666       onChanged();
9667       return this;
9668     }
9669     /**
9670      *
9671      *
9672      * <pre>
9673      * The employment type(s) of a job, for example,
9674      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9675      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9676      * </pre>
9677      *
9678      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9679      *
9680      * @return A list containing the enum numeric values on the wire for employmentTypes.
9681      */
getEmploymentTypesValueList()9682     public java.util.List<java.lang.Integer> getEmploymentTypesValueList() {
9683       return java.util.Collections.unmodifiableList(employmentTypes_);
9684     }
9685     /**
9686      *
9687      *
9688      * <pre>
9689      * The employment type(s) of a job, for example,
9690      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9691      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9692      * </pre>
9693      *
9694      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9695      *
9696      * @param index The index of the value to return.
9697      * @return The enum numeric value on the wire of employmentTypes at the given index.
9698      */
getEmploymentTypesValue(int index)9699     public int getEmploymentTypesValue(int index) {
9700       return employmentTypes_.get(index);
9701     }
9702     /**
9703      *
9704      *
9705      * <pre>
9706      * The employment type(s) of a job, for example,
9707      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9708      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9709      * </pre>
9710      *
9711      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9712      *
9713      * @param index The index to set the value at.
9714      * @param value The enum numeric value on the wire for employmentTypes to set.
9715      * @return This builder for chaining.
9716      */
setEmploymentTypesValue(int index, int value)9717     public Builder setEmploymentTypesValue(int index, int value) {
9718       ensureEmploymentTypesIsMutable();
9719       employmentTypes_.set(index, value);
9720       onChanged();
9721       return this;
9722     }
9723     /**
9724      *
9725      *
9726      * <pre>
9727      * The employment type(s) of a job, for example,
9728      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9729      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9730      * </pre>
9731      *
9732      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9733      *
9734      * @param value The enum numeric value on the wire for employmentTypes to add.
9735      * @return This builder for chaining.
9736      */
addEmploymentTypesValue(int value)9737     public Builder addEmploymentTypesValue(int value) {
9738       ensureEmploymentTypesIsMutable();
9739       employmentTypes_.add(value);
9740       onChanged();
9741       return this;
9742     }
9743     /**
9744      *
9745      *
9746      * <pre>
9747      * The employment type(s) of a job, for example,
9748      * [full time][google.cloud.talent.v4beta1.EmploymentType.FULL_TIME] or
9749      * [part time][google.cloud.talent.v4beta1.EmploymentType.PART_TIME].
9750      * </pre>
9751      *
9752      * <code>repeated .google.cloud.talent.v4beta1.EmploymentType employment_types = 13;</code>
9753      *
9754      * @param values The enum numeric values on the wire for employmentTypes to add.
9755      * @return This builder for chaining.
9756      */
addAllEmploymentTypesValue(java.lang.Iterable<java.lang.Integer> values)9757     public Builder addAllEmploymentTypesValue(java.lang.Iterable<java.lang.Integer> values) {
9758       ensureEmploymentTypesIsMutable();
9759       for (int value : values) {
9760         employmentTypes_.add(value);
9761       }
9762       onChanged();
9763       return this;
9764     }
9765 
9766     private java.lang.Object incentives_ = "";
9767     /**
9768      *
9769      *
9770      * <pre>
9771      * A description of bonus, commission, and other compensation
9772      * incentives associated with the job not including salary or pay.
9773      * The maximum number of allowed characters is 10,000.
9774      * </pre>
9775      *
9776      * <code>string incentives = 14;</code>
9777      *
9778      * @return The incentives.
9779      */
getIncentives()9780     public java.lang.String getIncentives() {
9781       java.lang.Object ref = incentives_;
9782       if (!(ref instanceof java.lang.String)) {
9783         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9784         java.lang.String s = bs.toStringUtf8();
9785         incentives_ = s;
9786         return s;
9787       } else {
9788         return (java.lang.String) ref;
9789       }
9790     }
9791     /**
9792      *
9793      *
9794      * <pre>
9795      * A description of bonus, commission, and other compensation
9796      * incentives associated with the job not including salary or pay.
9797      * The maximum number of allowed characters is 10,000.
9798      * </pre>
9799      *
9800      * <code>string incentives = 14;</code>
9801      *
9802      * @return The bytes for incentives.
9803      */
getIncentivesBytes()9804     public com.google.protobuf.ByteString getIncentivesBytes() {
9805       java.lang.Object ref = incentives_;
9806       if (ref instanceof String) {
9807         com.google.protobuf.ByteString b =
9808             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9809         incentives_ = b;
9810         return b;
9811       } else {
9812         return (com.google.protobuf.ByteString) ref;
9813       }
9814     }
9815     /**
9816      *
9817      *
9818      * <pre>
9819      * A description of bonus, commission, and other compensation
9820      * incentives associated with the job not including salary or pay.
9821      * The maximum number of allowed characters is 10,000.
9822      * </pre>
9823      *
9824      * <code>string incentives = 14;</code>
9825      *
9826      * @param value The incentives to set.
9827      * @return This builder for chaining.
9828      */
setIncentives(java.lang.String value)9829     public Builder setIncentives(java.lang.String value) {
9830       if (value == null) {
9831         throw new NullPointerException();
9832       }
9833       incentives_ = value;
9834       bitField0_ |= 0x00002000;
9835       onChanged();
9836       return this;
9837     }
9838     /**
9839      *
9840      *
9841      * <pre>
9842      * A description of bonus, commission, and other compensation
9843      * incentives associated with the job not including salary or pay.
9844      * The maximum number of allowed characters is 10,000.
9845      * </pre>
9846      *
9847      * <code>string incentives = 14;</code>
9848      *
9849      * @return This builder for chaining.
9850      */
clearIncentives()9851     public Builder clearIncentives() {
9852       incentives_ = getDefaultInstance().getIncentives();
9853       bitField0_ = (bitField0_ & ~0x00002000);
9854       onChanged();
9855       return this;
9856     }
9857     /**
9858      *
9859      *
9860      * <pre>
9861      * A description of bonus, commission, and other compensation
9862      * incentives associated with the job not including salary or pay.
9863      * The maximum number of allowed characters is 10,000.
9864      * </pre>
9865      *
9866      * <code>string incentives = 14;</code>
9867      *
9868      * @param value The bytes for incentives to set.
9869      * @return This builder for chaining.
9870      */
setIncentivesBytes(com.google.protobuf.ByteString value)9871     public Builder setIncentivesBytes(com.google.protobuf.ByteString value) {
9872       if (value == null) {
9873         throw new NullPointerException();
9874       }
9875       checkByteStringIsUtf8(value);
9876       incentives_ = value;
9877       bitField0_ |= 0x00002000;
9878       onChanged();
9879       return this;
9880     }
9881 
9882     private java.lang.Object languageCode_ = "";
9883     /**
9884      *
9885      *
9886      * <pre>
9887      * The language of the posting. This field is distinct from
9888      * any requirements for fluency that are associated with the job.
9889      * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
9890      * For more information, see
9891      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
9892      * class="external" target="_blank" }.
9893      * If this field is unspecified and
9894      * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
9895      * detected language code based on
9896      * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
9897      * otherwise defaults to 'en_US'.
9898      * </pre>
9899      *
9900      * <code>string language_code = 15;</code>
9901      *
9902      * @return The languageCode.
9903      */
getLanguageCode()9904     public java.lang.String getLanguageCode() {
9905       java.lang.Object ref = languageCode_;
9906       if (!(ref instanceof java.lang.String)) {
9907         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9908         java.lang.String s = bs.toStringUtf8();
9909         languageCode_ = s;
9910         return s;
9911       } else {
9912         return (java.lang.String) ref;
9913       }
9914     }
9915     /**
9916      *
9917      *
9918      * <pre>
9919      * The language of the posting. This field is distinct from
9920      * any requirements for fluency that are associated with the job.
9921      * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
9922      * For more information, see
9923      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
9924      * class="external" target="_blank" }.
9925      * If this field is unspecified and
9926      * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
9927      * detected language code based on
9928      * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
9929      * otherwise defaults to 'en_US'.
9930      * </pre>
9931      *
9932      * <code>string language_code = 15;</code>
9933      *
9934      * @return The bytes for languageCode.
9935      */
getLanguageCodeBytes()9936     public com.google.protobuf.ByteString getLanguageCodeBytes() {
9937       java.lang.Object ref = languageCode_;
9938       if (ref instanceof String) {
9939         com.google.protobuf.ByteString b =
9940             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9941         languageCode_ = b;
9942         return b;
9943       } else {
9944         return (com.google.protobuf.ByteString) ref;
9945       }
9946     }
9947     /**
9948      *
9949      *
9950      * <pre>
9951      * The language of the posting. This field is distinct from
9952      * any requirements for fluency that are associated with the job.
9953      * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
9954      * For more information, see
9955      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
9956      * class="external" target="_blank" }.
9957      * If this field is unspecified and
9958      * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
9959      * detected language code based on
9960      * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
9961      * otherwise defaults to 'en_US'.
9962      * </pre>
9963      *
9964      * <code>string language_code = 15;</code>
9965      *
9966      * @param value The languageCode to set.
9967      * @return This builder for chaining.
9968      */
setLanguageCode(java.lang.String value)9969     public Builder setLanguageCode(java.lang.String value) {
9970       if (value == null) {
9971         throw new NullPointerException();
9972       }
9973       languageCode_ = value;
9974       bitField0_ |= 0x00004000;
9975       onChanged();
9976       return this;
9977     }
9978     /**
9979      *
9980      *
9981      * <pre>
9982      * The language of the posting. This field is distinct from
9983      * any requirements for fluency that are associated with the job.
9984      * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
9985      * For more information, see
9986      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
9987      * class="external" target="_blank" }.
9988      * If this field is unspecified and
9989      * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
9990      * detected language code based on
9991      * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
9992      * otherwise defaults to 'en_US'.
9993      * </pre>
9994      *
9995      * <code>string language_code = 15;</code>
9996      *
9997      * @return This builder for chaining.
9998      */
clearLanguageCode()9999     public Builder clearLanguageCode() {
10000       languageCode_ = getDefaultInstance().getLanguageCode();
10001       bitField0_ = (bitField0_ & ~0x00004000);
10002       onChanged();
10003       return this;
10004     }
10005     /**
10006      *
10007      *
10008      * <pre>
10009      * The language of the posting. This field is distinct from
10010      * any requirements for fluency that are associated with the job.
10011      * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
10012      * For more information, see
10013      * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
10014      * class="external" target="_blank" }.
10015      * If this field is unspecified and
10016      * [Job.description][google.cloud.talent.v4beta1.Job.description] is present,
10017      * detected language code based on
10018      * [Job.description][google.cloud.talent.v4beta1.Job.description] is assigned,
10019      * otherwise defaults to 'en_US'.
10020      * </pre>
10021      *
10022      * <code>string language_code = 15;</code>
10023      *
10024      * @param value The bytes for languageCode to set.
10025      * @return This builder for chaining.
10026      */
setLanguageCodeBytes(com.google.protobuf.ByteString value)10027     public Builder setLanguageCodeBytes(com.google.protobuf.ByteString value) {
10028       if (value == null) {
10029         throw new NullPointerException();
10030       }
10031       checkByteStringIsUtf8(value);
10032       languageCode_ = value;
10033       bitField0_ |= 0x00004000;
10034       onChanged();
10035       return this;
10036     }
10037 
10038     private int jobLevel_ = 0;
10039     /**
10040      *
10041      *
10042      * <pre>
10043      * The experience level associated with the job, such as "Entry Level".
10044      * </pre>
10045      *
10046      * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
10047      *
10048      * @return The enum numeric value on the wire for jobLevel.
10049      */
10050     @java.lang.Override
getJobLevelValue()10051     public int getJobLevelValue() {
10052       return jobLevel_;
10053     }
10054     /**
10055      *
10056      *
10057      * <pre>
10058      * The experience level associated with the job, such as "Entry Level".
10059      * </pre>
10060      *
10061      * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
10062      *
10063      * @param value The enum numeric value on the wire for jobLevel to set.
10064      * @return This builder for chaining.
10065      */
setJobLevelValue(int value)10066     public Builder setJobLevelValue(int value) {
10067       jobLevel_ = value;
10068       bitField0_ |= 0x00008000;
10069       onChanged();
10070       return this;
10071     }
10072     /**
10073      *
10074      *
10075      * <pre>
10076      * The experience level associated with the job, such as "Entry Level".
10077      * </pre>
10078      *
10079      * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
10080      *
10081      * @return The jobLevel.
10082      */
10083     @java.lang.Override
getJobLevel()10084     public com.google.cloud.talent.v4beta1.JobLevel getJobLevel() {
10085       com.google.cloud.talent.v4beta1.JobLevel result =
10086           com.google.cloud.talent.v4beta1.JobLevel.forNumber(jobLevel_);
10087       return result == null ? com.google.cloud.talent.v4beta1.JobLevel.UNRECOGNIZED : result;
10088     }
10089     /**
10090      *
10091      *
10092      * <pre>
10093      * The experience level associated with the job, such as "Entry Level".
10094      * </pre>
10095      *
10096      * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
10097      *
10098      * @param value The jobLevel to set.
10099      * @return This builder for chaining.
10100      */
setJobLevel(com.google.cloud.talent.v4beta1.JobLevel value)10101     public Builder setJobLevel(com.google.cloud.talent.v4beta1.JobLevel value) {
10102       if (value == null) {
10103         throw new NullPointerException();
10104       }
10105       bitField0_ |= 0x00008000;
10106       jobLevel_ = value.getNumber();
10107       onChanged();
10108       return this;
10109     }
10110     /**
10111      *
10112      *
10113      * <pre>
10114      * The experience level associated with the job, such as "Entry Level".
10115      * </pre>
10116      *
10117      * <code>.google.cloud.talent.v4beta1.JobLevel job_level = 16;</code>
10118      *
10119      * @return This builder for chaining.
10120      */
clearJobLevel()10121     public Builder clearJobLevel() {
10122       bitField0_ = (bitField0_ & ~0x00008000);
10123       jobLevel_ = 0;
10124       onChanged();
10125       return this;
10126     }
10127 
10128     private int promotionValue_;
10129     /**
10130      *
10131      *
10132      * <pre>
10133      * A promotion value of the job, as determined by the client.
10134      * The value determines the sort order of the jobs returned when searching for
10135      * jobs using the featured jobs search call, with higher promotional values
10136      * being returned first and ties being resolved by relevance sort. Only the
10137      * jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
10138      * Default value is 0, and negative values are treated as 0.
10139      * </pre>
10140      *
10141      * <code>int32 promotion_value = 17;</code>
10142      *
10143      * @return The promotionValue.
10144      */
10145     @java.lang.Override
getPromotionValue()10146     public int getPromotionValue() {
10147       return promotionValue_;
10148     }
10149     /**
10150      *
10151      *
10152      * <pre>
10153      * A promotion value of the job, as determined by the client.
10154      * The value determines the sort order of the jobs returned when searching for
10155      * jobs using the featured jobs search call, with higher promotional values
10156      * being returned first and ties being resolved by relevance sort. Only the
10157      * jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
10158      * Default value is 0, and negative values are treated as 0.
10159      * </pre>
10160      *
10161      * <code>int32 promotion_value = 17;</code>
10162      *
10163      * @param value The promotionValue to set.
10164      * @return This builder for chaining.
10165      */
setPromotionValue(int value)10166     public Builder setPromotionValue(int value) {
10167 
10168       promotionValue_ = value;
10169       bitField0_ |= 0x00010000;
10170       onChanged();
10171       return this;
10172     }
10173     /**
10174      *
10175      *
10176      * <pre>
10177      * A promotion value of the job, as determined by the client.
10178      * The value determines the sort order of the jobs returned when searching for
10179      * jobs using the featured jobs search call, with higher promotional values
10180      * being returned first and ties being resolved by relevance sort. Only the
10181      * jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
10182      * Default value is 0, and negative values are treated as 0.
10183      * </pre>
10184      *
10185      * <code>int32 promotion_value = 17;</code>
10186      *
10187      * @return This builder for chaining.
10188      */
clearPromotionValue()10189     public Builder clearPromotionValue() {
10190       bitField0_ = (bitField0_ & ~0x00010000);
10191       promotionValue_ = 0;
10192       onChanged();
10193       return this;
10194     }
10195 
10196     private java.lang.Object qualifications_ = "";
10197     /**
10198      *
10199      *
10200      * <pre>
10201      * A description of the qualifications required to perform the
10202      * job. The use of this field is recommended
10203      * as an alternative to using the more general
10204      * [description][google.cloud.talent.v4beta1.Job.description] field.
10205      * This field accepts and sanitizes HTML input, and also accepts
10206      * bold, italic, ordered list, and unordered list markup tags.
10207      * The maximum number of allowed characters is 10,000.
10208      * </pre>
10209      *
10210      * <code>string qualifications = 18;</code>
10211      *
10212      * @return The qualifications.
10213      */
getQualifications()10214     public java.lang.String getQualifications() {
10215       java.lang.Object ref = qualifications_;
10216       if (!(ref instanceof java.lang.String)) {
10217         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
10218         java.lang.String s = bs.toStringUtf8();
10219         qualifications_ = s;
10220         return s;
10221       } else {
10222         return (java.lang.String) ref;
10223       }
10224     }
10225     /**
10226      *
10227      *
10228      * <pre>
10229      * A description of the qualifications required to perform the
10230      * job. The use of this field is recommended
10231      * as an alternative to using the more general
10232      * [description][google.cloud.talent.v4beta1.Job.description] field.
10233      * This field accepts and sanitizes HTML input, and also accepts
10234      * bold, italic, ordered list, and unordered list markup tags.
10235      * The maximum number of allowed characters is 10,000.
10236      * </pre>
10237      *
10238      * <code>string qualifications = 18;</code>
10239      *
10240      * @return The bytes for qualifications.
10241      */
getQualificationsBytes()10242     public com.google.protobuf.ByteString getQualificationsBytes() {
10243       java.lang.Object ref = qualifications_;
10244       if (ref instanceof String) {
10245         com.google.protobuf.ByteString b =
10246             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
10247         qualifications_ = b;
10248         return b;
10249       } else {
10250         return (com.google.protobuf.ByteString) ref;
10251       }
10252     }
10253     /**
10254      *
10255      *
10256      * <pre>
10257      * A description of the qualifications required to perform the
10258      * job. The use of this field is recommended
10259      * as an alternative to using the more general
10260      * [description][google.cloud.talent.v4beta1.Job.description] field.
10261      * This field accepts and sanitizes HTML input, and also accepts
10262      * bold, italic, ordered list, and unordered list markup tags.
10263      * The maximum number of allowed characters is 10,000.
10264      * </pre>
10265      *
10266      * <code>string qualifications = 18;</code>
10267      *
10268      * @param value The qualifications to set.
10269      * @return This builder for chaining.
10270      */
setQualifications(java.lang.String value)10271     public Builder setQualifications(java.lang.String value) {
10272       if (value == null) {
10273         throw new NullPointerException();
10274       }
10275       qualifications_ = value;
10276       bitField0_ |= 0x00020000;
10277       onChanged();
10278       return this;
10279     }
10280     /**
10281      *
10282      *
10283      * <pre>
10284      * A description of the qualifications required to perform the
10285      * job. The use of this field is recommended
10286      * as an alternative to using the more general
10287      * [description][google.cloud.talent.v4beta1.Job.description] field.
10288      * This field accepts and sanitizes HTML input, and also accepts
10289      * bold, italic, ordered list, and unordered list markup tags.
10290      * The maximum number of allowed characters is 10,000.
10291      * </pre>
10292      *
10293      * <code>string qualifications = 18;</code>
10294      *
10295      * @return This builder for chaining.
10296      */
clearQualifications()10297     public Builder clearQualifications() {
10298       qualifications_ = getDefaultInstance().getQualifications();
10299       bitField0_ = (bitField0_ & ~0x00020000);
10300       onChanged();
10301       return this;
10302     }
10303     /**
10304      *
10305      *
10306      * <pre>
10307      * A description of the qualifications required to perform the
10308      * job. The use of this field is recommended
10309      * as an alternative to using the more general
10310      * [description][google.cloud.talent.v4beta1.Job.description] field.
10311      * This field accepts and sanitizes HTML input, and also accepts
10312      * bold, italic, ordered list, and unordered list markup tags.
10313      * The maximum number of allowed characters is 10,000.
10314      * </pre>
10315      *
10316      * <code>string qualifications = 18;</code>
10317      *
10318      * @param value The bytes for qualifications to set.
10319      * @return This builder for chaining.
10320      */
setQualificationsBytes(com.google.protobuf.ByteString value)10321     public Builder setQualificationsBytes(com.google.protobuf.ByteString value) {
10322       if (value == null) {
10323         throw new NullPointerException();
10324       }
10325       checkByteStringIsUtf8(value);
10326       qualifications_ = value;
10327       bitField0_ |= 0x00020000;
10328       onChanged();
10329       return this;
10330     }
10331 
10332     private java.lang.Object responsibilities_ = "";
10333     /**
10334      *
10335      *
10336      * <pre>
10337      * A description of job responsibilities. The use of this field is
10338      * recommended as an alternative to using the more general
10339      * [description][google.cloud.talent.v4beta1.Job.description] field.
10340      * This field accepts and sanitizes HTML input, and also accepts
10341      * bold, italic, ordered list, and unordered list markup tags.
10342      * The maximum number of allowed characters is 10,000.
10343      * </pre>
10344      *
10345      * <code>string responsibilities = 19;</code>
10346      *
10347      * @return The responsibilities.
10348      */
getResponsibilities()10349     public java.lang.String getResponsibilities() {
10350       java.lang.Object ref = responsibilities_;
10351       if (!(ref instanceof java.lang.String)) {
10352         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
10353         java.lang.String s = bs.toStringUtf8();
10354         responsibilities_ = s;
10355         return s;
10356       } else {
10357         return (java.lang.String) ref;
10358       }
10359     }
10360     /**
10361      *
10362      *
10363      * <pre>
10364      * A description of job responsibilities. The use of this field is
10365      * recommended as an alternative to using the more general
10366      * [description][google.cloud.talent.v4beta1.Job.description] field.
10367      * This field accepts and sanitizes HTML input, and also accepts
10368      * bold, italic, ordered list, and unordered list markup tags.
10369      * The maximum number of allowed characters is 10,000.
10370      * </pre>
10371      *
10372      * <code>string responsibilities = 19;</code>
10373      *
10374      * @return The bytes for responsibilities.
10375      */
getResponsibilitiesBytes()10376     public com.google.protobuf.ByteString getResponsibilitiesBytes() {
10377       java.lang.Object ref = responsibilities_;
10378       if (ref instanceof String) {
10379         com.google.protobuf.ByteString b =
10380             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
10381         responsibilities_ = b;
10382         return b;
10383       } else {
10384         return (com.google.protobuf.ByteString) ref;
10385       }
10386     }
10387     /**
10388      *
10389      *
10390      * <pre>
10391      * A description of job responsibilities. The use of this field is
10392      * recommended as an alternative to using the more general
10393      * [description][google.cloud.talent.v4beta1.Job.description] field.
10394      * This field accepts and sanitizes HTML input, and also accepts
10395      * bold, italic, ordered list, and unordered list markup tags.
10396      * The maximum number of allowed characters is 10,000.
10397      * </pre>
10398      *
10399      * <code>string responsibilities = 19;</code>
10400      *
10401      * @param value The responsibilities to set.
10402      * @return This builder for chaining.
10403      */
setResponsibilities(java.lang.String value)10404     public Builder setResponsibilities(java.lang.String value) {
10405       if (value == null) {
10406         throw new NullPointerException();
10407       }
10408       responsibilities_ = value;
10409       bitField0_ |= 0x00040000;
10410       onChanged();
10411       return this;
10412     }
10413     /**
10414      *
10415      *
10416      * <pre>
10417      * A description of job responsibilities. The use of this field is
10418      * recommended as an alternative to using the more general
10419      * [description][google.cloud.talent.v4beta1.Job.description] field.
10420      * This field accepts and sanitizes HTML input, and also accepts
10421      * bold, italic, ordered list, and unordered list markup tags.
10422      * The maximum number of allowed characters is 10,000.
10423      * </pre>
10424      *
10425      * <code>string responsibilities = 19;</code>
10426      *
10427      * @return This builder for chaining.
10428      */
clearResponsibilities()10429     public Builder clearResponsibilities() {
10430       responsibilities_ = getDefaultInstance().getResponsibilities();
10431       bitField0_ = (bitField0_ & ~0x00040000);
10432       onChanged();
10433       return this;
10434     }
10435     /**
10436      *
10437      *
10438      * <pre>
10439      * A description of job responsibilities. The use of this field is
10440      * recommended as an alternative to using the more general
10441      * [description][google.cloud.talent.v4beta1.Job.description] field.
10442      * This field accepts and sanitizes HTML input, and also accepts
10443      * bold, italic, ordered list, and unordered list markup tags.
10444      * The maximum number of allowed characters is 10,000.
10445      * </pre>
10446      *
10447      * <code>string responsibilities = 19;</code>
10448      *
10449      * @param value The bytes for responsibilities to set.
10450      * @return This builder for chaining.
10451      */
setResponsibilitiesBytes(com.google.protobuf.ByteString value)10452     public Builder setResponsibilitiesBytes(com.google.protobuf.ByteString value) {
10453       if (value == null) {
10454         throw new NullPointerException();
10455       }
10456       checkByteStringIsUtf8(value);
10457       responsibilities_ = value;
10458       bitField0_ |= 0x00040000;
10459       onChanged();
10460       return this;
10461     }
10462 
10463     private int postingRegion_ = 0;
10464     /**
10465      *
10466      *
10467      * <pre>
10468      * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
10469      * example, state, country) throughout which the job is available. If this
10470      * field is set, a
10471      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
10472      * query within the job region finds this job posting if an exact location
10473      * match isn't specified. If this field is set to
10474      * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
10475      * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
10476      * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
10477      * the same location level as this field is strongly recommended.
10478      * </pre>
10479      *
10480      * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
10481      *
10482      * @return The enum numeric value on the wire for postingRegion.
10483      */
10484     @java.lang.Override
getPostingRegionValue()10485     public int getPostingRegionValue() {
10486       return postingRegion_;
10487     }
10488     /**
10489      *
10490      *
10491      * <pre>
10492      * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
10493      * example, state, country) throughout which the job is available. If this
10494      * field is set, a
10495      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
10496      * query within the job region finds this job posting if an exact location
10497      * match isn't specified. If this field is set to
10498      * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
10499      * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
10500      * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
10501      * the same location level as this field is strongly recommended.
10502      * </pre>
10503      *
10504      * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
10505      *
10506      * @param value The enum numeric value on the wire for postingRegion to set.
10507      * @return This builder for chaining.
10508      */
setPostingRegionValue(int value)10509     public Builder setPostingRegionValue(int value) {
10510       postingRegion_ = value;
10511       bitField0_ |= 0x00080000;
10512       onChanged();
10513       return this;
10514     }
10515     /**
10516      *
10517      *
10518      * <pre>
10519      * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
10520      * example, state, country) throughout which the job is available. If this
10521      * field is set, a
10522      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
10523      * query within the job region finds this job posting if an exact location
10524      * match isn't specified. If this field is set to
10525      * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
10526      * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
10527      * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
10528      * the same location level as this field is strongly recommended.
10529      * </pre>
10530      *
10531      * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
10532      *
10533      * @return The postingRegion.
10534      */
10535     @java.lang.Override
getPostingRegion()10536     public com.google.cloud.talent.v4beta1.PostingRegion getPostingRegion() {
10537       com.google.cloud.talent.v4beta1.PostingRegion result =
10538           com.google.cloud.talent.v4beta1.PostingRegion.forNumber(postingRegion_);
10539       return result == null ? com.google.cloud.talent.v4beta1.PostingRegion.UNRECOGNIZED : result;
10540     }
10541     /**
10542      *
10543      *
10544      * <pre>
10545      * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
10546      * example, state, country) throughout which the job is available. If this
10547      * field is set, a
10548      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
10549      * query within the job region finds this job posting if an exact location
10550      * match isn't specified. If this field is set to
10551      * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
10552      * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
10553      * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
10554      * the same location level as this field is strongly recommended.
10555      * </pre>
10556      *
10557      * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
10558      *
10559      * @param value The postingRegion to set.
10560      * @return This builder for chaining.
10561      */
setPostingRegion(com.google.cloud.talent.v4beta1.PostingRegion value)10562     public Builder setPostingRegion(com.google.cloud.talent.v4beta1.PostingRegion value) {
10563       if (value == null) {
10564         throw new NullPointerException();
10565       }
10566       bitField0_ |= 0x00080000;
10567       postingRegion_ = value.getNumber();
10568       onChanged();
10569       return this;
10570     }
10571     /**
10572      *
10573      *
10574      * <pre>
10575      * The job [PostingRegion][google.cloud.talent.v4beta1.PostingRegion] (for
10576      * example, state, country) throughout which the job is available. If this
10577      * field is set, a
10578      * [LocationFilter][google.cloud.talent.v4beta1.LocationFilter] in a search
10579      * query within the job region finds this job posting if an exact location
10580      * match isn't specified. If this field is set to
10581      * [PostingRegion.NATION][google.cloud.talent.v4beta1.PostingRegion.NATION] or
10582      * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4beta1.PostingRegion.ADMINISTRATIVE_AREA],
10583      * setting job [Job.addresses][google.cloud.talent.v4beta1.Job.addresses] to
10584      * the same location level as this field is strongly recommended.
10585      * </pre>
10586      *
10587      * <code>.google.cloud.talent.v4beta1.PostingRegion posting_region = 20;</code>
10588      *
10589      * @return This builder for chaining.
10590      */
clearPostingRegion()10591     public Builder clearPostingRegion() {
10592       bitField0_ = (bitField0_ & ~0x00080000);
10593       postingRegion_ = 0;
10594       onChanged();
10595       return this;
10596     }
10597 
10598     private int visibility_ = 0;
10599     /**
10600      *
10601      *
10602      * <pre>
10603      * Deprecated. The job is only visible to the owner.
10604      * The visibility of the job.
10605      * Defaults to
10606      * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
10607      * if not specified.
10608      * </pre>
10609      *
10610      * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
10611      *
10612      * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
10613      *     google/cloud/talent/v4beta1/job.proto;l=296
10614      * @return The enum numeric value on the wire for visibility.
10615      */
10616     @java.lang.Override
10617     @java.lang.Deprecated
getVisibilityValue()10618     public int getVisibilityValue() {
10619       return visibility_;
10620     }
10621     /**
10622      *
10623      *
10624      * <pre>
10625      * Deprecated. The job is only visible to the owner.
10626      * The visibility of the job.
10627      * Defaults to
10628      * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
10629      * if not specified.
10630      * </pre>
10631      *
10632      * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
10633      *
10634      * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
10635      *     google/cloud/talent/v4beta1/job.proto;l=296
10636      * @param value The enum numeric value on the wire for visibility to set.
10637      * @return This builder for chaining.
10638      */
10639     @java.lang.Deprecated
setVisibilityValue(int value)10640     public Builder setVisibilityValue(int value) {
10641       visibility_ = value;
10642       bitField0_ |= 0x00100000;
10643       onChanged();
10644       return this;
10645     }
10646     /**
10647      *
10648      *
10649      * <pre>
10650      * Deprecated. The job is only visible to the owner.
10651      * The visibility of the job.
10652      * Defaults to
10653      * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
10654      * if not specified.
10655      * </pre>
10656      *
10657      * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
10658      *
10659      * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
10660      *     google/cloud/talent/v4beta1/job.proto;l=296
10661      * @return The visibility.
10662      */
10663     @java.lang.Override
10664     @java.lang.Deprecated
getVisibility()10665     public com.google.cloud.talent.v4beta1.Visibility getVisibility() {
10666       com.google.cloud.talent.v4beta1.Visibility result =
10667           com.google.cloud.talent.v4beta1.Visibility.forNumber(visibility_);
10668       return result == null ? com.google.cloud.talent.v4beta1.Visibility.UNRECOGNIZED : result;
10669     }
10670     /**
10671      *
10672      *
10673      * <pre>
10674      * Deprecated. The job is only visible to the owner.
10675      * The visibility of the job.
10676      * Defaults to
10677      * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
10678      * if not specified.
10679      * </pre>
10680      *
10681      * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
10682      *
10683      * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
10684      *     google/cloud/talent/v4beta1/job.proto;l=296
10685      * @param value The visibility to set.
10686      * @return This builder for chaining.
10687      */
10688     @java.lang.Deprecated
setVisibility(com.google.cloud.talent.v4beta1.Visibility value)10689     public Builder setVisibility(com.google.cloud.talent.v4beta1.Visibility value) {
10690       if (value == null) {
10691         throw new NullPointerException();
10692       }
10693       bitField0_ |= 0x00100000;
10694       visibility_ = value.getNumber();
10695       onChanged();
10696       return this;
10697     }
10698     /**
10699      *
10700      *
10701      * <pre>
10702      * Deprecated. The job is only visible to the owner.
10703      * The visibility of the job.
10704      * Defaults to
10705      * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4beta1.Visibility.ACCOUNT_ONLY]
10706      * if not specified.
10707      * </pre>
10708      *
10709      * <code>.google.cloud.talent.v4beta1.Visibility visibility = 21 [deprecated = true];</code>
10710      *
10711      * @deprecated google.cloud.talent.v4beta1.Job.visibility is deprecated. See
10712      *     google/cloud/talent/v4beta1/job.proto;l=296
10713      * @return This builder for chaining.
10714      */
10715     @java.lang.Deprecated
clearVisibility()10716     public Builder clearVisibility() {
10717       bitField0_ = (bitField0_ & ~0x00100000);
10718       visibility_ = 0;
10719       onChanged();
10720       return this;
10721     }
10722 
10723     private com.google.protobuf.Timestamp jobStartTime_;
10724     private com.google.protobuf.SingleFieldBuilderV3<
10725             com.google.protobuf.Timestamp,
10726             com.google.protobuf.Timestamp.Builder,
10727             com.google.protobuf.TimestampOrBuilder>
10728         jobStartTimeBuilder_;
10729     /**
10730      *
10731      *
10732      * <pre>
10733      * The start timestamp of the job in UTC time zone. Typically this field
10734      * is used for contracting engagements. Invalid timestamps are ignored.
10735      * </pre>
10736      *
10737      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10738      *
10739      * @return Whether the jobStartTime field is set.
10740      */
hasJobStartTime()10741     public boolean hasJobStartTime() {
10742       return ((bitField0_ & 0x00200000) != 0);
10743     }
10744     /**
10745      *
10746      *
10747      * <pre>
10748      * The start timestamp of the job in UTC time zone. Typically this field
10749      * is used for contracting engagements. Invalid timestamps are ignored.
10750      * </pre>
10751      *
10752      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10753      *
10754      * @return The jobStartTime.
10755      */
getJobStartTime()10756     public com.google.protobuf.Timestamp getJobStartTime() {
10757       if (jobStartTimeBuilder_ == null) {
10758         return jobStartTime_ == null
10759             ? com.google.protobuf.Timestamp.getDefaultInstance()
10760             : jobStartTime_;
10761       } else {
10762         return jobStartTimeBuilder_.getMessage();
10763       }
10764     }
10765     /**
10766      *
10767      *
10768      * <pre>
10769      * The start timestamp of the job in UTC time zone. Typically this field
10770      * is used for contracting engagements. Invalid timestamps are ignored.
10771      * </pre>
10772      *
10773      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10774      */
setJobStartTime(com.google.protobuf.Timestamp value)10775     public Builder setJobStartTime(com.google.protobuf.Timestamp value) {
10776       if (jobStartTimeBuilder_ == null) {
10777         if (value == null) {
10778           throw new NullPointerException();
10779         }
10780         jobStartTime_ = value;
10781       } else {
10782         jobStartTimeBuilder_.setMessage(value);
10783       }
10784       bitField0_ |= 0x00200000;
10785       onChanged();
10786       return this;
10787     }
10788     /**
10789      *
10790      *
10791      * <pre>
10792      * The start timestamp of the job in UTC time zone. Typically this field
10793      * is used for contracting engagements. Invalid timestamps are ignored.
10794      * </pre>
10795      *
10796      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10797      */
setJobStartTime(com.google.protobuf.Timestamp.Builder builderForValue)10798     public Builder setJobStartTime(com.google.protobuf.Timestamp.Builder builderForValue) {
10799       if (jobStartTimeBuilder_ == null) {
10800         jobStartTime_ = builderForValue.build();
10801       } else {
10802         jobStartTimeBuilder_.setMessage(builderForValue.build());
10803       }
10804       bitField0_ |= 0x00200000;
10805       onChanged();
10806       return this;
10807     }
10808     /**
10809      *
10810      *
10811      * <pre>
10812      * The start timestamp of the job in UTC time zone. Typically this field
10813      * is used for contracting engagements. Invalid timestamps are ignored.
10814      * </pre>
10815      *
10816      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10817      */
mergeJobStartTime(com.google.protobuf.Timestamp value)10818     public Builder mergeJobStartTime(com.google.protobuf.Timestamp value) {
10819       if (jobStartTimeBuilder_ == null) {
10820         if (((bitField0_ & 0x00200000) != 0)
10821             && jobStartTime_ != null
10822             && jobStartTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
10823           getJobStartTimeBuilder().mergeFrom(value);
10824         } else {
10825           jobStartTime_ = value;
10826         }
10827       } else {
10828         jobStartTimeBuilder_.mergeFrom(value);
10829       }
10830       bitField0_ |= 0x00200000;
10831       onChanged();
10832       return this;
10833     }
10834     /**
10835      *
10836      *
10837      * <pre>
10838      * The start timestamp of the job in UTC time zone. Typically this field
10839      * is used for contracting engagements. Invalid timestamps are ignored.
10840      * </pre>
10841      *
10842      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10843      */
clearJobStartTime()10844     public Builder clearJobStartTime() {
10845       bitField0_ = (bitField0_ & ~0x00200000);
10846       jobStartTime_ = null;
10847       if (jobStartTimeBuilder_ != null) {
10848         jobStartTimeBuilder_.dispose();
10849         jobStartTimeBuilder_ = null;
10850       }
10851       onChanged();
10852       return this;
10853     }
10854     /**
10855      *
10856      *
10857      * <pre>
10858      * The start timestamp of the job in UTC time zone. Typically this field
10859      * is used for contracting engagements. Invalid timestamps are ignored.
10860      * </pre>
10861      *
10862      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10863      */
getJobStartTimeBuilder()10864     public com.google.protobuf.Timestamp.Builder getJobStartTimeBuilder() {
10865       bitField0_ |= 0x00200000;
10866       onChanged();
10867       return getJobStartTimeFieldBuilder().getBuilder();
10868     }
10869     /**
10870      *
10871      *
10872      * <pre>
10873      * The start timestamp of the job in UTC time zone. Typically this field
10874      * is used for contracting engagements. Invalid timestamps are ignored.
10875      * </pre>
10876      *
10877      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10878      */
getJobStartTimeOrBuilder()10879     public com.google.protobuf.TimestampOrBuilder getJobStartTimeOrBuilder() {
10880       if (jobStartTimeBuilder_ != null) {
10881         return jobStartTimeBuilder_.getMessageOrBuilder();
10882       } else {
10883         return jobStartTime_ == null
10884             ? com.google.protobuf.Timestamp.getDefaultInstance()
10885             : jobStartTime_;
10886       }
10887     }
10888     /**
10889      *
10890      *
10891      * <pre>
10892      * The start timestamp of the job in UTC time zone. Typically this field
10893      * is used for contracting engagements. Invalid timestamps are ignored.
10894      * </pre>
10895      *
10896      * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
10897      */
10898     private com.google.protobuf.SingleFieldBuilderV3<
10899             com.google.protobuf.Timestamp,
10900             com.google.protobuf.Timestamp.Builder,
10901             com.google.protobuf.TimestampOrBuilder>
getJobStartTimeFieldBuilder()10902         getJobStartTimeFieldBuilder() {
10903       if (jobStartTimeBuilder_ == null) {
10904         jobStartTimeBuilder_ =
10905             new com.google.protobuf.SingleFieldBuilderV3<
10906                 com.google.protobuf.Timestamp,
10907                 com.google.protobuf.Timestamp.Builder,
10908                 com.google.protobuf.TimestampOrBuilder>(
10909                 getJobStartTime(), getParentForChildren(), isClean());
10910         jobStartTime_ = null;
10911       }
10912       return jobStartTimeBuilder_;
10913     }
10914 
10915     private com.google.protobuf.Timestamp jobEndTime_;
10916     private com.google.protobuf.SingleFieldBuilderV3<
10917             com.google.protobuf.Timestamp,
10918             com.google.protobuf.Timestamp.Builder,
10919             com.google.protobuf.TimestampOrBuilder>
10920         jobEndTimeBuilder_;
10921     /**
10922      *
10923      *
10924      * <pre>
10925      * The end timestamp of the job. Typically this field is used for contracting
10926      * engagements. Invalid timestamps are ignored.
10927      * </pre>
10928      *
10929      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
10930      *
10931      * @return Whether the jobEndTime field is set.
10932      */
hasJobEndTime()10933     public boolean hasJobEndTime() {
10934       return ((bitField0_ & 0x00400000) != 0);
10935     }
10936     /**
10937      *
10938      *
10939      * <pre>
10940      * The end timestamp of the job. Typically this field is used for contracting
10941      * engagements. Invalid timestamps are ignored.
10942      * </pre>
10943      *
10944      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
10945      *
10946      * @return The jobEndTime.
10947      */
getJobEndTime()10948     public com.google.protobuf.Timestamp getJobEndTime() {
10949       if (jobEndTimeBuilder_ == null) {
10950         return jobEndTime_ == null
10951             ? com.google.protobuf.Timestamp.getDefaultInstance()
10952             : jobEndTime_;
10953       } else {
10954         return jobEndTimeBuilder_.getMessage();
10955       }
10956     }
10957     /**
10958      *
10959      *
10960      * <pre>
10961      * The end timestamp of the job. Typically this field is used for contracting
10962      * engagements. Invalid timestamps are ignored.
10963      * </pre>
10964      *
10965      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
10966      */
setJobEndTime(com.google.protobuf.Timestamp value)10967     public Builder setJobEndTime(com.google.protobuf.Timestamp value) {
10968       if (jobEndTimeBuilder_ == null) {
10969         if (value == null) {
10970           throw new NullPointerException();
10971         }
10972         jobEndTime_ = value;
10973       } else {
10974         jobEndTimeBuilder_.setMessage(value);
10975       }
10976       bitField0_ |= 0x00400000;
10977       onChanged();
10978       return this;
10979     }
10980     /**
10981      *
10982      *
10983      * <pre>
10984      * The end timestamp of the job. Typically this field is used for contracting
10985      * engagements. Invalid timestamps are ignored.
10986      * </pre>
10987      *
10988      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
10989      */
setJobEndTime(com.google.protobuf.Timestamp.Builder builderForValue)10990     public Builder setJobEndTime(com.google.protobuf.Timestamp.Builder builderForValue) {
10991       if (jobEndTimeBuilder_ == null) {
10992         jobEndTime_ = builderForValue.build();
10993       } else {
10994         jobEndTimeBuilder_.setMessage(builderForValue.build());
10995       }
10996       bitField0_ |= 0x00400000;
10997       onChanged();
10998       return this;
10999     }
11000     /**
11001      *
11002      *
11003      * <pre>
11004      * The end timestamp of the job. Typically this field is used for contracting
11005      * engagements. Invalid timestamps are ignored.
11006      * </pre>
11007      *
11008      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
11009      */
mergeJobEndTime(com.google.protobuf.Timestamp value)11010     public Builder mergeJobEndTime(com.google.protobuf.Timestamp value) {
11011       if (jobEndTimeBuilder_ == null) {
11012         if (((bitField0_ & 0x00400000) != 0)
11013             && jobEndTime_ != null
11014             && jobEndTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
11015           getJobEndTimeBuilder().mergeFrom(value);
11016         } else {
11017           jobEndTime_ = value;
11018         }
11019       } else {
11020         jobEndTimeBuilder_.mergeFrom(value);
11021       }
11022       bitField0_ |= 0x00400000;
11023       onChanged();
11024       return this;
11025     }
11026     /**
11027      *
11028      *
11029      * <pre>
11030      * The end timestamp of the job. Typically this field is used for contracting
11031      * engagements. Invalid timestamps are ignored.
11032      * </pre>
11033      *
11034      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
11035      */
clearJobEndTime()11036     public Builder clearJobEndTime() {
11037       bitField0_ = (bitField0_ & ~0x00400000);
11038       jobEndTime_ = null;
11039       if (jobEndTimeBuilder_ != null) {
11040         jobEndTimeBuilder_.dispose();
11041         jobEndTimeBuilder_ = null;
11042       }
11043       onChanged();
11044       return this;
11045     }
11046     /**
11047      *
11048      *
11049      * <pre>
11050      * The end timestamp of the job. Typically this field is used for contracting
11051      * engagements. Invalid timestamps are ignored.
11052      * </pre>
11053      *
11054      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
11055      */
getJobEndTimeBuilder()11056     public com.google.protobuf.Timestamp.Builder getJobEndTimeBuilder() {
11057       bitField0_ |= 0x00400000;
11058       onChanged();
11059       return getJobEndTimeFieldBuilder().getBuilder();
11060     }
11061     /**
11062      *
11063      *
11064      * <pre>
11065      * The end timestamp of the job. Typically this field is used for contracting
11066      * engagements. Invalid timestamps are ignored.
11067      * </pre>
11068      *
11069      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
11070      */
getJobEndTimeOrBuilder()11071     public com.google.protobuf.TimestampOrBuilder getJobEndTimeOrBuilder() {
11072       if (jobEndTimeBuilder_ != null) {
11073         return jobEndTimeBuilder_.getMessageOrBuilder();
11074       } else {
11075         return jobEndTime_ == null
11076             ? com.google.protobuf.Timestamp.getDefaultInstance()
11077             : jobEndTime_;
11078       }
11079     }
11080     /**
11081      *
11082      *
11083      * <pre>
11084      * The end timestamp of the job. Typically this field is used for contracting
11085      * engagements. Invalid timestamps are ignored.
11086      * </pre>
11087      *
11088      * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
11089      */
11090     private com.google.protobuf.SingleFieldBuilderV3<
11091             com.google.protobuf.Timestamp,
11092             com.google.protobuf.Timestamp.Builder,
11093             com.google.protobuf.TimestampOrBuilder>
getJobEndTimeFieldBuilder()11094         getJobEndTimeFieldBuilder() {
11095       if (jobEndTimeBuilder_ == null) {
11096         jobEndTimeBuilder_ =
11097             new com.google.protobuf.SingleFieldBuilderV3<
11098                 com.google.protobuf.Timestamp,
11099                 com.google.protobuf.Timestamp.Builder,
11100                 com.google.protobuf.TimestampOrBuilder>(
11101                 getJobEndTime(), getParentForChildren(), isClean());
11102         jobEndTime_ = null;
11103       }
11104       return jobEndTimeBuilder_;
11105     }
11106 
11107     private com.google.protobuf.Timestamp postingPublishTime_;
11108     private com.google.protobuf.SingleFieldBuilderV3<
11109             com.google.protobuf.Timestamp,
11110             com.google.protobuf.Timestamp.Builder,
11111             com.google.protobuf.TimestampOrBuilder>
11112         postingPublishTimeBuilder_;
11113     /**
11114      *
11115      *
11116      * <pre>
11117      * The timestamp this job posting was most recently published. The default
11118      * value is the time the request arrives at the server. Invalid timestamps are
11119      * ignored.
11120      * </pre>
11121      *
11122      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11123      *
11124      * @return Whether the postingPublishTime field is set.
11125      */
hasPostingPublishTime()11126     public boolean hasPostingPublishTime() {
11127       return ((bitField0_ & 0x00800000) != 0);
11128     }
11129     /**
11130      *
11131      *
11132      * <pre>
11133      * The timestamp this job posting was most recently published. The default
11134      * value is the time the request arrives at the server. Invalid timestamps are
11135      * ignored.
11136      * </pre>
11137      *
11138      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11139      *
11140      * @return The postingPublishTime.
11141      */
getPostingPublishTime()11142     public com.google.protobuf.Timestamp getPostingPublishTime() {
11143       if (postingPublishTimeBuilder_ == null) {
11144         return postingPublishTime_ == null
11145             ? com.google.protobuf.Timestamp.getDefaultInstance()
11146             : postingPublishTime_;
11147       } else {
11148         return postingPublishTimeBuilder_.getMessage();
11149       }
11150     }
11151     /**
11152      *
11153      *
11154      * <pre>
11155      * The timestamp this job posting was most recently published. The default
11156      * value is the time the request arrives at the server. Invalid timestamps are
11157      * ignored.
11158      * </pre>
11159      *
11160      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11161      */
setPostingPublishTime(com.google.protobuf.Timestamp value)11162     public Builder setPostingPublishTime(com.google.protobuf.Timestamp value) {
11163       if (postingPublishTimeBuilder_ == null) {
11164         if (value == null) {
11165           throw new NullPointerException();
11166         }
11167         postingPublishTime_ = value;
11168       } else {
11169         postingPublishTimeBuilder_.setMessage(value);
11170       }
11171       bitField0_ |= 0x00800000;
11172       onChanged();
11173       return this;
11174     }
11175     /**
11176      *
11177      *
11178      * <pre>
11179      * The timestamp this job posting was most recently published. The default
11180      * value is the time the request arrives at the server. Invalid timestamps are
11181      * ignored.
11182      * </pre>
11183      *
11184      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11185      */
setPostingPublishTime(com.google.protobuf.Timestamp.Builder builderForValue)11186     public Builder setPostingPublishTime(com.google.protobuf.Timestamp.Builder builderForValue) {
11187       if (postingPublishTimeBuilder_ == null) {
11188         postingPublishTime_ = builderForValue.build();
11189       } else {
11190         postingPublishTimeBuilder_.setMessage(builderForValue.build());
11191       }
11192       bitField0_ |= 0x00800000;
11193       onChanged();
11194       return this;
11195     }
11196     /**
11197      *
11198      *
11199      * <pre>
11200      * The timestamp this job posting was most recently published. The default
11201      * value is the time the request arrives at the server. Invalid timestamps are
11202      * ignored.
11203      * </pre>
11204      *
11205      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11206      */
mergePostingPublishTime(com.google.protobuf.Timestamp value)11207     public Builder mergePostingPublishTime(com.google.protobuf.Timestamp value) {
11208       if (postingPublishTimeBuilder_ == null) {
11209         if (((bitField0_ & 0x00800000) != 0)
11210             && postingPublishTime_ != null
11211             && postingPublishTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
11212           getPostingPublishTimeBuilder().mergeFrom(value);
11213         } else {
11214           postingPublishTime_ = value;
11215         }
11216       } else {
11217         postingPublishTimeBuilder_.mergeFrom(value);
11218       }
11219       bitField0_ |= 0x00800000;
11220       onChanged();
11221       return this;
11222     }
11223     /**
11224      *
11225      *
11226      * <pre>
11227      * The timestamp this job posting was most recently published. The default
11228      * value is the time the request arrives at the server. Invalid timestamps are
11229      * ignored.
11230      * </pre>
11231      *
11232      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11233      */
clearPostingPublishTime()11234     public Builder clearPostingPublishTime() {
11235       bitField0_ = (bitField0_ & ~0x00800000);
11236       postingPublishTime_ = null;
11237       if (postingPublishTimeBuilder_ != null) {
11238         postingPublishTimeBuilder_.dispose();
11239         postingPublishTimeBuilder_ = null;
11240       }
11241       onChanged();
11242       return this;
11243     }
11244     /**
11245      *
11246      *
11247      * <pre>
11248      * The timestamp this job posting was most recently published. The default
11249      * value is the time the request arrives at the server. Invalid timestamps are
11250      * ignored.
11251      * </pre>
11252      *
11253      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11254      */
getPostingPublishTimeBuilder()11255     public com.google.protobuf.Timestamp.Builder getPostingPublishTimeBuilder() {
11256       bitField0_ |= 0x00800000;
11257       onChanged();
11258       return getPostingPublishTimeFieldBuilder().getBuilder();
11259     }
11260     /**
11261      *
11262      *
11263      * <pre>
11264      * The timestamp this job posting was most recently published. The default
11265      * value is the time the request arrives at the server. Invalid timestamps are
11266      * ignored.
11267      * </pre>
11268      *
11269      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11270      */
getPostingPublishTimeOrBuilder()11271     public com.google.protobuf.TimestampOrBuilder getPostingPublishTimeOrBuilder() {
11272       if (postingPublishTimeBuilder_ != null) {
11273         return postingPublishTimeBuilder_.getMessageOrBuilder();
11274       } else {
11275         return postingPublishTime_ == null
11276             ? com.google.protobuf.Timestamp.getDefaultInstance()
11277             : postingPublishTime_;
11278       }
11279     }
11280     /**
11281      *
11282      *
11283      * <pre>
11284      * The timestamp this job posting was most recently published. The default
11285      * value is the time the request arrives at the server. Invalid timestamps are
11286      * ignored.
11287      * </pre>
11288      *
11289      * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
11290      */
11291     private com.google.protobuf.SingleFieldBuilderV3<
11292             com.google.protobuf.Timestamp,
11293             com.google.protobuf.Timestamp.Builder,
11294             com.google.protobuf.TimestampOrBuilder>
getPostingPublishTimeFieldBuilder()11295         getPostingPublishTimeFieldBuilder() {
11296       if (postingPublishTimeBuilder_ == null) {
11297         postingPublishTimeBuilder_ =
11298             new com.google.protobuf.SingleFieldBuilderV3<
11299                 com.google.protobuf.Timestamp,
11300                 com.google.protobuf.Timestamp.Builder,
11301                 com.google.protobuf.TimestampOrBuilder>(
11302                 getPostingPublishTime(), getParentForChildren(), isClean());
11303         postingPublishTime_ = null;
11304       }
11305       return postingPublishTimeBuilder_;
11306     }
11307 
11308     private com.google.protobuf.Timestamp postingExpireTime_;
11309     private com.google.protobuf.SingleFieldBuilderV3<
11310             com.google.protobuf.Timestamp,
11311             com.google.protobuf.Timestamp.Builder,
11312             com.google.protobuf.TimestampOrBuilder>
11313         postingExpireTimeBuilder_;
11314     /**
11315      *
11316      *
11317      * <pre>
11318      * Strongly recommended for the best service experience.
11319      * The expiration timestamp of the job. After this timestamp, the
11320      * job is marked as expired, and it no longer appears in search results. The
11321      * expired job can't be listed by the
11322      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11323      * be retrieved with the
11324      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11325      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11326      * deleted with the
11327      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11328      * expired job can be updated and opened again by using a future expiration
11329      * timestamp. Updating an expired job fails if there is another existing open
11330      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11331      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11332      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11333      * The expired jobs are retained in our system for 90 days. However, the
11334      * overall expired job count cannot exceed 3 times the maximum number of
11335      * open jobs over previous 7 days. If this threshold is exceeded,
11336      * expired jobs are cleaned out in order of earliest expire time.
11337      * Expired jobs are no longer accessible after they are cleaned
11338      * out.
11339      * Invalid timestamps are ignored, and treated as expire time not provided.
11340      * If the timestamp is before the instant request is made, the job
11341      * is treated as expired immediately on creation. This kind of job can
11342      * not be updated. And when creating a job with past timestamp, the
11343      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11344      * must be set before
11345      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11346      * The purpose of this feature is to allow other objects, such as
11347      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11348      * didn't exist in the system prior to becoming expired. If you want to modify
11349      * a job that was expired on creation, delete it and create a new one.
11350      * If this value isn't provided at the time of job creation or is invalid,
11351      * the job posting expires after 30 days from the job's creation time. For
11352      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11353      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11354      * If this value isn't provided on job update, it depends on the field masks
11355      * set by
11356      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11357      * If the field masks include
11358      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11359      * are empty meaning that every field is updated, the job posting expires
11360      * after 30 days from the job's last update time. Otherwise the expiration
11361      * date isn't updated.
11362      * </pre>
11363      *
11364      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11365      *
11366      * @return Whether the postingExpireTime field is set.
11367      */
hasPostingExpireTime()11368     public boolean hasPostingExpireTime() {
11369       return ((bitField0_ & 0x01000000) != 0);
11370     }
11371     /**
11372      *
11373      *
11374      * <pre>
11375      * Strongly recommended for the best service experience.
11376      * The expiration timestamp of the job. After this timestamp, the
11377      * job is marked as expired, and it no longer appears in search results. The
11378      * expired job can't be listed by the
11379      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11380      * be retrieved with the
11381      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11382      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11383      * deleted with the
11384      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11385      * expired job can be updated and opened again by using a future expiration
11386      * timestamp. Updating an expired job fails if there is another existing open
11387      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11388      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11389      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11390      * The expired jobs are retained in our system for 90 days. However, the
11391      * overall expired job count cannot exceed 3 times the maximum number of
11392      * open jobs over previous 7 days. If this threshold is exceeded,
11393      * expired jobs are cleaned out in order of earliest expire time.
11394      * Expired jobs are no longer accessible after they are cleaned
11395      * out.
11396      * Invalid timestamps are ignored, and treated as expire time not provided.
11397      * If the timestamp is before the instant request is made, the job
11398      * is treated as expired immediately on creation. This kind of job can
11399      * not be updated. And when creating a job with past timestamp, the
11400      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11401      * must be set before
11402      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11403      * The purpose of this feature is to allow other objects, such as
11404      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11405      * didn't exist in the system prior to becoming expired. If you want to modify
11406      * a job that was expired on creation, delete it and create a new one.
11407      * If this value isn't provided at the time of job creation or is invalid,
11408      * the job posting expires after 30 days from the job's creation time. For
11409      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11410      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11411      * If this value isn't provided on job update, it depends on the field masks
11412      * set by
11413      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11414      * If the field masks include
11415      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11416      * are empty meaning that every field is updated, the job posting expires
11417      * after 30 days from the job's last update time. Otherwise the expiration
11418      * date isn't updated.
11419      * </pre>
11420      *
11421      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11422      *
11423      * @return The postingExpireTime.
11424      */
getPostingExpireTime()11425     public com.google.protobuf.Timestamp getPostingExpireTime() {
11426       if (postingExpireTimeBuilder_ == null) {
11427         return postingExpireTime_ == null
11428             ? com.google.protobuf.Timestamp.getDefaultInstance()
11429             : postingExpireTime_;
11430       } else {
11431         return postingExpireTimeBuilder_.getMessage();
11432       }
11433     }
11434     /**
11435      *
11436      *
11437      * <pre>
11438      * Strongly recommended for the best service experience.
11439      * The expiration timestamp of the job. After this timestamp, the
11440      * job is marked as expired, and it no longer appears in search results. The
11441      * expired job can't be listed by the
11442      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11443      * be retrieved with the
11444      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11445      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11446      * deleted with the
11447      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11448      * expired job can be updated and opened again by using a future expiration
11449      * timestamp. Updating an expired job fails if there is another existing open
11450      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11451      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11452      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11453      * The expired jobs are retained in our system for 90 days. However, the
11454      * overall expired job count cannot exceed 3 times the maximum number of
11455      * open jobs over previous 7 days. If this threshold is exceeded,
11456      * expired jobs are cleaned out in order of earliest expire time.
11457      * Expired jobs are no longer accessible after they are cleaned
11458      * out.
11459      * Invalid timestamps are ignored, and treated as expire time not provided.
11460      * If the timestamp is before the instant request is made, the job
11461      * is treated as expired immediately on creation. This kind of job can
11462      * not be updated. And when creating a job with past timestamp, the
11463      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11464      * must be set before
11465      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11466      * The purpose of this feature is to allow other objects, such as
11467      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11468      * didn't exist in the system prior to becoming expired. If you want to modify
11469      * a job that was expired on creation, delete it and create a new one.
11470      * If this value isn't provided at the time of job creation or is invalid,
11471      * the job posting expires after 30 days from the job's creation time. For
11472      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11473      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11474      * If this value isn't provided on job update, it depends on the field masks
11475      * set by
11476      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11477      * If the field masks include
11478      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11479      * are empty meaning that every field is updated, the job posting expires
11480      * after 30 days from the job's last update time. Otherwise the expiration
11481      * date isn't updated.
11482      * </pre>
11483      *
11484      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11485      */
setPostingExpireTime(com.google.protobuf.Timestamp value)11486     public Builder setPostingExpireTime(com.google.protobuf.Timestamp value) {
11487       if (postingExpireTimeBuilder_ == null) {
11488         if (value == null) {
11489           throw new NullPointerException();
11490         }
11491         postingExpireTime_ = value;
11492       } else {
11493         postingExpireTimeBuilder_.setMessage(value);
11494       }
11495       bitField0_ |= 0x01000000;
11496       onChanged();
11497       return this;
11498     }
11499     /**
11500      *
11501      *
11502      * <pre>
11503      * Strongly recommended for the best service experience.
11504      * The expiration timestamp of the job. After this timestamp, the
11505      * job is marked as expired, and it no longer appears in search results. The
11506      * expired job can't be listed by the
11507      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11508      * be retrieved with the
11509      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11510      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11511      * deleted with the
11512      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11513      * expired job can be updated and opened again by using a future expiration
11514      * timestamp. Updating an expired job fails if there is another existing open
11515      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11516      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11517      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11518      * The expired jobs are retained in our system for 90 days. However, the
11519      * overall expired job count cannot exceed 3 times the maximum number of
11520      * open jobs over previous 7 days. If this threshold is exceeded,
11521      * expired jobs are cleaned out in order of earliest expire time.
11522      * Expired jobs are no longer accessible after they are cleaned
11523      * out.
11524      * Invalid timestamps are ignored, and treated as expire time not provided.
11525      * If the timestamp is before the instant request is made, the job
11526      * is treated as expired immediately on creation. This kind of job can
11527      * not be updated. And when creating a job with past timestamp, the
11528      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11529      * must be set before
11530      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11531      * The purpose of this feature is to allow other objects, such as
11532      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11533      * didn't exist in the system prior to becoming expired. If you want to modify
11534      * a job that was expired on creation, delete it and create a new one.
11535      * If this value isn't provided at the time of job creation or is invalid,
11536      * the job posting expires after 30 days from the job's creation time. For
11537      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11538      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11539      * If this value isn't provided on job update, it depends on the field masks
11540      * set by
11541      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11542      * If the field masks include
11543      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11544      * are empty meaning that every field is updated, the job posting expires
11545      * after 30 days from the job's last update time. Otherwise the expiration
11546      * date isn't updated.
11547      * </pre>
11548      *
11549      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11550      */
setPostingExpireTime(com.google.protobuf.Timestamp.Builder builderForValue)11551     public Builder setPostingExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) {
11552       if (postingExpireTimeBuilder_ == null) {
11553         postingExpireTime_ = builderForValue.build();
11554       } else {
11555         postingExpireTimeBuilder_.setMessage(builderForValue.build());
11556       }
11557       bitField0_ |= 0x01000000;
11558       onChanged();
11559       return this;
11560     }
11561     /**
11562      *
11563      *
11564      * <pre>
11565      * Strongly recommended for the best service experience.
11566      * The expiration timestamp of the job. After this timestamp, the
11567      * job is marked as expired, and it no longer appears in search results. The
11568      * expired job can't be listed by the
11569      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11570      * be retrieved with the
11571      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11572      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11573      * deleted with the
11574      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11575      * expired job can be updated and opened again by using a future expiration
11576      * timestamp. Updating an expired job fails if there is another existing open
11577      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11578      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11579      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11580      * The expired jobs are retained in our system for 90 days. However, the
11581      * overall expired job count cannot exceed 3 times the maximum number of
11582      * open jobs over previous 7 days. If this threshold is exceeded,
11583      * expired jobs are cleaned out in order of earliest expire time.
11584      * Expired jobs are no longer accessible after they are cleaned
11585      * out.
11586      * Invalid timestamps are ignored, and treated as expire time not provided.
11587      * If the timestamp is before the instant request is made, the job
11588      * is treated as expired immediately on creation. This kind of job can
11589      * not be updated. And when creating a job with past timestamp, the
11590      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11591      * must be set before
11592      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11593      * The purpose of this feature is to allow other objects, such as
11594      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11595      * didn't exist in the system prior to becoming expired. If you want to modify
11596      * a job that was expired on creation, delete it and create a new one.
11597      * If this value isn't provided at the time of job creation or is invalid,
11598      * the job posting expires after 30 days from the job's creation time. For
11599      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11600      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11601      * If this value isn't provided on job update, it depends on the field masks
11602      * set by
11603      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11604      * If the field masks include
11605      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11606      * are empty meaning that every field is updated, the job posting expires
11607      * after 30 days from the job's last update time. Otherwise the expiration
11608      * date isn't updated.
11609      * </pre>
11610      *
11611      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11612      */
mergePostingExpireTime(com.google.protobuf.Timestamp value)11613     public Builder mergePostingExpireTime(com.google.protobuf.Timestamp value) {
11614       if (postingExpireTimeBuilder_ == null) {
11615         if (((bitField0_ & 0x01000000) != 0)
11616             && postingExpireTime_ != null
11617             && postingExpireTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
11618           getPostingExpireTimeBuilder().mergeFrom(value);
11619         } else {
11620           postingExpireTime_ = value;
11621         }
11622       } else {
11623         postingExpireTimeBuilder_.mergeFrom(value);
11624       }
11625       bitField0_ |= 0x01000000;
11626       onChanged();
11627       return this;
11628     }
11629     /**
11630      *
11631      *
11632      * <pre>
11633      * Strongly recommended for the best service experience.
11634      * The expiration timestamp of the job. After this timestamp, the
11635      * job is marked as expired, and it no longer appears in search results. The
11636      * expired job can't be listed by the
11637      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11638      * be retrieved with the
11639      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11640      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11641      * deleted with the
11642      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11643      * expired job can be updated and opened again by using a future expiration
11644      * timestamp. Updating an expired job fails if there is another existing open
11645      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11646      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11647      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11648      * The expired jobs are retained in our system for 90 days. However, the
11649      * overall expired job count cannot exceed 3 times the maximum number of
11650      * open jobs over previous 7 days. If this threshold is exceeded,
11651      * expired jobs are cleaned out in order of earliest expire time.
11652      * Expired jobs are no longer accessible after they are cleaned
11653      * out.
11654      * Invalid timestamps are ignored, and treated as expire time not provided.
11655      * If the timestamp is before the instant request is made, the job
11656      * is treated as expired immediately on creation. This kind of job can
11657      * not be updated. And when creating a job with past timestamp, the
11658      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11659      * must be set before
11660      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11661      * The purpose of this feature is to allow other objects, such as
11662      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11663      * didn't exist in the system prior to becoming expired. If you want to modify
11664      * a job that was expired on creation, delete it and create a new one.
11665      * If this value isn't provided at the time of job creation or is invalid,
11666      * the job posting expires after 30 days from the job's creation time. For
11667      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11668      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11669      * If this value isn't provided on job update, it depends on the field masks
11670      * set by
11671      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11672      * If the field masks include
11673      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11674      * are empty meaning that every field is updated, the job posting expires
11675      * after 30 days from the job's last update time. Otherwise the expiration
11676      * date isn't updated.
11677      * </pre>
11678      *
11679      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11680      */
clearPostingExpireTime()11681     public Builder clearPostingExpireTime() {
11682       bitField0_ = (bitField0_ & ~0x01000000);
11683       postingExpireTime_ = null;
11684       if (postingExpireTimeBuilder_ != null) {
11685         postingExpireTimeBuilder_.dispose();
11686         postingExpireTimeBuilder_ = null;
11687       }
11688       onChanged();
11689       return this;
11690     }
11691     /**
11692      *
11693      *
11694      * <pre>
11695      * Strongly recommended for the best service experience.
11696      * The expiration timestamp of the job. After this timestamp, the
11697      * job is marked as expired, and it no longer appears in search results. The
11698      * expired job can't be listed by the
11699      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11700      * be retrieved with the
11701      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11702      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11703      * deleted with the
11704      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11705      * expired job can be updated and opened again by using a future expiration
11706      * timestamp. Updating an expired job fails if there is another existing open
11707      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11708      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11709      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11710      * The expired jobs are retained in our system for 90 days. However, the
11711      * overall expired job count cannot exceed 3 times the maximum number of
11712      * open jobs over previous 7 days. If this threshold is exceeded,
11713      * expired jobs are cleaned out in order of earliest expire time.
11714      * Expired jobs are no longer accessible after they are cleaned
11715      * out.
11716      * Invalid timestamps are ignored, and treated as expire time not provided.
11717      * If the timestamp is before the instant request is made, the job
11718      * is treated as expired immediately on creation. This kind of job can
11719      * not be updated. And when creating a job with past timestamp, the
11720      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11721      * must be set before
11722      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11723      * The purpose of this feature is to allow other objects, such as
11724      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11725      * didn't exist in the system prior to becoming expired. If you want to modify
11726      * a job that was expired on creation, delete it and create a new one.
11727      * If this value isn't provided at the time of job creation or is invalid,
11728      * the job posting expires after 30 days from the job's creation time. For
11729      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11730      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11731      * If this value isn't provided on job update, it depends on the field masks
11732      * set by
11733      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11734      * If the field masks include
11735      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11736      * are empty meaning that every field is updated, the job posting expires
11737      * after 30 days from the job's last update time. Otherwise the expiration
11738      * date isn't updated.
11739      * </pre>
11740      *
11741      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11742      */
getPostingExpireTimeBuilder()11743     public com.google.protobuf.Timestamp.Builder getPostingExpireTimeBuilder() {
11744       bitField0_ |= 0x01000000;
11745       onChanged();
11746       return getPostingExpireTimeFieldBuilder().getBuilder();
11747     }
11748     /**
11749      *
11750      *
11751      * <pre>
11752      * Strongly recommended for the best service experience.
11753      * The expiration timestamp of the job. After this timestamp, the
11754      * job is marked as expired, and it no longer appears in search results. The
11755      * expired job can't be listed by the
11756      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11757      * be retrieved with the
11758      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11759      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11760      * deleted with the
11761      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11762      * expired job can be updated and opened again by using a future expiration
11763      * timestamp. Updating an expired job fails if there is another existing open
11764      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11765      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11766      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11767      * The expired jobs are retained in our system for 90 days. However, the
11768      * overall expired job count cannot exceed 3 times the maximum number of
11769      * open jobs over previous 7 days. If this threshold is exceeded,
11770      * expired jobs are cleaned out in order of earliest expire time.
11771      * Expired jobs are no longer accessible after they are cleaned
11772      * out.
11773      * Invalid timestamps are ignored, and treated as expire time not provided.
11774      * If the timestamp is before the instant request is made, the job
11775      * is treated as expired immediately on creation. This kind of job can
11776      * not be updated. And when creating a job with past timestamp, the
11777      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11778      * must be set before
11779      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11780      * The purpose of this feature is to allow other objects, such as
11781      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11782      * didn't exist in the system prior to becoming expired. If you want to modify
11783      * a job that was expired on creation, delete it and create a new one.
11784      * If this value isn't provided at the time of job creation or is invalid,
11785      * the job posting expires after 30 days from the job's creation time. For
11786      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11787      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11788      * If this value isn't provided on job update, it depends on the field masks
11789      * set by
11790      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11791      * If the field masks include
11792      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11793      * are empty meaning that every field is updated, the job posting expires
11794      * after 30 days from the job's last update time. Otherwise the expiration
11795      * date isn't updated.
11796      * </pre>
11797      *
11798      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11799      */
getPostingExpireTimeOrBuilder()11800     public com.google.protobuf.TimestampOrBuilder getPostingExpireTimeOrBuilder() {
11801       if (postingExpireTimeBuilder_ != null) {
11802         return postingExpireTimeBuilder_.getMessageOrBuilder();
11803       } else {
11804         return postingExpireTime_ == null
11805             ? com.google.protobuf.Timestamp.getDefaultInstance()
11806             : postingExpireTime_;
11807       }
11808     }
11809     /**
11810      *
11811      *
11812      * <pre>
11813      * Strongly recommended for the best service experience.
11814      * The expiration timestamp of the job. After this timestamp, the
11815      * job is marked as expired, and it no longer appears in search results. The
11816      * expired job can't be listed by the
11817      * [ListJobs][google.cloud.talent.v4beta1.JobService.ListJobs] API, but it can
11818      * be retrieved with the
11819      * [GetJob][google.cloud.talent.v4beta1.JobService.GetJob] API or updated with
11820      * the [UpdateJob][google.cloud.talent.v4beta1.JobService.UpdateJob] API or
11821      * deleted with the
11822      * [DeleteJob][google.cloud.talent.v4beta1.JobService.DeleteJob] API. An
11823      * expired job can be updated and opened again by using a future expiration
11824      * timestamp. Updating an expired job fails if there is another existing open
11825      * job with same [company][google.cloud.talent.v4beta1.Job.company],
11826      * [language_code][google.cloud.talent.v4beta1.Job.language_code] and
11827      * [requisition_id][google.cloud.talent.v4beta1.Job.requisition_id].
11828      * The expired jobs are retained in our system for 90 days. However, the
11829      * overall expired job count cannot exceed 3 times the maximum number of
11830      * open jobs over previous 7 days. If this threshold is exceeded,
11831      * expired jobs are cleaned out in order of earliest expire time.
11832      * Expired jobs are no longer accessible after they are cleaned
11833      * out.
11834      * Invalid timestamps are ignored, and treated as expire time not provided.
11835      * If the timestamp is before the instant request is made, the job
11836      * is treated as expired immediately on creation. This kind of job can
11837      * not be updated. And when creating a job with past timestamp, the
11838      * [posting_publish_time][google.cloud.talent.v4beta1.Job.posting_publish_time]
11839      * must be set before
11840      * [posting_expire_time][google.cloud.talent.v4beta1.Job.posting_expire_time].
11841      * The purpose of this feature is to allow other objects, such as
11842      * [Application][google.cloud.talent.v4beta1.Application], to refer a job that
11843      * didn't exist in the system prior to becoming expired. If you want to modify
11844      * a job that was expired on creation, delete it and create a new one.
11845      * If this value isn't provided at the time of job creation or is invalid,
11846      * the job posting expires after 30 days from the job's creation time. For
11847      * example, if the job was created on 2017/01/01 13:00AM UTC with an
11848      * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
11849      * If this value isn't provided on job update, it depends on the field masks
11850      * set by
11851      * [UpdateJobRequest.update_mask][google.cloud.talent.v4beta1.UpdateJobRequest.update_mask].
11852      * If the field masks include
11853      * [job_end_time][google.cloud.talent.v4beta1.Job.job_end_time], or the masks
11854      * are empty meaning that every field is updated, the job posting expires
11855      * after 30 days from the job's last update time. Otherwise the expiration
11856      * date isn't updated.
11857      * </pre>
11858      *
11859      * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
11860      */
11861     private com.google.protobuf.SingleFieldBuilderV3<
11862             com.google.protobuf.Timestamp,
11863             com.google.protobuf.Timestamp.Builder,
11864             com.google.protobuf.TimestampOrBuilder>
getPostingExpireTimeFieldBuilder()11865         getPostingExpireTimeFieldBuilder() {
11866       if (postingExpireTimeBuilder_ == null) {
11867         postingExpireTimeBuilder_ =
11868             new com.google.protobuf.SingleFieldBuilderV3<
11869                 com.google.protobuf.Timestamp,
11870                 com.google.protobuf.Timestamp.Builder,
11871                 com.google.protobuf.TimestampOrBuilder>(
11872                 getPostingExpireTime(), getParentForChildren(), isClean());
11873         postingExpireTime_ = null;
11874       }
11875       return postingExpireTimeBuilder_;
11876     }
11877 
11878     private com.google.protobuf.Timestamp postingCreateTime_;
11879     private com.google.protobuf.SingleFieldBuilderV3<
11880             com.google.protobuf.Timestamp,
11881             com.google.protobuf.Timestamp.Builder,
11882             com.google.protobuf.TimestampOrBuilder>
11883         postingCreateTimeBuilder_;
11884     /**
11885      *
11886      *
11887      * <pre>
11888      * Output only. The timestamp when this job posting was created.
11889      * </pre>
11890      *
11891      * <code>
11892      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
11893      * </code>
11894      *
11895      * @return Whether the postingCreateTime field is set.
11896      */
hasPostingCreateTime()11897     public boolean hasPostingCreateTime() {
11898       return ((bitField0_ & 0x02000000) != 0);
11899     }
11900     /**
11901      *
11902      *
11903      * <pre>
11904      * Output only. The timestamp when this job posting was created.
11905      * </pre>
11906      *
11907      * <code>
11908      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
11909      * </code>
11910      *
11911      * @return The postingCreateTime.
11912      */
getPostingCreateTime()11913     public com.google.protobuf.Timestamp getPostingCreateTime() {
11914       if (postingCreateTimeBuilder_ == null) {
11915         return postingCreateTime_ == null
11916             ? com.google.protobuf.Timestamp.getDefaultInstance()
11917             : postingCreateTime_;
11918       } else {
11919         return postingCreateTimeBuilder_.getMessage();
11920       }
11921     }
11922     /**
11923      *
11924      *
11925      * <pre>
11926      * Output only. The timestamp when this job posting was created.
11927      * </pre>
11928      *
11929      * <code>
11930      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
11931      * </code>
11932      */
setPostingCreateTime(com.google.protobuf.Timestamp value)11933     public Builder setPostingCreateTime(com.google.protobuf.Timestamp value) {
11934       if (postingCreateTimeBuilder_ == null) {
11935         if (value == null) {
11936           throw new NullPointerException();
11937         }
11938         postingCreateTime_ = value;
11939       } else {
11940         postingCreateTimeBuilder_.setMessage(value);
11941       }
11942       bitField0_ |= 0x02000000;
11943       onChanged();
11944       return this;
11945     }
11946     /**
11947      *
11948      *
11949      * <pre>
11950      * Output only. The timestamp when this job posting was created.
11951      * </pre>
11952      *
11953      * <code>
11954      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
11955      * </code>
11956      */
setPostingCreateTime(com.google.protobuf.Timestamp.Builder builderForValue)11957     public Builder setPostingCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
11958       if (postingCreateTimeBuilder_ == null) {
11959         postingCreateTime_ = builderForValue.build();
11960       } else {
11961         postingCreateTimeBuilder_.setMessage(builderForValue.build());
11962       }
11963       bitField0_ |= 0x02000000;
11964       onChanged();
11965       return this;
11966     }
11967     /**
11968      *
11969      *
11970      * <pre>
11971      * Output only. The timestamp when this job posting was created.
11972      * </pre>
11973      *
11974      * <code>
11975      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
11976      * </code>
11977      */
mergePostingCreateTime(com.google.protobuf.Timestamp value)11978     public Builder mergePostingCreateTime(com.google.protobuf.Timestamp value) {
11979       if (postingCreateTimeBuilder_ == null) {
11980         if (((bitField0_ & 0x02000000) != 0)
11981             && postingCreateTime_ != null
11982             && postingCreateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
11983           getPostingCreateTimeBuilder().mergeFrom(value);
11984         } else {
11985           postingCreateTime_ = value;
11986         }
11987       } else {
11988         postingCreateTimeBuilder_.mergeFrom(value);
11989       }
11990       bitField0_ |= 0x02000000;
11991       onChanged();
11992       return this;
11993     }
11994     /**
11995      *
11996      *
11997      * <pre>
11998      * Output only. The timestamp when this job posting was created.
11999      * </pre>
12000      *
12001      * <code>
12002      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
12003      * </code>
12004      */
clearPostingCreateTime()12005     public Builder clearPostingCreateTime() {
12006       bitField0_ = (bitField0_ & ~0x02000000);
12007       postingCreateTime_ = null;
12008       if (postingCreateTimeBuilder_ != null) {
12009         postingCreateTimeBuilder_.dispose();
12010         postingCreateTimeBuilder_ = null;
12011       }
12012       onChanged();
12013       return this;
12014     }
12015     /**
12016      *
12017      *
12018      * <pre>
12019      * Output only. The timestamp when this job posting was created.
12020      * </pre>
12021      *
12022      * <code>
12023      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
12024      * </code>
12025      */
getPostingCreateTimeBuilder()12026     public com.google.protobuf.Timestamp.Builder getPostingCreateTimeBuilder() {
12027       bitField0_ |= 0x02000000;
12028       onChanged();
12029       return getPostingCreateTimeFieldBuilder().getBuilder();
12030     }
12031     /**
12032      *
12033      *
12034      * <pre>
12035      * Output only. The timestamp when this job posting was created.
12036      * </pre>
12037      *
12038      * <code>
12039      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
12040      * </code>
12041      */
getPostingCreateTimeOrBuilder()12042     public com.google.protobuf.TimestampOrBuilder getPostingCreateTimeOrBuilder() {
12043       if (postingCreateTimeBuilder_ != null) {
12044         return postingCreateTimeBuilder_.getMessageOrBuilder();
12045       } else {
12046         return postingCreateTime_ == null
12047             ? com.google.protobuf.Timestamp.getDefaultInstance()
12048             : postingCreateTime_;
12049       }
12050     }
12051     /**
12052      *
12053      *
12054      * <pre>
12055      * Output only. The timestamp when this job posting was created.
12056      * </pre>
12057      *
12058      * <code>
12059      * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
12060      * </code>
12061      */
12062     private com.google.protobuf.SingleFieldBuilderV3<
12063             com.google.protobuf.Timestamp,
12064             com.google.protobuf.Timestamp.Builder,
12065             com.google.protobuf.TimestampOrBuilder>
getPostingCreateTimeFieldBuilder()12066         getPostingCreateTimeFieldBuilder() {
12067       if (postingCreateTimeBuilder_ == null) {
12068         postingCreateTimeBuilder_ =
12069             new com.google.protobuf.SingleFieldBuilderV3<
12070                 com.google.protobuf.Timestamp,
12071                 com.google.protobuf.Timestamp.Builder,
12072                 com.google.protobuf.TimestampOrBuilder>(
12073                 getPostingCreateTime(), getParentForChildren(), isClean());
12074         postingCreateTime_ = null;
12075       }
12076       return postingCreateTimeBuilder_;
12077     }
12078 
12079     private com.google.protobuf.Timestamp postingUpdateTime_;
12080     private com.google.protobuf.SingleFieldBuilderV3<
12081             com.google.protobuf.Timestamp,
12082             com.google.protobuf.Timestamp.Builder,
12083             com.google.protobuf.TimestampOrBuilder>
12084         postingUpdateTimeBuilder_;
12085     /**
12086      *
12087      *
12088      * <pre>
12089      * Output only. The timestamp when this job posting was last updated.
12090      * </pre>
12091      *
12092      * <code>
12093      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12094      * </code>
12095      *
12096      * @return Whether the postingUpdateTime field is set.
12097      */
hasPostingUpdateTime()12098     public boolean hasPostingUpdateTime() {
12099       return ((bitField0_ & 0x04000000) != 0);
12100     }
12101     /**
12102      *
12103      *
12104      * <pre>
12105      * Output only. The timestamp when this job posting was last updated.
12106      * </pre>
12107      *
12108      * <code>
12109      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12110      * </code>
12111      *
12112      * @return The postingUpdateTime.
12113      */
getPostingUpdateTime()12114     public com.google.protobuf.Timestamp getPostingUpdateTime() {
12115       if (postingUpdateTimeBuilder_ == null) {
12116         return postingUpdateTime_ == null
12117             ? com.google.protobuf.Timestamp.getDefaultInstance()
12118             : postingUpdateTime_;
12119       } else {
12120         return postingUpdateTimeBuilder_.getMessage();
12121       }
12122     }
12123     /**
12124      *
12125      *
12126      * <pre>
12127      * Output only. The timestamp when this job posting was last updated.
12128      * </pre>
12129      *
12130      * <code>
12131      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12132      * </code>
12133      */
setPostingUpdateTime(com.google.protobuf.Timestamp value)12134     public Builder setPostingUpdateTime(com.google.protobuf.Timestamp value) {
12135       if (postingUpdateTimeBuilder_ == null) {
12136         if (value == null) {
12137           throw new NullPointerException();
12138         }
12139         postingUpdateTime_ = value;
12140       } else {
12141         postingUpdateTimeBuilder_.setMessage(value);
12142       }
12143       bitField0_ |= 0x04000000;
12144       onChanged();
12145       return this;
12146     }
12147     /**
12148      *
12149      *
12150      * <pre>
12151      * Output only. The timestamp when this job posting was last updated.
12152      * </pre>
12153      *
12154      * <code>
12155      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12156      * </code>
12157      */
setPostingUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue)12158     public Builder setPostingUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) {
12159       if (postingUpdateTimeBuilder_ == null) {
12160         postingUpdateTime_ = builderForValue.build();
12161       } else {
12162         postingUpdateTimeBuilder_.setMessage(builderForValue.build());
12163       }
12164       bitField0_ |= 0x04000000;
12165       onChanged();
12166       return this;
12167     }
12168     /**
12169      *
12170      *
12171      * <pre>
12172      * Output only. The timestamp when this job posting was last updated.
12173      * </pre>
12174      *
12175      * <code>
12176      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12177      * </code>
12178      */
mergePostingUpdateTime(com.google.protobuf.Timestamp value)12179     public Builder mergePostingUpdateTime(com.google.protobuf.Timestamp value) {
12180       if (postingUpdateTimeBuilder_ == null) {
12181         if (((bitField0_ & 0x04000000) != 0)
12182             && postingUpdateTime_ != null
12183             && postingUpdateTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
12184           getPostingUpdateTimeBuilder().mergeFrom(value);
12185         } else {
12186           postingUpdateTime_ = value;
12187         }
12188       } else {
12189         postingUpdateTimeBuilder_.mergeFrom(value);
12190       }
12191       bitField0_ |= 0x04000000;
12192       onChanged();
12193       return this;
12194     }
12195     /**
12196      *
12197      *
12198      * <pre>
12199      * Output only. The timestamp when this job posting was last updated.
12200      * </pre>
12201      *
12202      * <code>
12203      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12204      * </code>
12205      */
clearPostingUpdateTime()12206     public Builder clearPostingUpdateTime() {
12207       bitField0_ = (bitField0_ & ~0x04000000);
12208       postingUpdateTime_ = null;
12209       if (postingUpdateTimeBuilder_ != null) {
12210         postingUpdateTimeBuilder_.dispose();
12211         postingUpdateTimeBuilder_ = null;
12212       }
12213       onChanged();
12214       return this;
12215     }
12216     /**
12217      *
12218      *
12219      * <pre>
12220      * Output only. The timestamp when this job posting was last updated.
12221      * </pre>
12222      *
12223      * <code>
12224      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12225      * </code>
12226      */
getPostingUpdateTimeBuilder()12227     public com.google.protobuf.Timestamp.Builder getPostingUpdateTimeBuilder() {
12228       bitField0_ |= 0x04000000;
12229       onChanged();
12230       return getPostingUpdateTimeFieldBuilder().getBuilder();
12231     }
12232     /**
12233      *
12234      *
12235      * <pre>
12236      * Output only. The timestamp when this job posting was last updated.
12237      * </pre>
12238      *
12239      * <code>
12240      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12241      * </code>
12242      */
getPostingUpdateTimeOrBuilder()12243     public com.google.protobuf.TimestampOrBuilder getPostingUpdateTimeOrBuilder() {
12244       if (postingUpdateTimeBuilder_ != null) {
12245         return postingUpdateTimeBuilder_.getMessageOrBuilder();
12246       } else {
12247         return postingUpdateTime_ == null
12248             ? com.google.protobuf.Timestamp.getDefaultInstance()
12249             : postingUpdateTime_;
12250       }
12251     }
12252     /**
12253      *
12254      *
12255      * <pre>
12256      * Output only. The timestamp when this job posting was last updated.
12257      * </pre>
12258      *
12259      * <code>
12260      * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
12261      * </code>
12262      */
12263     private com.google.protobuf.SingleFieldBuilderV3<
12264             com.google.protobuf.Timestamp,
12265             com.google.protobuf.Timestamp.Builder,
12266             com.google.protobuf.TimestampOrBuilder>
getPostingUpdateTimeFieldBuilder()12267         getPostingUpdateTimeFieldBuilder() {
12268       if (postingUpdateTimeBuilder_ == null) {
12269         postingUpdateTimeBuilder_ =
12270             new com.google.protobuf.SingleFieldBuilderV3<
12271                 com.google.protobuf.Timestamp,
12272                 com.google.protobuf.Timestamp.Builder,
12273                 com.google.protobuf.TimestampOrBuilder>(
12274                 getPostingUpdateTime(), getParentForChildren(), isClean());
12275         postingUpdateTime_ = null;
12276       }
12277       return postingUpdateTimeBuilder_;
12278     }
12279 
12280     private java.lang.Object companyDisplayName_ = "";
12281     /**
12282      *
12283      *
12284      * <pre>
12285      * Output only. Display name of the company listing the job.
12286      * </pre>
12287      *
12288      * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12289      *
12290      * @return The companyDisplayName.
12291      */
getCompanyDisplayName()12292     public java.lang.String getCompanyDisplayName() {
12293       java.lang.Object ref = companyDisplayName_;
12294       if (!(ref instanceof java.lang.String)) {
12295         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
12296         java.lang.String s = bs.toStringUtf8();
12297         companyDisplayName_ = s;
12298         return s;
12299       } else {
12300         return (java.lang.String) ref;
12301       }
12302     }
12303     /**
12304      *
12305      *
12306      * <pre>
12307      * Output only. Display name of the company listing the job.
12308      * </pre>
12309      *
12310      * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12311      *
12312      * @return The bytes for companyDisplayName.
12313      */
getCompanyDisplayNameBytes()12314     public com.google.protobuf.ByteString getCompanyDisplayNameBytes() {
12315       java.lang.Object ref = companyDisplayName_;
12316       if (ref instanceof String) {
12317         com.google.protobuf.ByteString b =
12318             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
12319         companyDisplayName_ = b;
12320         return b;
12321       } else {
12322         return (com.google.protobuf.ByteString) ref;
12323       }
12324     }
12325     /**
12326      *
12327      *
12328      * <pre>
12329      * Output only. Display name of the company listing the job.
12330      * </pre>
12331      *
12332      * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12333      *
12334      * @param value The companyDisplayName to set.
12335      * @return This builder for chaining.
12336      */
setCompanyDisplayName(java.lang.String value)12337     public Builder setCompanyDisplayName(java.lang.String value) {
12338       if (value == null) {
12339         throw new NullPointerException();
12340       }
12341       companyDisplayName_ = value;
12342       bitField0_ |= 0x08000000;
12343       onChanged();
12344       return this;
12345     }
12346     /**
12347      *
12348      *
12349      * <pre>
12350      * Output only. Display name of the company listing the job.
12351      * </pre>
12352      *
12353      * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12354      *
12355      * @return This builder for chaining.
12356      */
clearCompanyDisplayName()12357     public Builder clearCompanyDisplayName() {
12358       companyDisplayName_ = getDefaultInstance().getCompanyDisplayName();
12359       bitField0_ = (bitField0_ & ~0x08000000);
12360       onChanged();
12361       return this;
12362     }
12363     /**
12364      *
12365      *
12366      * <pre>
12367      * Output only. Display name of the company listing the job.
12368      * </pre>
12369      *
12370      * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
12371      *
12372      * @param value The bytes for companyDisplayName to set.
12373      * @return This builder for chaining.
12374      */
setCompanyDisplayNameBytes(com.google.protobuf.ByteString value)12375     public Builder setCompanyDisplayNameBytes(com.google.protobuf.ByteString value) {
12376       if (value == null) {
12377         throw new NullPointerException();
12378       }
12379       checkByteStringIsUtf8(value);
12380       companyDisplayName_ = value;
12381       bitField0_ |= 0x08000000;
12382       onChanged();
12383       return this;
12384     }
12385 
12386     private com.google.cloud.talent.v4beta1.Job.DerivedInfo derivedInfo_;
12387     private com.google.protobuf.SingleFieldBuilderV3<
12388             com.google.cloud.talent.v4beta1.Job.DerivedInfo,
12389             com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder,
12390             com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder>
12391         derivedInfoBuilder_;
12392     /**
12393      *
12394      *
12395      * <pre>
12396      * Output only. Derived details about the job posting.
12397      * </pre>
12398      *
12399      * <code>
12400      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12401      * </code>
12402      *
12403      * @return Whether the derivedInfo field is set.
12404      */
hasDerivedInfo()12405     public boolean hasDerivedInfo() {
12406       return ((bitField0_ & 0x10000000) != 0);
12407     }
12408     /**
12409      *
12410      *
12411      * <pre>
12412      * Output only. Derived details about the job posting.
12413      * </pre>
12414      *
12415      * <code>
12416      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12417      * </code>
12418      *
12419      * @return The derivedInfo.
12420      */
getDerivedInfo()12421     public com.google.cloud.talent.v4beta1.Job.DerivedInfo getDerivedInfo() {
12422       if (derivedInfoBuilder_ == null) {
12423         return derivedInfo_ == null
12424             ? com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance()
12425             : derivedInfo_;
12426       } else {
12427         return derivedInfoBuilder_.getMessage();
12428       }
12429     }
12430     /**
12431      *
12432      *
12433      * <pre>
12434      * Output only. Derived details about the job posting.
12435      * </pre>
12436      *
12437      * <code>
12438      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12439      * </code>
12440      */
setDerivedInfo(com.google.cloud.talent.v4beta1.Job.DerivedInfo value)12441     public Builder setDerivedInfo(com.google.cloud.talent.v4beta1.Job.DerivedInfo value) {
12442       if (derivedInfoBuilder_ == null) {
12443         if (value == null) {
12444           throw new NullPointerException();
12445         }
12446         derivedInfo_ = value;
12447       } else {
12448         derivedInfoBuilder_.setMessage(value);
12449       }
12450       bitField0_ |= 0x10000000;
12451       onChanged();
12452       return this;
12453     }
12454     /**
12455      *
12456      *
12457      * <pre>
12458      * Output only. Derived details about the job posting.
12459      * </pre>
12460      *
12461      * <code>
12462      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12463      * </code>
12464      */
setDerivedInfo( com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder builderForValue)12465     public Builder setDerivedInfo(
12466         com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder builderForValue) {
12467       if (derivedInfoBuilder_ == null) {
12468         derivedInfo_ = builderForValue.build();
12469       } else {
12470         derivedInfoBuilder_.setMessage(builderForValue.build());
12471       }
12472       bitField0_ |= 0x10000000;
12473       onChanged();
12474       return this;
12475     }
12476     /**
12477      *
12478      *
12479      * <pre>
12480      * Output only. Derived details about the job posting.
12481      * </pre>
12482      *
12483      * <code>
12484      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12485      * </code>
12486      */
mergeDerivedInfo(com.google.cloud.talent.v4beta1.Job.DerivedInfo value)12487     public Builder mergeDerivedInfo(com.google.cloud.talent.v4beta1.Job.DerivedInfo value) {
12488       if (derivedInfoBuilder_ == null) {
12489         if (((bitField0_ & 0x10000000) != 0)
12490             && derivedInfo_ != null
12491             && derivedInfo_
12492                 != com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance()) {
12493           getDerivedInfoBuilder().mergeFrom(value);
12494         } else {
12495           derivedInfo_ = value;
12496         }
12497       } else {
12498         derivedInfoBuilder_.mergeFrom(value);
12499       }
12500       bitField0_ |= 0x10000000;
12501       onChanged();
12502       return this;
12503     }
12504     /**
12505      *
12506      *
12507      * <pre>
12508      * Output only. Derived details about the job posting.
12509      * </pre>
12510      *
12511      * <code>
12512      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12513      * </code>
12514      */
clearDerivedInfo()12515     public Builder clearDerivedInfo() {
12516       bitField0_ = (bitField0_ & ~0x10000000);
12517       derivedInfo_ = null;
12518       if (derivedInfoBuilder_ != null) {
12519         derivedInfoBuilder_.dispose();
12520         derivedInfoBuilder_ = null;
12521       }
12522       onChanged();
12523       return this;
12524     }
12525     /**
12526      *
12527      *
12528      * <pre>
12529      * Output only. Derived details about the job posting.
12530      * </pre>
12531      *
12532      * <code>
12533      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12534      * </code>
12535      */
getDerivedInfoBuilder()12536     public com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder getDerivedInfoBuilder() {
12537       bitField0_ |= 0x10000000;
12538       onChanged();
12539       return getDerivedInfoFieldBuilder().getBuilder();
12540     }
12541     /**
12542      *
12543      *
12544      * <pre>
12545      * Output only. Derived details about the job posting.
12546      * </pre>
12547      *
12548      * <code>
12549      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12550      * </code>
12551      */
getDerivedInfoOrBuilder()12552     public com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder getDerivedInfoOrBuilder() {
12553       if (derivedInfoBuilder_ != null) {
12554         return derivedInfoBuilder_.getMessageOrBuilder();
12555       } else {
12556         return derivedInfo_ == null
12557             ? com.google.cloud.talent.v4beta1.Job.DerivedInfo.getDefaultInstance()
12558             : derivedInfo_;
12559       }
12560     }
12561     /**
12562      *
12563      *
12564      * <pre>
12565      * Output only. Derived details about the job posting.
12566      * </pre>
12567      *
12568      * <code>
12569      * .google.cloud.talent.v4beta1.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
12570      * </code>
12571      */
12572     private com.google.protobuf.SingleFieldBuilderV3<
12573             com.google.cloud.talent.v4beta1.Job.DerivedInfo,
12574             com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder,
12575             com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder>
getDerivedInfoFieldBuilder()12576         getDerivedInfoFieldBuilder() {
12577       if (derivedInfoBuilder_ == null) {
12578         derivedInfoBuilder_ =
12579             new com.google.protobuf.SingleFieldBuilderV3<
12580                 com.google.cloud.talent.v4beta1.Job.DerivedInfo,
12581                 com.google.cloud.talent.v4beta1.Job.DerivedInfo.Builder,
12582                 com.google.cloud.talent.v4beta1.Job.DerivedInfoOrBuilder>(
12583                 getDerivedInfo(), getParentForChildren(), isClean());
12584         derivedInfo_ = null;
12585       }
12586       return derivedInfoBuilder_;
12587     }
12588 
12589     private com.google.cloud.talent.v4beta1.Job.ProcessingOptions processingOptions_;
12590     private com.google.protobuf.SingleFieldBuilderV3<
12591             com.google.cloud.talent.v4beta1.Job.ProcessingOptions,
12592             com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder,
12593             com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder>
12594         processingOptionsBuilder_;
12595     /**
12596      *
12597      *
12598      * <pre>
12599      * Options for job processing.
12600      * </pre>
12601      *
12602      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12603      *
12604      * @return Whether the processingOptions field is set.
12605      */
hasProcessingOptions()12606     public boolean hasProcessingOptions() {
12607       return ((bitField0_ & 0x20000000) != 0);
12608     }
12609     /**
12610      *
12611      *
12612      * <pre>
12613      * Options for job processing.
12614      * </pre>
12615      *
12616      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12617      *
12618      * @return The processingOptions.
12619      */
getProcessingOptions()12620     public com.google.cloud.talent.v4beta1.Job.ProcessingOptions getProcessingOptions() {
12621       if (processingOptionsBuilder_ == null) {
12622         return processingOptions_ == null
12623             ? com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance()
12624             : processingOptions_;
12625       } else {
12626         return processingOptionsBuilder_.getMessage();
12627       }
12628     }
12629     /**
12630      *
12631      *
12632      * <pre>
12633      * Options for job processing.
12634      * </pre>
12635      *
12636      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12637      */
setProcessingOptions( com.google.cloud.talent.v4beta1.Job.ProcessingOptions value)12638     public Builder setProcessingOptions(
12639         com.google.cloud.talent.v4beta1.Job.ProcessingOptions value) {
12640       if (processingOptionsBuilder_ == null) {
12641         if (value == null) {
12642           throw new NullPointerException();
12643         }
12644         processingOptions_ = value;
12645       } else {
12646         processingOptionsBuilder_.setMessage(value);
12647       }
12648       bitField0_ |= 0x20000000;
12649       onChanged();
12650       return this;
12651     }
12652     /**
12653      *
12654      *
12655      * <pre>
12656      * Options for job processing.
12657      * </pre>
12658      *
12659      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12660      */
setProcessingOptions( com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder builderForValue)12661     public Builder setProcessingOptions(
12662         com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder builderForValue) {
12663       if (processingOptionsBuilder_ == null) {
12664         processingOptions_ = builderForValue.build();
12665       } else {
12666         processingOptionsBuilder_.setMessage(builderForValue.build());
12667       }
12668       bitField0_ |= 0x20000000;
12669       onChanged();
12670       return this;
12671     }
12672     /**
12673      *
12674      *
12675      * <pre>
12676      * Options for job processing.
12677      * </pre>
12678      *
12679      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12680      */
mergeProcessingOptions( com.google.cloud.talent.v4beta1.Job.ProcessingOptions value)12681     public Builder mergeProcessingOptions(
12682         com.google.cloud.talent.v4beta1.Job.ProcessingOptions value) {
12683       if (processingOptionsBuilder_ == null) {
12684         if (((bitField0_ & 0x20000000) != 0)
12685             && processingOptions_ != null
12686             && processingOptions_
12687                 != com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance()) {
12688           getProcessingOptionsBuilder().mergeFrom(value);
12689         } else {
12690           processingOptions_ = value;
12691         }
12692       } else {
12693         processingOptionsBuilder_.mergeFrom(value);
12694       }
12695       bitField0_ |= 0x20000000;
12696       onChanged();
12697       return this;
12698     }
12699     /**
12700      *
12701      *
12702      * <pre>
12703      * Options for job processing.
12704      * </pre>
12705      *
12706      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12707      */
clearProcessingOptions()12708     public Builder clearProcessingOptions() {
12709       bitField0_ = (bitField0_ & ~0x20000000);
12710       processingOptions_ = null;
12711       if (processingOptionsBuilder_ != null) {
12712         processingOptionsBuilder_.dispose();
12713         processingOptionsBuilder_ = null;
12714       }
12715       onChanged();
12716       return this;
12717     }
12718     /**
12719      *
12720      *
12721      * <pre>
12722      * Options for job processing.
12723      * </pre>
12724      *
12725      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12726      */
12727     public com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder
getProcessingOptionsBuilder()12728         getProcessingOptionsBuilder() {
12729       bitField0_ |= 0x20000000;
12730       onChanged();
12731       return getProcessingOptionsFieldBuilder().getBuilder();
12732     }
12733     /**
12734      *
12735      *
12736      * <pre>
12737      * Options for job processing.
12738      * </pre>
12739      *
12740      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12741      */
12742     public com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder
getProcessingOptionsOrBuilder()12743         getProcessingOptionsOrBuilder() {
12744       if (processingOptionsBuilder_ != null) {
12745         return processingOptionsBuilder_.getMessageOrBuilder();
12746       } else {
12747         return processingOptions_ == null
12748             ? com.google.cloud.talent.v4beta1.Job.ProcessingOptions.getDefaultInstance()
12749             : processingOptions_;
12750       }
12751     }
12752     /**
12753      *
12754      *
12755      * <pre>
12756      * Options for job processing.
12757      * </pre>
12758      *
12759      * <code>.google.cloud.talent.v4beta1.Job.ProcessingOptions processing_options = 30;</code>
12760      */
12761     private com.google.protobuf.SingleFieldBuilderV3<
12762             com.google.cloud.talent.v4beta1.Job.ProcessingOptions,
12763             com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder,
12764             com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder>
getProcessingOptionsFieldBuilder()12765         getProcessingOptionsFieldBuilder() {
12766       if (processingOptionsBuilder_ == null) {
12767         processingOptionsBuilder_ =
12768             new com.google.protobuf.SingleFieldBuilderV3<
12769                 com.google.cloud.talent.v4beta1.Job.ProcessingOptions,
12770                 com.google.cloud.talent.v4beta1.Job.ProcessingOptions.Builder,
12771                 com.google.cloud.talent.v4beta1.Job.ProcessingOptionsOrBuilder>(
12772                 getProcessingOptions(), getParentForChildren(), isClean());
12773         processingOptions_ = null;
12774       }
12775       return processingOptionsBuilder_;
12776     }
12777 
12778     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)12779     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
12780       return super.setUnknownFields(unknownFields);
12781     }
12782 
12783     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)12784     public final Builder mergeUnknownFields(
12785         final com.google.protobuf.UnknownFieldSet unknownFields) {
12786       return super.mergeUnknownFields(unknownFields);
12787     }
12788 
12789     // @@protoc_insertion_point(builder_scope:google.cloud.talent.v4beta1.Job)
12790   }
12791 
12792   // @@protoc_insertion_point(class_scope:google.cloud.talent.v4beta1.Job)
12793   private static final com.google.cloud.talent.v4beta1.Job DEFAULT_INSTANCE;
12794 
12795   static {
12796     DEFAULT_INSTANCE = new com.google.cloud.talent.v4beta1.Job();
12797   }
12798 
getDefaultInstance()12799   public static com.google.cloud.talent.v4beta1.Job getDefaultInstance() {
12800     return DEFAULT_INSTANCE;
12801   }
12802 
12803   private static final com.google.protobuf.Parser<Job> PARSER =
12804       new com.google.protobuf.AbstractParser<Job>() {
12805         @java.lang.Override
12806         public Job parsePartialFrom(
12807             com.google.protobuf.CodedInputStream input,
12808             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
12809             throws com.google.protobuf.InvalidProtocolBufferException {
12810           Builder builder = newBuilder();
12811           try {
12812             builder.mergeFrom(input, extensionRegistry);
12813           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
12814             throw e.setUnfinishedMessage(builder.buildPartial());
12815           } catch (com.google.protobuf.UninitializedMessageException e) {
12816             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
12817           } catch (java.io.IOException e) {
12818             throw new com.google.protobuf.InvalidProtocolBufferException(e)
12819                 .setUnfinishedMessage(builder.buildPartial());
12820           }
12821           return builder.buildPartial();
12822         }
12823       };
12824 
parser()12825   public static com.google.protobuf.Parser<Job> parser() {
12826     return PARSER;
12827   }
12828 
12829   @java.lang.Override
getParserForType()12830   public com.google.protobuf.Parser<Job> getParserForType() {
12831     return PARSER;
12832   }
12833 
12834   @java.lang.Override
getDefaultInstanceForType()12835   public com.google.cloud.talent.v4beta1.Job getDefaultInstanceForType() {
12836     return DEFAULT_INSTANCE;
12837   }
12838 }
12839