• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/talent/v4/job.proto
18 
19 package com.google.cloud.talent.v4;
20 
21 public interface JobOrBuilder
22     extends
23     // @@protoc_insertion_point(interface_extends:google.cloud.talent.v4.Job)
24     com.google.protobuf.MessageOrBuilder {
25 
26   /**
27    *
28    *
29    * <pre>
30    * Required during job update.
31    * The resource name for the job. This is generated by the service when a
32    * job is created.
33    * The format is
34    * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
35    * example, "projects/foo/tenants/bar/jobs/baz".
36    * Use of this field in job queries and API calls is preferred over the use of
37    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] since this
38    * value is unique.
39    * </pre>
40    *
41    * <code>string name = 1;</code>
42    *
43    * @return The name.
44    */
getName()45   java.lang.String getName();
46   /**
47    *
48    *
49    * <pre>
50    * Required during job update.
51    * The resource name for the job. This is generated by the service when a
52    * job is created.
53    * The format is
54    * "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". For
55    * example, "projects/foo/tenants/bar/jobs/baz".
56    * Use of this field in job queries and API calls is preferred over the use of
57    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] since this
58    * value is unique.
59    * </pre>
60    *
61    * <code>string name = 1;</code>
62    *
63    * @return The bytes for name.
64    */
getNameBytes()65   com.google.protobuf.ByteString getNameBytes();
66 
67   /**
68    *
69    *
70    * <pre>
71    * Required. The resource name of the company listing the job.
72    * The format is
73    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
74    * example, "projects/foo/tenants/bar/companies/baz".
75    * </pre>
76    *
77    * <code>
78    * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
79    * </code>
80    *
81    * @return The company.
82    */
getCompany()83   java.lang.String getCompany();
84   /**
85    *
86    *
87    * <pre>
88    * Required. The resource name of the company listing the job.
89    * The format is
90    * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For
91    * example, "projects/foo/tenants/bar/companies/baz".
92    * </pre>
93    *
94    * <code>
95    * string company = 2 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... }
96    * </code>
97    *
98    * @return The bytes for company.
99    */
getCompanyBytes()100   com.google.protobuf.ByteString getCompanyBytes();
101 
102   /**
103    *
104    *
105    * <pre>
106    * Required. The requisition ID, also referred to as the posting ID, is
107    * assigned by the client to identify a job. This field is intended to be used
108    * by clients for client identification and tracking of postings. A job isn't
109    * allowed to be created if there is another job with the same
110    * [company][google.cloud.talent.v4.Job.name],
111    * [language_code][google.cloud.talent.v4.Job.language_code] and
112    * [requisition_id][google.cloud.talent.v4.Job.requisition_id].
113    * The maximum number of allowed characters is 255.
114    * </pre>
115    *
116    * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
117    *
118    * @return The requisitionId.
119    */
getRequisitionId()120   java.lang.String getRequisitionId();
121   /**
122    *
123    *
124    * <pre>
125    * Required. The requisition ID, also referred to as the posting ID, is
126    * assigned by the client to identify a job. This field is intended to be used
127    * by clients for client identification and tracking of postings. A job isn't
128    * allowed to be created if there is another job with the same
129    * [company][google.cloud.talent.v4.Job.name],
130    * [language_code][google.cloud.talent.v4.Job.language_code] and
131    * [requisition_id][google.cloud.talent.v4.Job.requisition_id].
132    * The maximum number of allowed characters is 255.
133    * </pre>
134    *
135    * <code>string requisition_id = 3 [(.google.api.field_behavior) = REQUIRED];</code>
136    *
137    * @return The bytes for requisitionId.
138    */
getRequisitionIdBytes()139   com.google.protobuf.ByteString getRequisitionIdBytes();
140 
141   /**
142    *
143    *
144    * <pre>
145    * Required. The title of the job, such as "Software Engineer"
146    * The maximum number of allowed characters is 500.
147    * </pre>
148    *
149    * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
150    *
151    * @return The title.
152    */
getTitle()153   java.lang.String getTitle();
154   /**
155    *
156    *
157    * <pre>
158    * Required. The title of the job, such as "Software Engineer"
159    * The maximum number of allowed characters is 500.
160    * </pre>
161    *
162    * <code>string title = 4 [(.google.api.field_behavior) = REQUIRED];</code>
163    *
164    * @return The bytes for title.
165    */
getTitleBytes()166   com.google.protobuf.ByteString getTitleBytes();
167 
168   /**
169    *
170    *
171    * <pre>
172    * Required. The description of the job, which typically includes a
173    * multi-paragraph description of the company and related information.
174    * Separate fields are provided on the job object for
175    * [responsibilities][google.cloud.talent.v4.Job.responsibilities],
176    * [qualifications][google.cloud.talent.v4.Job.qualifications], and other job
177    * characteristics. Use of these separate job fields is recommended.
178    * This field accepts and sanitizes HTML input, and also accepts
179    * bold, italic, ordered list, and unordered list markup tags.
180    * The maximum number of allowed characters is 100,000.
181    * </pre>
182    *
183    * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
184    *
185    * @return The description.
186    */
getDescription()187   java.lang.String getDescription();
188   /**
189    *
190    *
191    * <pre>
192    * Required. The description of the job, which typically includes a
193    * multi-paragraph description of the company and related information.
194    * Separate fields are provided on the job object for
195    * [responsibilities][google.cloud.talent.v4.Job.responsibilities],
196    * [qualifications][google.cloud.talent.v4.Job.qualifications], and other job
197    * characteristics. Use of these separate job fields is recommended.
198    * This field accepts and sanitizes HTML input, and also accepts
199    * bold, italic, ordered list, and unordered list markup tags.
200    * The maximum number of allowed characters is 100,000.
201    * </pre>
202    *
203    * <code>string description = 5 [(.google.api.field_behavior) = REQUIRED];</code>
204    *
205    * @return The bytes for description.
206    */
getDescriptionBytes()207   com.google.protobuf.ByteString getDescriptionBytes();
208 
209   /**
210    *
211    *
212    * <pre>
213    * Strongly recommended for the best service experience.
214    * Location(s) where the employer is looking to hire for this job posting.
215    * Specifying the full street address(es) of the hiring location enables
216    * better API results, especially job searches by commute time.
217    * At most 50 locations are allowed for best search performance. If a job has
218    * more locations, it is suggested to split it into multiple jobs with unique
219    * [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA'
220    * becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
221    * [company][google.cloud.talent.v4.Job.company],
222    * [language_code][google.cloud.talent.v4.Job.language_code] and
223    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not
224    * allowed. If the original
225    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] must be
226    * preserved, a custom field should be used for storage. It is also suggested
227    * to group the locations that close to each other in the same job for better
228    * search experience.
229    * Jobs with multiple addresses must have their addresses with the same
230    * [LocationType][] to allow location filtering to work properly. (For
231    * example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
232    * CA, USA" and "London, UK" may not have location filters applied correctly
233    * at search time since the first is a [LocationType.STREET_ADDRESS][] and the
234    * second is a [LocationType.LOCALITY][].) If a job needs to have multiple
235    * addresses, it is suggested to split it into multiple jobs with same
236    * LocationTypes.
237    * The maximum number of allowed characters is 500.
238    * </pre>
239    *
240    * <code>repeated string addresses = 6;</code>
241    *
242    * @return A list containing the addresses.
243    */
getAddressesList()244   java.util.List<java.lang.String> getAddressesList();
245   /**
246    *
247    *
248    * <pre>
249    * Strongly recommended for the best service experience.
250    * Location(s) where the employer is looking to hire for this job posting.
251    * Specifying the full street address(es) of the hiring location enables
252    * better API results, especially job searches by commute time.
253    * At most 50 locations are allowed for best search performance. If a job has
254    * more locations, it is suggested to split it into multiple jobs with unique
255    * [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA'
256    * becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
257    * [company][google.cloud.talent.v4.Job.company],
258    * [language_code][google.cloud.talent.v4.Job.language_code] and
259    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not
260    * allowed. If the original
261    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] must be
262    * preserved, a custom field should be used for storage. It is also suggested
263    * to group the locations that close to each other in the same job for better
264    * search experience.
265    * Jobs with multiple addresses must have their addresses with the same
266    * [LocationType][] to allow location filtering to work properly. (For
267    * example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
268    * CA, USA" and "London, UK" may not have location filters applied correctly
269    * at search time since the first is a [LocationType.STREET_ADDRESS][] and the
270    * second is a [LocationType.LOCALITY][].) If a job needs to have multiple
271    * addresses, it is suggested to split it into multiple jobs with same
272    * LocationTypes.
273    * The maximum number of allowed characters is 500.
274    * </pre>
275    *
276    * <code>repeated string addresses = 6;</code>
277    *
278    * @return The count of addresses.
279    */
getAddressesCount()280   int getAddressesCount();
281   /**
282    *
283    *
284    * <pre>
285    * Strongly recommended for the best service experience.
286    * Location(s) where the employer is looking to hire for this job posting.
287    * Specifying the full street address(es) of the hiring location enables
288    * better API results, especially job searches by commute time.
289    * At most 50 locations are allowed for best search performance. If a job has
290    * more locations, it is suggested to split it into multiple jobs with unique
291    * [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA'
292    * becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
293    * [company][google.cloud.talent.v4.Job.company],
294    * [language_code][google.cloud.talent.v4.Job.language_code] and
295    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not
296    * allowed. If the original
297    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] must be
298    * preserved, a custom field should be used for storage. It is also suggested
299    * to group the locations that close to each other in the same job for better
300    * search experience.
301    * Jobs with multiple addresses must have their addresses with the same
302    * [LocationType][] to allow location filtering to work properly. (For
303    * example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
304    * CA, USA" and "London, UK" may not have location filters applied correctly
305    * at search time since the first is a [LocationType.STREET_ADDRESS][] and the
306    * second is a [LocationType.LOCALITY][].) If a job needs to have multiple
307    * addresses, it is suggested to split it into multiple jobs with same
308    * LocationTypes.
309    * The maximum number of allowed characters is 500.
310    * </pre>
311    *
312    * <code>repeated string addresses = 6;</code>
313    *
314    * @param index The index of the element to return.
315    * @return The addresses at the given index.
316    */
getAddresses(int index)317   java.lang.String getAddresses(int index);
318   /**
319    *
320    *
321    * <pre>
322    * Strongly recommended for the best service experience.
323    * Location(s) where the employer is looking to hire for this job posting.
324    * Specifying the full street address(es) of the hiring location enables
325    * better API results, especially job searches by commute time.
326    * At most 50 locations are allowed for best search performance. If a job has
327    * more locations, it is suggested to split it into multiple jobs with unique
328    * [requisition_id][google.cloud.talent.v4.Job.requisition_id]s (e.g. 'ReqA'
329    * becomes 'ReqA-1', 'ReqA-2', and so on.) as multiple jobs with the same
330    * [company][google.cloud.talent.v4.Job.company],
331    * [language_code][google.cloud.talent.v4.Job.language_code] and
332    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] are not
333    * allowed. If the original
334    * [requisition_id][google.cloud.talent.v4.Job.requisition_id] must be
335    * preserved, a custom field should be used for storage. It is also suggested
336    * to group the locations that close to each other in the same job for better
337    * search experience.
338    * Jobs with multiple addresses must have their addresses with the same
339    * [LocationType][] to allow location filtering to work properly. (For
340    * example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View,
341    * CA, USA" and "London, UK" may not have location filters applied correctly
342    * at search time since the first is a [LocationType.STREET_ADDRESS][] and the
343    * second is a [LocationType.LOCALITY][].) If a job needs to have multiple
344    * addresses, it is suggested to split it into multiple jobs with same
345    * LocationTypes.
346    * The maximum number of allowed characters is 500.
347    * </pre>
348    *
349    * <code>repeated string addresses = 6;</code>
350    *
351    * @param index The index of the value to return.
352    * @return The bytes of the addresses at the given index.
353    */
getAddressesBytes(int index)354   com.google.protobuf.ByteString getAddressesBytes(int index);
355 
356   /**
357    *
358    *
359    * <pre>
360    * Job application information.
361    * </pre>
362    *
363    * <code>.google.cloud.talent.v4.Job.ApplicationInfo application_info = 7;</code>
364    *
365    * @return Whether the applicationInfo field is set.
366    */
hasApplicationInfo()367   boolean hasApplicationInfo();
368   /**
369    *
370    *
371    * <pre>
372    * Job application information.
373    * </pre>
374    *
375    * <code>.google.cloud.talent.v4.Job.ApplicationInfo application_info = 7;</code>
376    *
377    * @return The applicationInfo.
378    */
getApplicationInfo()379   com.google.cloud.talent.v4.Job.ApplicationInfo getApplicationInfo();
380   /**
381    *
382    *
383    * <pre>
384    * Job application information.
385    * </pre>
386    *
387    * <code>.google.cloud.talent.v4.Job.ApplicationInfo application_info = 7;</code>
388    */
getApplicationInfoOrBuilder()389   com.google.cloud.talent.v4.Job.ApplicationInfoOrBuilder getApplicationInfoOrBuilder();
390 
391   /**
392    *
393    *
394    * <pre>
395    * The benefits included with the job.
396    * </pre>
397    *
398    * <code>repeated .google.cloud.talent.v4.JobBenefit job_benefits = 8;</code>
399    *
400    * @return A list containing the jobBenefits.
401    */
getJobBenefitsList()402   java.util.List<com.google.cloud.talent.v4.JobBenefit> getJobBenefitsList();
403   /**
404    *
405    *
406    * <pre>
407    * The benefits included with the job.
408    * </pre>
409    *
410    * <code>repeated .google.cloud.talent.v4.JobBenefit job_benefits = 8;</code>
411    *
412    * @return The count of jobBenefits.
413    */
getJobBenefitsCount()414   int getJobBenefitsCount();
415   /**
416    *
417    *
418    * <pre>
419    * The benefits included with the job.
420    * </pre>
421    *
422    * <code>repeated .google.cloud.talent.v4.JobBenefit job_benefits = 8;</code>
423    *
424    * @param index The index of the element to return.
425    * @return The jobBenefits at the given index.
426    */
getJobBenefits(int index)427   com.google.cloud.talent.v4.JobBenefit getJobBenefits(int index);
428   /**
429    *
430    *
431    * <pre>
432    * The benefits included with the job.
433    * </pre>
434    *
435    * <code>repeated .google.cloud.talent.v4.JobBenefit job_benefits = 8;</code>
436    *
437    * @return A list containing the enum numeric values on the wire for jobBenefits.
438    */
getJobBenefitsValueList()439   java.util.List<java.lang.Integer> getJobBenefitsValueList();
440   /**
441    *
442    *
443    * <pre>
444    * The benefits included with the job.
445    * </pre>
446    *
447    * <code>repeated .google.cloud.talent.v4.JobBenefit job_benefits = 8;</code>
448    *
449    * @param index The index of the value to return.
450    * @return The enum numeric value on the wire of jobBenefits at the given index.
451    */
getJobBenefitsValue(int index)452   int getJobBenefitsValue(int index);
453 
454   /**
455    *
456    *
457    * <pre>
458    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
459    * that will paid to the employee.
460    * </pre>
461    *
462    * <code>.google.cloud.talent.v4.CompensationInfo compensation_info = 9;</code>
463    *
464    * @return Whether the compensationInfo field is set.
465    */
hasCompensationInfo()466   boolean hasCompensationInfo();
467   /**
468    *
469    *
470    * <pre>
471    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
472    * that will paid to the employee.
473    * </pre>
474    *
475    * <code>.google.cloud.talent.v4.CompensationInfo compensation_info = 9;</code>
476    *
477    * @return The compensationInfo.
478    */
getCompensationInfo()479   com.google.cloud.talent.v4.CompensationInfo getCompensationInfo();
480   /**
481    *
482    *
483    * <pre>
484    * Job compensation information (a.k.a. "pay rate") i.e., the compensation
485    * that will paid to the employee.
486    * </pre>
487    *
488    * <code>.google.cloud.talent.v4.CompensationInfo compensation_info = 9;</code>
489    */
getCompensationInfoOrBuilder()490   com.google.cloud.talent.v4.CompensationInfoOrBuilder getCompensationInfoOrBuilder();
491 
492   /**
493    *
494    *
495    * <pre>
496    * A map of fields to hold both filterable and non-filterable custom job
497    * attributes that are not covered by the provided structured fields.
498    * The keys of the map are strings up to 64 bytes and must match the
499    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
500    * KEY_1_LIKE_THIS.
501    * At most 100 filterable and at most 100 unfilterable keys are supported.
502    * For filterable `string_values`, across all keys at most 200 values are
503    * allowed, with each string no more than 255 characters. For unfilterable
504    * `string_values`, the maximum total size of `string_values` across all keys
505    * is 50KB.
506    * </pre>
507    *
508    * <code>map&lt;string, .google.cloud.talent.v4.CustomAttribute&gt; custom_attributes = 10;</code>
509    */
getCustomAttributesCount()510   int getCustomAttributesCount();
511   /**
512    *
513    *
514    * <pre>
515    * A map of fields to hold both filterable and non-filterable custom job
516    * attributes that are not covered by the provided structured fields.
517    * The keys of the map are strings up to 64 bytes and must match the
518    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
519    * KEY_1_LIKE_THIS.
520    * At most 100 filterable and at most 100 unfilterable keys are supported.
521    * For filterable `string_values`, across all keys at most 200 values are
522    * allowed, with each string no more than 255 characters. For unfilterable
523    * `string_values`, the maximum total size of `string_values` across all keys
524    * is 50KB.
525    * </pre>
526    *
527    * <code>map&lt;string, .google.cloud.talent.v4.CustomAttribute&gt; custom_attributes = 10;</code>
528    */
containsCustomAttributes(java.lang.String key)529   boolean containsCustomAttributes(java.lang.String key);
530   /** Use {@link #getCustomAttributesMap()} instead. */
531   @java.lang.Deprecated
getCustomAttributes()532   java.util.Map<java.lang.String, com.google.cloud.talent.v4.CustomAttribute> getCustomAttributes();
533   /**
534    *
535    *
536    * <pre>
537    * A map of fields to hold both filterable and non-filterable custom job
538    * attributes that are not covered by the provided structured fields.
539    * The keys of the map are strings up to 64 bytes and must match the
540    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
541    * KEY_1_LIKE_THIS.
542    * At most 100 filterable and at most 100 unfilterable keys are supported.
543    * For filterable `string_values`, across all keys at most 200 values are
544    * allowed, with each string no more than 255 characters. For unfilterable
545    * `string_values`, the maximum total size of `string_values` across all keys
546    * is 50KB.
547    * </pre>
548    *
549    * <code>map&lt;string, .google.cloud.talent.v4.CustomAttribute&gt; custom_attributes = 10;</code>
550    */
551   java.util.Map<java.lang.String, com.google.cloud.talent.v4.CustomAttribute>
getCustomAttributesMap()552       getCustomAttributesMap();
553   /**
554    *
555    *
556    * <pre>
557    * A map of fields to hold both filterable and non-filterable custom job
558    * attributes that are not covered by the provided structured fields.
559    * The keys of the map are strings up to 64 bytes and must match the
560    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
561    * KEY_1_LIKE_THIS.
562    * At most 100 filterable and at most 100 unfilterable keys are supported.
563    * For filterable `string_values`, across all keys at most 200 values are
564    * allowed, with each string no more than 255 characters. For unfilterable
565    * `string_values`, the maximum total size of `string_values` across all keys
566    * is 50KB.
567    * </pre>
568    *
569    * <code>map&lt;string, .google.cloud.talent.v4.CustomAttribute&gt; custom_attributes = 10;</code>
570    */
571   /* nullable */
getCustomAttributesOrDefault( java.lang.String key, com.google.cloud.talent.v4.CustomAttribute defaultValue)572   com.google.cloud.talent.v4.CustomAttribute getCustomAttributesOrDefault(
573       java.lang.String key,
574       /* nullable */
575       com.google.cloud.talent.v4.CustomAttribute defaultValue);
576   /**
577    *
578    *
579    * <pre>
580    * A map of fields to hold both filterable and non-filterable custom job
581    * attributes that are not covered by the provided structured fields.
582    * The keys of the map are strings up to 64 bytes and must match the
583    * pattern: `[a-zA-Z][a-zA-Z0-9_]*`. For example, key0LikeThis or
584    * KEY_1_LIKE_THIS.
585    * At most 100 filterable and at most 100 unfilterable keys are supported.
586    * For filterable `string_values`, across all keys at most 200 values are
587    * allowed, with each string no more than 255 characters. For unfilterable
588    * `string_values`, the maximum total size of `string_values` across all keys
589    * is 50KB.
590    * </pre>
591    *
592    * <code>map&lt;string, .google.cloud.talent.v4.CustomAttribute&gt; custom_attributes = 10;</code>
593    */
getCustomAttributesOrThrow(java.lang.String key)594   com.google.cloud.talent.v4.CustomAttribute getCustomAttributesOrThrow(java.lang.String key);
595 
596   /**
597    *
598    *
599    * <pre>
600    * The desired education degrees for the job, such as Bachelors, Masters.
601    * </pre>
602    *
603    * <code>repeated .google.cloud.talent.v4.DegreeType degree_types = 11;</code>
604    *
605    * @return A list containing the degreeTypes.
606    */
getDegreeTypesList()607   java.util.List<com.google.cloud.talent.v4.DegreeType> getDegreeTypesList();
608   /**
609    *
610    *
611    * <pre>
612    * The desired education degrees for the job, such as Bachelors, Masters.
613    * </pre>
614    *
615    * <code>repeated .google.cloud.talent.v4.DegreeType degree_types = 11;</code>
616    *
617    * @return The count of degreeTypes.
618    */
getDegreeTypesCount()619   int getDegreeTypesCount();
620   /**
621    *
622    *
623    * <pre>
624    * The desired education degrees for the job, such as Bachelors, Masters.
625    * </pre>
626    *
627    * <code>repeated .google.cloud.talent.v4.DegreeType degree_types = 11;</code>
628    *
629    * @param index The index of the element to return.
630    * @return The degreeTypes at the given index.
631    */
getDegreeTypes(int index)632   com.google.cloud.talent.v4.DegreeType getDegreeTypes(int index);
633   /**
634    *
635    *
636    * <pre>
637    * The desired education degrees for the job, such as Bachelors, Masters.
638    * </pre>
639    *
640    * <code>repeated .google.cloud.talent.v4.DegreeType degree_types = 11;</code>
641    *
642    * @return A list containing the enum numeric values on the wire for degreeTypes.
643    */
getDegreeTypesValueList()644   java.util.List<java.lang.Integer> getDegreeTypesValueList();
645   /**
646    *
647    *
648    * <pre>
649    * The desired education degrees for the job, such as Bachelors, Masters.
650    * </pre>
651    *
652    * <code>repeated .google.cloud.talent.v4.DegreeType degree_types = 11;</code>
653    *
654    * @param index The index of the value to return.
655    * @return The enum numeric value on the wire of degreeTypes at the given index.
656    */
getDegreeTypesValue(int index)657   int getDegreeTypesValue(int index);
658 
659   /**
660    *
661    *
662    * <pre>
663    * The department or functional area within the company with the open
664    * position.
665    * The maximum number of allowed characters is 255.
666    * </pre>
667    *
668    * <code>string department = 12;</code>
669    *
670    * @return The department.
671    */
getDepartment()672   java.lang.String getDepartment();
673   /**
674    *
675    *
676    * <pre>
677    * The department or functional area within the company with the open
678    * position.
679    * The maximum number of allowed characters is 255.
680    * </pre>
681    *
682    * <code>string department = 12;</code>
683    *
684    * @return The bytes for department.
685    */
getDepartmentBytes()686   com.google.protobuf.ByteString getDepartmentBytes();
687 
688   /**
689    *
690    *
691    * <pre>
692    * The employment type(s) of a job, for example,
693    * [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
694    * [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
695    * </pre>
696    *
697    * <code>repeated .google.cloud.talent.v4.EmploymentType employment_types = 13;</code>
698    *
699    * @return A list containing the employmentTypes.
700    */
getEmploymentTypesList()701   java.util.List<com.google.cloud.talent.v4.EmploymentType> getEmploymentTypesList();
702   /**
703    *
704    *
705    * <pre>
706    * The employment type(s) of a job, for example,
707    * [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
708    * [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
709    * </pre>
710    *
711    * <code>repeated .google.cloud.talent.v4.EmploymentType employment_types = 13;</code>
712    *
713    * @return The count of employmentTypes.
714    */
getEmploymentTypesCount()715   int getEmploymentTypesCount();
716   /**
717    *
718    *
719    * <pre>
720    * The employment type(s) of a job, for example,
721    * [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
722    * [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
723    * </pre>
724    *
725    * <code>repeated .google.cloud.talent.v4.EmploymentType employment_types = 13;</code>
726    *
727    * @param index The index of the element to return.
728    * @return The employmentTypes at the given index.
729    */
getEmploymentTypes(int index)730   com.google.cloud.talent.v4.EmploymentType getEmploymentTypes(int index);
731   /**
732    *
733    *
734    * <pre>
735    * The employment type(s) of a job, for example,
736    * [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
737    * [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
738    * </pre>
739    *
740    * <code>repeated .google.cloud.talent.v4.EmploymentType employment_types = 13;</code>
741    *
742    * @return A list containing the enum numeric values on the wire for employmentTypes.
743    */
getEmploymentTypesValueList()744   java.util.List<java.lang.Integer> getEmploymentTypesValueList();
745   /**
746    *
747    *
748    * <pre>
749    * The employment type(s) of a job, for example,
750    * [full time][google.cloud.talent.v4.EmploymentType.FULL_TIME] or
751    * [part time][google.cloud.talent.v4.EmploymentType.PART_TIME].
752    * </pre>
753    *
754    * <code>repeated .google.cloud.talent.v4.EmploymentType employment_types = 13;</code>
755    *
756    * @param index The index of the value to return.
757    * @return The enum numeric value on the wire of employmentTypes at the given index.
758    */
getEmploymentTypesValue(int index)759   int getEmploymentTypesValue(int index);
760 
761   /**
762    *
763    *
764    * <pre>
765    * A description of bonus, commission, and other compensation
766    * incentives associated with the job not including salary or pay.
767    * The maximum number of allowed characters is 10,000.
768    * </pre>
769    *
770    * <code>string incentives = 14;</code>
771    *
772    * @return The incentives.
773    */
getIncentives()774   java.lang.String getIncentives();
775   /**
776    *
777    *
778    * <pre>
779    * A description of bonus, commission, and other compensation
780    * incentives associated with the job not including salary or pay.
781    * The maximum number of allowed characters is 10,000.
782    * </pre>
783    *
784    * <code>string incentives = 14;</code>
785    *
786    * @return The bytes for incentives.
787    */
getIncentivesBytes()788   com.google.protobuf.ByteString getIncentivesBytes();
789 
790   /**
791    *
792    *
793    * <pre>
794    * The language of the posting. This field is distinct from
795    * any requirements for fluency that are associated with the job.
796    * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
797    * For more information, see
798    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
799    * class="external" target="_blank" }.
800    * If this field is unspecified and
801    * [Job.description][google.cloud.talent.v4.Job.description] is present,
802    * detected language code based on
803    * [Job.description][google.cloud.talent.v4.Job.description] is assigned,
804    * otherwise defaults to 'en_US'.
805    * </pre>
806    *
807    * <code>string language_code = 15;</code>
808    *
809    * @return The languageCode.
810    */
getLanguageCode()811   java.lang.String getLanguageCode();
812   /**
813    *
814    *
815    * <pre>
816    * The language of the posting. This field is distinct from
817    * any requirements for fluency that are associated with the job.
818    * Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn".
819    * For more information, see
820    * [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){:
821    * class="external" target="_blank" }.
822    * If this field is unspecified and
823    * [Job.description][google.cloud.talent.v4.Job.description] is present,
824    * detected language code based on
825    * [Job.description][google.cloud.talent.v4.Job.description] is assigned,
826    * otherwise defaults to 'en_US'.
827    * </pre>
828    *
829    * <code>string language_code = 15;</code>
830    *
831    * @return The bytes for languageCode.
832    */
getLanguageCodeBytes()833   com.google.protobuf.ByteString getLanguageCodeBytes();
834 
835   /**
836    *
837    *
838    * <pre>
839    * The experience level associated with the job, such as "Entry Level".
840    * </pre>
841    *
842    * <code>.google.cloud.talent.v4.JobLevel job_level = 16;</code>
843    *
844    * @return The enum numeric value on the wire for jobLevel.
845    */
getJobLevelValue()846   int getJobLevelValue();
847   /**
848    *
849    *
850    * <pre>
851    * The experience level associated with the job, such as "Entry Level".
852    * </pre>
853    *
854    * <code>.google.cloud.talent.v4.JobLevel job_level = 16;</code>
855    *
856    * @return The jobLevel.
857    */
getJobLevel()858   com.google.cloud.talent.v4.JobLevel getJobLevel();
859 
860   /**
861    *
862    *
863    * <pre>
864    * A promotion value of the job, as determined by the client.
865    * The value determines the sort order of the jobs returned when searching for
866    * jobs using the featured jobs search call, with higher promotional values
867    * being returned first and ties being resolved by relevance sort. Only the
868    * jobs with a promotionValue &gt;0 are returned in a FEATURED_JOB_SEARCH.
869    * Default value is 0, and negative values are treated as 0.
870    * </pre>
871    *
872    * <code>int32 promotion_value = 17;</code>
873    *
874    * @return The promotionValue.
875    */
getPromotionValue()876   int getPromotionValue();
877 
878   /**
879    *
880    *
881    * <pre>
882    * A description of the qualifications required to perform the
883    * job. The use of this field is recommended
884    * as an alternative to using the more general
885    * [description][google.cloud.talent.v4.Job.description] field.
886    * This field accepts and sanitizes HTML input, and also accepts
887    * bold, italic, ordered list, and unordered list markup tags.
888    * The maximum number of allowed characters is 10,000.
889    * </pre>
890    *
891    * <code>string qualifications = 18;</code>
892    *
893    * @return The qualifications.
894    */
getQualifications()895   java.lang.String getQualifications();
896   /**
897    *
898    *
899    * <pre>
900    * A description of the qualifications required to perform the
901    * job. The use of this field is recommended
902    * as an alternative to using the more general
903    * [description][google.cloud.talent.v4.Job.description] field.
904    * This field accepts and sanitizes HTML input, and also accepts
905    * bold, italic, ordered list, and unordered list markup tags.
906    * The maximum number of allowed characters is 10,000.
907    * </pre>
908    *
909    * <code>string qualifications = 18;</code>
910    *
911    * @return The bytes for qualifications.
912    */
getQualificationsBytes()913   com.google.protobuf.ByteString getQualificationsBytes();
914 
915   /**
916    *
917    *
918    * <pre>
919    * A description of job responsibilities. The use of this field is
920    * recommended as an alternative to using the more general
921    * [description][google.cloud.talent.v4.Job.description] field.
922    * This field accepts and sanitizes HTML input, and also accepts
923    * bold, italic, ordered list, and unordered list markup tags.
924    * The maximum number of allowed characters is 10,000.
925    * </pre>
926    *
927    * <code>string responsibilities = 19;</code>
928    *
929    * @return The responsibilities.
930    */
getResponsibilities()931   java.lang.String getResponsibilities();
932   /**
933    *
934    *
935    * <pre>
936    * A description of job responsibilities. The use of this field is
937    * recommended as an alternative to using the more general
938    * [description][google.cloud.talent.v4.Job.description] field.
939    * This field accepts and sanitizes HTML input, and also accepts
940    * bold, italic, ordered list, and unordered list markup tags.
941    * The maximum number of allowed characters is 10,000.
942    * </pre>
943    *
944    * <code>string responsibilities = 19;</code>
945    *
946    * @return The bytes for responsibilities.
947    */
getResponsibilitiesBytes()948   com.google.protobuf.ByteString getResponsibilitiesBytes();
949 
950   /**
951    *
952    *
953    * <pre>
954    * The job [PostingRegion][google.cloud.talent.v4.PostingRegion] (for example,
955    * state, country) throughout which the job is available. If this field is
956    * set, a [LocationFilter][google.cloud.talent.v4.LocationFilter] in a search
957    * query within the job region finds this job posting if an exact location
958    * match isn't specified. If this field is set to
959    * [PostingRegion.NATION][google.cloud.talent.v4.PostingRegion.NATION] or
960    * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4.PostingRegion.ADMINISTRATIVE_AREA],
961    * setting job [Job.addresses][google.cloud.talent.v4.Job.addresses] to the
962    * same location level as this field is strongly recommended.
963    * </pre>
964    *
965    * <code>.google.cloud.talent.v4.PostingRegion posting_region = 20;</code>
966    *
967    * @return The enum numeric value on the wire for postingRegion.
968    */
getPostingRegionValue()969   int getPostingRegionValue();
970   /**
971    *
972    *
973    * <pre>
974    * The job [PostingRegion][google.cloud.talent.v4.PostingRegion] (for example,
975    * state, country) throughout which the job is available. If this field is
976    * set, a [LocationFilter][google.cloud.talent.v4.LocationFilter] in a search
977    * query within the job region finds this job posting if an exact location
978    * match isn't specified. If this field is set to
979    * [PostingRegion.NATION][google.cloud.talent.v4.PostingRegion.NATION] or
980    * [PostingRegion.ADMINISTRATIVE_AREA][google.cloud.talent.v4.PostingRegion.ADMINISTRATIVE_AREA],
981    * setting job [Job.addresses][google.cloud.talent.v4.Job.addresses] to the
982    * same location level as this field is strongly recommended.
983    * </pre>
984    *
985    * <code>.google.cloud.talent.v4.PostingRegion posting_region = 20;</code>
986    *
987    * @return The postingRegion.
988    */
getPostingRegion()989   com.google.cloud.talent.v4.PostingRegion getPostingRegion();
990 
991   /**
992    *
993    *
994    * <pre>
995    * Deprecated. The job is only visible to the owner.
996    * The visibility of the job.
997    * Defaults to
998    * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4.Visibility.ACCOUNT_ONLY]
999    * if not specified.
1000    * </pre>
1001    *
1002    * <code>.google.cloud.talent.v4.Visibility visibility = 21 [deprecated = true];</code>
1003    *
1004    * @deprecated google.cloud.talent.v4.Job.visibility is deprecated. See
1005    *     google/cloud/talent/v4/job.proto;l=295
1006    * @return The enum numeric value on the wire for visibility.
1007    */
1008   @java.lang.Deprecated
getVisibilityValue()1009   int getVisibilityValue();
1010   /**
1011    *
1012    *
1013    * <pre>
1014    * Deprecated. The job is only visible to the owner.
1015    * The visibility of the job.
1016    * Defaults to
1017    * [Visibility.ACCOUNT_ONLY][google.cloud.talent.v4.Visibility.ACCOUNT_ONLY]
1018    * if not specified.
1019    * </pre>
1020    *
1021    * <code>.google.cloud.talent.v4.Visibility visibility = 21 [deprecated = true];</code>
1022    *
1023    * @deprecated google.cloud.talent.v4.Job.visibility is deprecated. See
1024    *     google/cloud/talent/v4/job.proto;l=295
1025    * @return The visibility.
1026    */
1027   @java.lang.Deprecated
getVisibility()1028   com.google.cloud.talent.v4.Visibility getVisibility();
1029 
1030   /**
1031    *
1032    *
1033    * <pre>
1034    * The start timestamp of the job in UTC time zone. Typically this field
1035    * is used for contracting engagements. Invalid timestamps are ignored.
1036    * </pre>
1037    *
1038    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
1039    *
1040    * @return Whether the jobStartTime field is set.
1041    */
hasJobStartTime()1042   boolean hasJobStartTime();
1043   /**
1044    *
1045    *
1046    * <pre>
1047    * The start timestamp of the job in UTC time zone. Typically this field
1048    * is used for contracting engagements. Invalid timestamps are ignored.
1049    * </pre>
1050    *
1051    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
1052    *
1053    * @return The jobStartTime.
1054    */
getJobStartTime()1055   com.google.protobuf.Timestamp getJobStartTime();
1056   /**
1057    *
1058    *
1059    * <pre>
1060    * The start timestamp of the job in UTC time zone. Typically this field
1061    * is used for contracting engagements. Invalid timestamps are ignored.
1062    * </pre>
1063    *
1064    * <code>.google.protobuf.Timestamp job_start_time = 22;</code>
1065    */
getJobStartTimeOrBuilder()1066   com.google.protobuf.TimestampOrBuilder getJobStartTimeOrBuilder();
1067 
1068   /**
1069    *
1070    *
1071    * <pre>
1072    * The end timestamp of the job. Typically this field is used for contracting
1073    * engagements. Invalid timestamps are ignored.
1074    * </pre>
1075    *
1076    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
1077    *
1078    * @return Whether the jobEndTime field is set.
1079    */
hasJobEndTime()1080   boolean hasJobEndTime();
1081   /**
1082    *
1083    *
1084    * <pre>
1085    * The end timestamp of the job. Typically this field is used for contracting
1086    * engagements. Invalid timestamps are ignored.
1087    * </pre>
1088    *
1089    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
1090    *
1091    * @return The jobEndTime.
1092    */
getJobEndTime()1093   com.google.protobuf.Timestamp getJobEndTime();
1094   /**
1095    *
1096    *
1097    * <pre>
1098    * The end timestamp of the job. Typically this field is used for contracting
1099    * engagements. Invalid timestamps are ignored.
1100    * </pre>
1101    *
1102    * <code>.google.protobuf.Timestamp job_end_time = 23;</code>
1103    */
getJobEndTimeOrBuilder()1104   com.google.protobuf.TimestampOrBuilder getJobEndTimeOrBuilder();
1105 
1106   /**
1107    *
1108    *
1109    * <pre>
1110    * The timestamp this job posting was most recently published. The default
1111    * value is the time the request arrives at the server. Invalid timestamps are
1112    * ignored.
1113    * </pre>
1114    *
1115    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
1116    *
1117    * @return Whether the postingPublishTime field is set.
1118    */
hasPostingPublishTime()1119   boolean hasPostingPublishTime();
1120   /**
1121    *
1122    *
1123    * <pre>
1124    * The timestamp this job posting was most recently published. The default
1125    * value is the time the request arrives at the server. Invalid timestamps are
1126    * ignored.
1127    * </pre>
1128    *
1129    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
1130    *
1131    * @return The postingPublishTime.
1132    */
getPostingPublishTime()1133   com.google.protobuf.Timestamp getPostingPublishTime();
1134   /**
1135    *
1136    *
1137    * <pre>
1138    * The timestamp this job posting was most recently published. The default
1139    * value is the time the request arrives at the server. Invalid timestamps are
1140    * ignored.
1141    * </pre>
1142    *
1143    * <code>.google.protobuf.Timestamp posting_publish_time = 24;</code>
1144    */
getPostingPublishTimeOrBuilder()1145   com.google.protobuf.TimestampOrBuilder getPostingPublishTimeOrBuilder();
1146 
1147   /**
1148    *
1149    *
1150    * <pre>
1151    * Strongly recommended for the best service experience.
1152    * The expiration timestamp of the job. After this timestamp, the
1153    * job is marked as expired, and it no longer appears in search results. The
1154    * expired job can't be listed by the
1155    * [ListJobs][google.cloud.talent.v4.JobService.ListJobs] API, but it can be
1156    * retrieved with the [GetJob][google.cloud.talent.v4.JobService.GetJob] API
1157    * or updated with the
1158    * [UpdateJob][google.cloud.talent.v4.JobService.UpdateJob] API or deleted
1159    * with the [DeleteJob][google.cloud.talent.v4.JobService.DeleteJob] API. An
1160    * expired job can be updated and opened again by using a future expiration
1161    * timestamp. Updating an expired job fails if there is another existing open
1162    * job with same [company][google.cloud.talent.v4.Job.company],
1163    * [language_code][google.cloud.talent.v4.Job.language_code] and
1164    * [requisition_id][google.cloud.talent.v4.Job.requisition_id].
1165    * The expired jobs are retained in our system for 90 days. However, the
1166    * overall expired job count cannot exceed 3 times the maximum number of
1167    * open jobs over previous 7 days. If this threshold is exceeded,
1168    * expired jobs are cleaned out in order of earliest expire time.
1169    * Expired jobs are no longer accessible after they are cleaned
1170    * out.
1171    * Invalid timestamps are ignored, and treated as expire time not provided.
1172    * If the timestamp is before the instant request is made, the job
1173    * is treated as expired immediately on creation. This kind of job can
1174    * not be updated. And when creating a job with past timestamp, the
1175    * [posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
1176    * must be set before
1177    * [posting_expire_time][google.cloud.talent.v4.Job.posting_expire_time]. The
1178    * purpose of this feature is to allow other objects, such as [Application][],
1179    * to refer a job that didn't exist in the system prior to becoming expired.
1180    * If you want to modify a job that was expired on creation, delete it and
1181    * create a new one.
1182    * If this value isn't provided at the time of job creation or is invalid,
1183    * the job posting expires after 30 days from the job's creation time. For
1184    * example, if the job was created on 2017/01/01 13:00AM UTC with an
1185    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
1186    * If this value isn't provided on job update, it depends on the field masks
1187    * set by
1188    * [UpdateJobRequest.update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask].
1189    * If the field masks include
1190    * [job_end_time][google.cloud.talent.v4.Job.job_end_time], or the masks are
1191    * empty meaning that every field is updated, the job posting expires after 30
1192    * days from the job's last update time. Otherwise the expiration date isn't
1193    * updated.
1194    * </pre>
1195    *
1196    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
1197    *
1198    * @return Whether the postingExpireTime field is set.
1199    */
hasPostingExpireTime()1200   boolean hasPostingExpireTime();
1201   /**
1202    *
1203    *
1204    * <pre>
1205    * Strongly recommended for the best service experience.
1206    * The expiration timestamp of the job. After this timestamp, the
1207    * job is marked as expired, and it no longer appears in search results. The
1208    * expired job can't be listed by the
1209    * [ListJobs][google.cloud.talent.v4.JobService.ListJobs] API, but it can be
1210    * retrieved with the [GetJob][google.cloud.talent.v4.JobService.GetJob] API
1211    * or updated with the
1212    * [UpdateJob][google.cloud.talent.v4.JobService.UpdateJob] API or deleted
1213    * with the [DeleteJob][google.cloud.talent.v4.JobService.DeleteJob] API. An
1214    * expired job can be updated and opened again by using a future expiration
1215    * timestamp. Updating an expired job fails if there is another existing open
1216    * job with same [company][google.cloud.talent.v4.Job.company],
1217    * [language_code][google.cloud.talent.v4.Job.language_code] and
1218    * [requisition_id][google.cloud.talent.v4.Job.requisition_id].
1219    * The expired jobs are retained in our system for 90 days. However, the
1220    * overall expired job count cannot exceed 3 times the maximum number of
1221    * open jobs over previous 7 days. If this threshold is exceeded,
1222    * expired jobs are cleaned out in order of earliest expire time.
1223    * Expired jobs are no longer accessible after they are cleaned
1224    * out.
1225    * Invalid timestamps are ignored, and treated as expire time not provided.
1226    * If the timestamp is before the instant request is made, the job
1227    * is treated as expired immediately on creation. This kind of job can
1228    * not be updated. And when creating a job with past timestamp, the
1229    * [posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
1230    * must be set before
1231    * [posting_expire_time][google.cloud.talent.v4.Job.posting_expire_time]. The
1232    * purpose of this feature is to allow other objects, such as [Application][],
1233    * to refer a job that didn't exist in the system prior to becoming expired.
1234    * If you want to modify a job that was expired on creation, delete it and
1235    * create a new one.
1236    * If this value isn't provided at the time of job creation or is invalid,
1237    * the job posting expires after 30 days from the job's creation time. For
1238    * example, if the job was created on 2017/01/01 13:00AM UTC with an
1239    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
1240    * If this value isn't provided on job update, it depends on the field masks
1241    * set by
1242    * [UpdateJobRequest.update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask].
1243    * If the field masks include
1244    * [job_end_time][google.cloud.talent.v4.Job.job_end_time], or the masks are
1245    * empty meaning that every field is updated, the job posting expires after 30
1246    * days from the job's last update time. Otherwise the expiration date isn't
1247    * updated.
1248    * </pre>
1249    *
1250    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
1251    *
1252    * @return The postingExpireTime.
1253    */
getPostingExpireTime()1254   com.google.protobuf.Timestamp getPostingExpireTime();
1255   /**
1256    *
1257    *
1258    * <pre>
1259    * Strongly recommended for the best service experience.
1260    * The expiration timestamp of the job. After this timestamp, the
1261    * job is marked as expired, and it no longer appears in search results. The
1262    * expired job can't be listed by the
1263    * [ListJobs][google.cloud.talent.v4.JobService.ListJobs] API, but it can be
1264    * retrieved with the [GetJob][google.cloud.talent.v4.JobService.GetJob] API
1265    * or updated with the
1266    * [UpdateJob][google.cloud.talent.v4.JobService.UpdateJob] API or deleted
1267    * with the [DeleteJob][google.cloud.talent.v4.JobService.DeleteJob] API. An
1268    * expired job can be updated and opened again by using a future expiration
1269    * timestamp. Updating an expired job fails if there is another existing open
1270    * job with same [company][google.cloud.talent.v4.Job.company],
1271    * [language_code][google.cloud.talent.v4.Job.language_code] and
1272    * [requisition_id][google.cloud.talent.v4.Job.requisition_id].
1273    * The expired jobs are retained in our system for 90 days. However, the
1274    * overall expired job count cannot exceed 3 times the maximum number of
1275    * open jobs over previous 7 days. If this threshold is exceeded,
1276    * expired jobs are cleaned out in order of earliest expire time.
1277    * Expired jobs are no longer accessible after they are cleaned
1278    * out.
1279    * Invalid timestamps are ignored, and treated as expire time not provided.
1280    * If the timestamp is before the instant request is made, the job
1281    * is treated as expired immediately on creation. This kind of job can
1282    * not be updated. And when creating a job with past timestamp, the
1283    * [posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time]
1284    * must be set before
1285    * [posting_expire_time][google.cloud.talent.v4.Job.posting_expire_time]. The
1286    * purpose of this feature is to allow other objects, such as [Application][],
1287    * to refer a job that didn't exist in the system prior to becoming expired.
1288    * If you want to modify a job that was expired on creation, delete it and
1289    * create a new one.
1290    * If this value isn't provided at the time of job creation or is invalid,
1291    * the job posting expires after 30 days from the job's creation time. For
1292    * example, if the job was created on 2017/01/01 13:00AM UTC with an
1293    * unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC.
1294    * If this value isn't provided on job update, it depends on the field masks
1295    * set by
1296    * [UpdateJobRequest.update_mask][google.cloud.talent.v4.UpdateJobRequest.update_mask].
1297    * If the field masks include
1298    * [job_end_time][google.cloud.talent.v4.Job.job_end_time], or the masks are
1299    * empty meaning that every field is updated, the job posting expires after 30
1300    * days from the job's last update time. Otherwise the expiration date isn't
1301    * updated.
1302    * </pre>
1303    *
1304    * <code>.google.protobuf.Timestamp posting_expire_time = 25;</code>
1305    */
getPostingExpireTimeOrBuilder()1306   com.google.protobuf.TimestampOrBuilder getPostingExpireTimeOrBuilder();
1307 
1308   /**
1309    *
1310    *
1311    * <pre>
1312    * Output only. The timestamp when this job posting was created.
1313    * </pre>
1314    *
1315    * <code>
1316    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
1317    * </code>
1318    *
1319    * @return Whether the postingCreateTime field is set.
1320    */
hasPostingCreateTime()1321   boolean hasPostingCreateTime();
1322   /**
1323    *
1324    *
1325    * <pre>
1326    * Output only. The timestamp when this job posting was created.
1327    * </pre>
1328    *
1329    * <code>
1330    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
1331    * </code>
1332    *
1333    * @return The postingCreateTime.
1334    */
getPostingCreateTime()1335   com.google.protobuf.Timestamp getPostingCreateTime();
1336   /**
1337    *
1338    *
1339    * <pre>
1340    * Output only. The timestamp when this job posting was created.
1341    * </pre>
1342    *
1343    * <code>
1344    * .google.protobuf.Timestamp posting_create_time = 26 [(.google.api.field_behavior) = OUTPUT_ONLY];
1345    * </code>
1346    */
getPostingCreateTimeOrBuilder()1347   com.google.protobuf.TimestampOrBuilder getPostingCreateTimeOrBuilder();
1348 
1349   /**
1350    *
1351    *
1352    * <pre>
1353    * Output only. The timestamp when this job posting was last updated.
1354    * </pre>
1355    *
1356    * <code>
1357    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
1358    * </code>
1359    *
1360    * @return Whether the postingUpdateTime field is set.
1361    */
hasPostingUpdateTime()1362   boolean hasPostingUpdateTime();
1363   /**
1364    *
1365    *
1366    * <pre>
1367    * Output only. The timestamp when this job posting was last updated.
1368    * </pre>
1369    *
1370    * <code>
1371    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
1372    * </code>
1373    *
1374    * @return The postingUpdateTime.
1375    */
getPostingUpdateTime()1376   com.google.protobuf.Timestamp getPostingUpdateTime();
1377   /**
1378    *
1379    *
1380    * <pre>
1381    * Output only. The timestamp when this job posting was last updated.
1382    * </pre>
1383    *
1384    * <code>
1385    * .google.protobuf.Timestamp posting_update_time = 27 [(.google.api.field_behavior) = OUTPUT_ONLY];
1386    * </code>
1387    */
getPostingUpdateTimeOrBuilder()1388   com.google.protobuf.TimestampOrBuilder getPostingUpdateTimeOrBuilder();
1389 
1390   /**
1391    *
1392    *
1393    * <pre>
1394    * Output only. Display name of the company listing the job.
1395    * </pre>
1396    *
1397    * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1398    *
1399    * @return The companyDisplayName.
1400    */
getCompanyDisplayName()1401   java.lang.String getCompanyDisplayName();
1402   /**
1403    *
1404    *
1405    * <pre>
1406    * Output only. Display name of the company listing the job.
1407    * </pre>
1408    *
1409    * <code>string company_display_name = 28 [(.google.api.field_behavior) = OUTPUT_ONLY];</code>
1410    *
1411    * @return The bytes for companyDisplayName.
1412    */
getCompanyDisplayNameBytes()1413   com.google.protobuf.ByteString getCompanyDisplayNameBytes();
1414 
1415   /**
1416    *
1417    *
1418    * <pre>
1419    * Output only. Derived details about the job posting.
1420    * </pre>
1421    *
1422    * <code>
1423    * .google.cloud.talent.v4.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
1424    * </code>
1425    *
1426    * @return Whether the derivedInfo field is set.
1427    */
hasDerivedInfo()1428   boolean hasDerivedInfo();
1429   /**
1430    *
1431    *
1432    * <pre>
1433    * Output only. Derived details about the job posting.
1434    * </pre>
1435    *
1436    * <code>
1437    * .google.cloud.talent.v4.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
1438    * </code>
1439    *
1440    * @return The derivedInfo.
1441    */
getDerivedInfo()1442   com.google.cloud.talent.v4.Job.DerivedInfo getDerivedInfo();
1443   /**
1444    *
1445    *
1446    * <pre>
1447    * Output only. Derived details about the job posting.
1448    * </pre>
1449    *
1450    * <code>
1451    * .google.cloud.talent.v4.Job.DerivedInfo derived_info = 29 [(.google.api.field_behavior) = OUTPUT_ONLY];
1452    * </code>
1453    */
getDerivedInfoOrBuilder()1454   com.google.cloud.talent.v4.Job.DerivedInfoOrBuilder getDerivedInfoOrBuilder();
1455 
1456   /**
1457    *
1458    *
1459    * <pre>
1460    * Options for job processing.
1461    * </pre>
1462    *
1463    * <code>.google.cloud.talent.v4.Job.ProcessingOptions processing_options = 30;</code>
1464    *
1465    * @return Whether the processingOptions field is set.
1466    */
hasProcessingOptions()1467   boolean hasProcessingOptions();
1468   /**
1469    *
1470    *
1471    * <pre>
1472    * Options for job processing.
1473    * </pre>
1474    *
1475    * <code>.google.cloud.talent.v4.Job.ProcessingOptions processing_options = 30;</code>
1476    *
1477    * @return The processingOptions.
1478    */
getProcessingOptions()1479   com.google.cloud.talent.v4.Job.ProcessingOptions getProcessingOptions();
1480   /**
1481    *
1482    *
1483    * <pre>
1484    * Options for job processing.
1485    * </pre>
1486    *
1487    * <code>.google.cloud.talent.v4.Job.ProcessingOptions processing_options = 30;</code>
1488    */
getProcessingOptionsOrBuilder()1489   com.google.cloud.talent.v4.Job.ProcessingOptionsOrBuilder getProcessingOptionsOrBuilder();
1490 }
1491