All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.api.services.jobs.v4.model.Job Maven / Gradle / Ivy

/*
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 * in compliance with the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License
 * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
 * or implied. See the License for the specific language governing permissions and limitations under
 * the License.
 */
/*
 * This code was generated by https://github.com/googleapis/google-api-java-client-services/
 * Modify at your own risk.
 */

package com.google.api.services.jobs.v4.model;

/**
 * A Job resource represents a job posting (also referred to as a "job listing" or "job
 * requisition"). A job belongs to a Company, which is the hiring entity responsible for the job.
 *
 * 

This is the Java data model class that specifies how to parse/serialize into the JSON that is * transmitted over HTTP when working with the Cloud Talent Solution API. For a detailed explanation * see: * https://developers.google.com/api-client-library/java/google-http-java-client/json *

* * @author Google, Inc. */ @SuppressWarnings("javadoc") public final class Job extends com.google.api.client.json.GenericJson { /** * Strongly recommended for the best service experience. Location(s) where the employer is looking * to hire for this job posting. Specifying the full street address(es) of the hiring location * enables better API results, especially job searches by commute time. At most 50 locations are * allowed for best search performance. If a job has more locations, it is suggested to split it * into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so * on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. * If the original requisition_id must be preserved, a custom field should be used for storage. It * is also suggested to group the locations that close to each other in the same job for better * search experience. Jobs with multiple addresses must have their addresses with the same * LocationType to allow location filtering to work properly. (For example, a Job with addresses * "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location * filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and * the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is * suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed * characters is 500. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List addresses; /** * Job application information. * The value may be {@code null}. */ @com.google.api.client.util.Key private ApplicationInfo applicationInfo; /** * Required. The resource name of the company listing the job. The format is * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, * "projects/foo/tenants/bar/companies/baz". * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String company; /** * Output only. Display name of the company listing the job. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String companyDisplayName; /** * Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the * employee. * The value may be {@code null}. */ @com.google.api.client.util.Key private CompensationInfo compensationInfo; /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not * covered by the provided structured fields. The keys of the map are strings up to 64 bytes and * must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 * filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, * across all keys at most 200 values are allowed, with each string no more than 255 characters. * For unfilterable `string_values`, the maximum total size of `string_values` across all keys is * 50KB. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.Map customAttributes; static { // hack to force ProGuard to consider CustomAttribute used, since otherwise it would be stripped out // see https://github.com/google/google-api-java-client/issues/543 com.google.api.client.util.Data.nullOf(CustomAttribute.class); } /** * The desired education degrees for the job, such as Bachelors, Masters. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List degreeTypes; /** * The department or functional area within the company with the open position. The maximum number * of allowed characters is 255. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String department; /** * Output only. Derived details about the job posting. * The value may be {@code null}. */ @com.google.api.client.util.Key private JobDerivedInfo derivedInfo; /** * Required. The description of the job, which typically includes a multi-paragraph description of * the company and related information. Separate fields are provided on the job object for * responsibilities, qualifications, and other job characteristics. Use of these separate job * fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, * italic, ordered list, and unordered list markup tags. The maximum number of allowed characters * is 100,000. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String description; /** * The employment type(s) of a job, for example, full time or part time. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List employmentTypes; /** * A description of bonus, commission, and other compensation incentives associated with the job * not including salary or pay. The maximum number of allowed characters is 10,000. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String incentives; /** * The benefits included with the job. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.util.List jobBenefits; /** * The end timestamp of the job. Typically this field is used for contracting engagements. Invalid * timestamps are ignored. * The value may be {@code null}. */ @com.google.api.client.util.Key private String jobEndTime; /** * The experience level associated with the job, such as "Entry Level". * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String jobLevel; /** * The start timestamp of the job in UTC time zone. Typically this field is used for contracting * engagements. Invalid timestamps are ignored. * The value may be {@code null}. */ @com.google.api.client.util.Key private String jobStartTime; /** * The language of the posting. This field is distinct from any requirements for fluency that are * associated with the job. Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". * For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: * class="external" target="_blank" }. If this field is unspecified and Job.description is * present, detected language code based on Job.description is assigned, otherwise defaults to * 'en_US'. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String languageCode; /** * Required during job update. The resource name for the job. This is generated by the service * when a job is created. The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". * For example, "projects/foo/tenants/bar/jobs/baz". Use of this field in job queries and API * calls is preferred over the use of requisition_id since this value is unique. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String name; /** * Output only. The timestamp when this job posting was created. * The value may be {@code null}. */ @com.google.api.client.util.Key private String postingCreateTime; /** * Strongly recommended for the best service experience. The expiration timestamp of the job. * After this timestamp, the job is marked as expired, and it no longer appears in search results. * The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob * API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be * updated and opened again by using a future expiration timestamp. Updating an expired job fails * if there is another existing open job with same company, language_code and requisition_id. The * expired jobs are retained in our system for 90 days. However, the overall expired job count * cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold * is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no * longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as * expire time not provided. If the timestamp is before the instant request is made, the job is * treated as expired immediately on creation. This kind of job can not be updated. And when * creating a job with past timestamp, the posting_publish_time must be set before * posting_expire_time. The purpose of this feature is to allow other objects, such as * Application, to refer a job that didn't exist in the system prior to becoming expired. If you * want to modify a job that was expired on creation, delete it and create a new one. If this * value isn't provided at the time of job creation or is invalid, the job posting expires after * 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM * UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this * value isn't provided on job update, it depends on the field masks set by * UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty * meaning that every field is updated, the job posting expires after 30 days from the job's last * update time. Otherwise the expiration date isn't updated. * The value may be {@code null}. */ @com.google.api.client.util.Key private String postingExpireTime; /** * The timestamp this job posting was most recently published. The default value is the time the * request arrives at the server. Invalid timestamps are ignored. * The value may be {@code null}. */ @com.google.api.client.util.Key private String postingPublishTime; /** * The job PostingRegion (for example, state, country) throughout which the job is available. If * this field is set, a LocationFilter in a search query within the job region finds this job * posting if an exact location match isn't specified. If this field is set to * PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the * same location level as this field is strongly recommended. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String postingRegion; /** * Output only. The timestamp when this job posting was last updated. * The value may be {@code null}. */ @com.google.api.client.util.Key private String postingUpdateTime; /** * Options for job processing. * The value may be {@code null}. */ @com.google.api.client.util.Key private ProcessingOptions processingOptions; /** * A promotion value of the job, as determined by the client. The value determines the sort order * of the jobs returned when searching for jobs using the featured jobs search call, with higher * promotional values being returned first and ties being resolved by relevance sort. Only the * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and * negative values are treated as 0. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.Integer promotionValue; /** * A description of the qualifications required to perform the job. The use of this field is * recommended as an alternative to using the more general description field. This field accepts * and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list * markup tags. The maximum number of allowed characters is 10,000. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String qualifications; /** * Required. The requisition ID, also referred to as the posting ID, is assigned by the client to * identify a job. This field is intended to be used by clients for client identification and * tracking of postings. A job isn't allowed to be created if there is another job with the same * company, language_code and requisition_id. The maximum number of allowed characters is 255. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String requisitionId; /** * A description of job responsibilities. The use of this field is recommended as an alternative * to using the more general description field. This field accepts and sanitizes HTML input, and * also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of * allowed characters is 10,000. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String responsibilities; /** * Required. The title of the job, such as "Software Engineer" The maximum number of allowed * characters is 500. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String title; /** * Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to * Visibility.ACCOUNT_ONLY if not specified. * The value may be {@code null}. */ @com.google.api.client.util.Key private java.lang.String visibility; /** * Strongly recommended for the best service experience. Location(s) where the employer is looking * to hire for this job posting. Specifying the full street address(es) of the hiring location * enables better API results, especially job searches by commute time. At most 50 locations are * allowed for best search performance. If a job has more locations, it is suggested to split it * into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so * on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. * If the original requisition_id must be preserved, a custom field should be used for storage. It * is also suggested to group the locations that close to each other in the same job for better * search experience. Jobs with multiple addresses must have their addresses with the same * LocationType to allow location filtering to work properly. (For example, a Job with addresses * "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location * filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and * the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is * suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed * characters is 500. * @return value or {@code null} for none */ public java.util.List getAddresses() { return addresses; } /** * Strongly recommended for the best service experience. Location(s) where the employer is looking * to hire for this job posting. Specifying the full street address(es) of the hiring location * enables better API results, especially job searches by commute time. At most 50 locations are * allowed for best search performance. If a job has more locations, it is suggested to split it * into multiple jobs with unique requisition_ids (e.g. 'ReqA' becomes 'ReqA-1', 'ReqA-2', and so * on.) as multiple jobs with the same company, language_code and requisition_id are not allowed. * If the original requisition_id must be preserved, a custom field should be used for storage. It * is also suggested to group the locations that close to each other in the same job for better * search experience. Jobs with multiple addresses must have their addresses with the same * LocationType to allow location filtering to work properly. (For example, a Job with addresses * "1600 Amphitheatre Parkway, Mountain View, CA, USA" and "London, UK" may not have location * filters applied correctly at search time since the first is a LocationType.STREET_ADDRESS and * the second is a LocationType.LOCALITY.) If a job needs to have multiple addresses, it is * suggested to split it into multiple jobs with same LocationTypes. The maximum number of allowed * characters is 500. * @param addresses addresses or {@code null} for none */ public Job setAddresses(java.util.List addresses) { this.addresses = addresses; return this; } /** * Job application information. * @return value or {@code null} for none */ public ApplicationInfo getApplicationInfo() { return applicationInfo; } /** * Job application information. * @param applicationInfo applicationInfo or {@code null} for none */ public Job setApplicationInfo(ApplicationInfo applicationInfo) { this.applicationInfo = applicationInfo; return this; } /** * Required. The resource name of the company listing the job. The format is * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, * "projects/foo/tenants/bar/companies/baz". * @return value or {@code null} for none */ public java.lang.String getCompany() { return company; } /** * Required. The resource name of the company listing the job. The format is * "projects/{project_id}/tenants/{tenant_id}/companies/{company_id}". For example, * "projects/foo/tenants/bar/companies/baz". * @param company company or {@code null} for none */ public Job setCompany(java.lang.String company) { this.company = company; return this; } /** * Output only. Display name of the company listing the job. * @return value or {@code null} for none */ public java.lang.String getCompanyDisplayName() { return companyDisplayName; } /** * Output only. Display name of the company listing the job. * @param companyDisplayName companyDisplayName or {@code null} for none */ public Job setCompanyDisplayName(java.lang.String companyDisplayName) { this.companyDisplayName = companyDisplayName; return this; } /** * Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the * employee. * @return value or {@code null} for none */ public CompensationInfo getCompensationInfo() { return compensationInfo; } /** * Job compensation information (a.k.a. "pay rate") i.e., the compensation that will paid to the * employee. * @param compensationInfo compensationInfo or {@code null} for none */ public Job setCompensationInfo(CompensationInfo compensationInfo) { this.compensationInfo = compensationInfo; return this; } /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not * covered by the provided structured fields. The keys of the map are strings up to 64 bytes and * must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 * filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, * across all keys at most 200 values are allowed, with each string no more than 255 characters. * For unfilterable `string_values`, the maximum total size of `string_values` across all keys is * 50KB. * @return value or {@code null} for none */ public java.util.Map getCustomAttributes() { return customAttributes; } /** * A map of fields to hold both filterable and non-filterable custom job attributes that are not * covered by the provided structured fields. The keys of the map are strings up to 64 bytes and * must match the pattern: `a-zA-Z*`. For example, key0LikeThis or KEY_1_LIKE_THIS. At most 100 * filterable and at most 100 unfilterable keys are supported. For filterable `string_values`, * across all keys at most 200 values are allowed, with each string no more than 255 characters. * For unfilterable `string_values`, the maximum total size of `string_values` across all keys is * 50KB. * @param customAttributes customAttributes or {@code null} for none */ public Job setCustomAttributes(java.util.Map customAttributes) { this.customAttributes = customAttributes; return this; } /** * The desired education degrees for the job, such as Bachelors, Masters. * @return value or {@code null} for none */ public java.util.List getDegreeTypes() { return degreeTypes; } /** * The desired education degrees for the job, such as Bachelors, Masters. * @param degreeTypes degreeTypes or {@code null} for none */ public Job setDegreeTypes(java.util.List degreeTypes) { this.degreeTypes = degreeTypes; return this; } /** * The department or functional area within the company with the open position. The maximum number * of allowed characters is 255. * @return value or {@code null} for none */ public java.lang.String getDepartment() { return department; } /** * The department or functional area within the company with the open position. The maximum number * of allowed characters is 255. * @param department department or {@code null} for none */ public Job setDepartment(java.lang.String department) { this.department = department; return this; } /** * Output only. Derived details about the job posting. * @return value or {@code null} for none */ public JobDerivedInfo getDerivedInfo() { return derivedInfo; } /** * Output only. Derived details about the job posting. * @param derivedInfo derivedInfo or {@code null} for none */ public Job setDerivedInfo(JobDerivedInfo derivedInfo) { this.derivedInfo = derivedInfo; return this; } /** * Required. The description of the job, which typically includes a multi-paragraph description of * the company and related information. Separate fields are provided on the job object for * responsibilities, qualifications, and other job characteristics. Use of these separate job * fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, * italic, ordered list, and unordered list markup tags. The maximum number of allowed characters * is 100,000. * @return value or {@code null} for none */ public java.lang.String getDescription() { return description; } /** * Required. The description of the job, which typically includes a multi-paragraph description of * the company and related information. Separate fields are provided on the job object for * responsibilities, qualifications, and other job characteristics. Use of these separate job * fields is recommended. This field accepts and sanitizes HTML input, and also accepts bold, * italic, ordered list, and unordered list markup tags. The maximum number of allowed characters * is 100,000. * @param description description or {@code null} for none */ public Job setDescription(java.lang.String description) { this.description = description; return this; } /** * The employment type(s) of a job, for example, full time or part time. * @return value or {@code null} for none */ public java.util.List getEmploymentTypes() { return employmentTypes; } /** * The employment type(s) of a job, for example, full time or part time. * @param employmentTypes employmentTypes or {@code null} for none */ public Job setEmploymentTypes(java.util.List employmentTypes) { this.employmentTypes = employmentTypes; return this; } /** * A description of bonus, commission, and other compensation incentives associated with the job * not including salary or pay. The maximum number of allowed characters is 10,000. * @return value or {@code null} for none */ public java.lang.String getIncentives() { return incentives; } /** * A description of bonus, commission, and other compensation incentives associated with the job * not including salary or pay. The maximum number of allowed characters is 10,000. * @param incentives incentives or {@code null} for none */ public Job setIncentives(java.lang.String incentives) { this.incentives = incentives; return this; } /** * The benefits included with the job. * @return value or {@code null} for none */ public java.util.List getJobBenefits() { return jobBenefits; } /** * The benefits included with the job. * @param jobBenefits jobBenefits or {@code null} for none */ public Job setJobBenefits(java.util.List jobBenefits) { this.jobBenefits = jobBenefits; return this; } /** * The end timestamp of the job. Typically this field is used for contracting engagements. Invalid * timestamps are ignored. * @return value or {@code null} for none */ public String getJobEndTime() { return jobEndTime; } /** * The end timestamp of the job. Typically this field is used for contracting engagements. Invalid * timestamps are ignored. * @param jobEndTime jobEndTime or {@code null} for none */ public Job setJobEndTime(String jobEndTime) { this.jobEndTime = jobEndTime; return this; } /** * The experience level associated with the job, such as "Entry Level". * @return value or {@code null} for none */ public java.lang.String getJobLevel() { return jobLevel; } /** * The experience level associated with the job, such as "Entry Level". * @param jobLevel jobLevel or {@code null} for none */ public Job setJobLevel(java.lang.String jobLevel) { this.jobLevel = jobLevel; return this; } /** * The start timestamp of the job in UTC time zone. Typically this field is used for contracting * engagements. Invalid timestamps are ignored. * @return value or {@code null} for none */ public String getJobStartTime() { return jobStartTime; } /** * The start timestamp of the job in UTC time zone. Typically this field is used for contracting * engagements. Invalid timestamps are ignored. * @param jobStartTime jobStartTime or {@code null} for none */ public Job setJobStartTime(String jobStartTime) { this.jobStartTime = jobStartTime; return this; } /** * The language of the posting. This field is distinct from any requirements for fluency that are * associated with the job. Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". * For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: * class="external" target="_blank" }. If this field is unspecified and Job.description is * present, detected language code based on Job.description is assigned, otherwise defaults to * 'en_US'. * @return value or {@code null} for none */ public java.lang.String getLanguageCode() { return languageCode; } /** * The language of the posting. This field is distinct from any requirements for fluency that are * associated with the job. Language codes must be in BCP-47 format, such as "en-US" or "sr-Latn". * For more information, see [Tags for Identifying Languages](https://tools.ietf.org/html/bcp47){: * class="external" target="_blank" }. If this field is unspecified and Job.description is * present, detected language code based on Job.description is assigned, otherwise defaults to * 'en_US'. * @param languageCode languageCode or {@code null} for none */ public Job setLanguageCode(java.lang.String languageCode) { this.languageCode = languageCode; return this; } /** * Required during job update. The resource name for the job. This is generated by the service * when a job is created. The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". * For example, "projects/foo/tenants/bar/jobs/baz". Use of this field in job queries and API * calls is preferred over the use of requisition_id since this value is unique. * @return value or {@code null} for none */ public java.lang.String getName() { return name; } /** * Required during job update. The resource name for the job. This is generated by the service * when a job is created. The format is "projects/{project_id}/tenants/{tenant_id}/jobs/{job_id}". * For example, "projects/foo/tenants/bar/jobs/baz". Use of this field in job queries and API * calls is preferred over the use of requisition_id since this value is unique. * @param name name or {@code null} for none */ public Job setName(java.lang.String name) { this.name = name; return this; } /** * Output only. The timestamp when this job posting was created. * @return value or {@code null} for none */ public String getPostingCreateTime() { return postingCreateTime; } /** * Output only. The timestamp when this job posting was created. * @param postingCreateTime postingCreateTime or {@code null} for none */ public Job setPostingCreateTime(String postingCreateTime) { this.postingCreateTime = postingCreateTime; return this; } /** * Strongly recommended for the best service experience. The expiration timestamp of the job. * After this timestamp, the job is marked as expired, and it no longer appears in search results. * The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob * API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be * updated and opened again by using a future expiration timestamp. Updating an expired job fails * if there is another existing open job with same company, language_code and requisition_id. The * expired jobs are retained in our system for 90 days. However, the overall expired job count * cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold * is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no * longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as * expire time not provided. If the timestamp is before the instant request is made, the job is * treated as expired immediately on creation. This kind of job can not be updated. And when * creating a job with past timestamp, the posting_publish_time must be set before * posting_expire_time. The purpose of this feature is to allow other objects, such as * Application, to refer a job that didn't exist in the system prior to becoming expired. If you * want to modify a job that was expired on creation, delete it and create a new one. If this * value isn't provided at the time of job creation or is invalid, the job posting expires after * 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM * UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this * value isn't provided on job update, it depends on the field masks set by * UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty * meaning that every field is updated, the job posting expires after 30 days from the job's last * update time. Otherwise the expiration date isn't updated. * @return value or {@code null} for none */ public String getPostingExpireTime() { return postingExpireTime; } /** * Strongly recommended for the best service experience. The expiration timestamp of the job. * After this timestamp, the job is marked as expired, and it no longer appears in search results. * The expired job can't be listed by the ListJobs API, but it can be retrieved with the GetJob * API or updated with the UpdateJob API or deleted with the DeleteJob API. An expired job can be * updated and opened again by using a future expiration timestamp. Updating an expired job fails * if there is another existing open job with same company, language_code and requisition_id. The * expired jobs are retained in our system for 90 days. However, the overall expired job count * cannot exceed 3 times the maximum number of open jobs over previous 7 days. If this threshold * is exceeded, expired jobs are cleaned out in order of earliest expire time. Expired jobs are no * longer accessible after they are cleaned out. Invalid timestamps are ignored, and treated as * expire time not provided. If the timestamp is before the instant request is made, the job is * treated as expired immediately on creation. This kind of job can not be updated. And when * creating a job with past timestamp, the posting_publish_time must be set before * posting_expire_time. The purpose of this feature is to allow other objects, such as * Application, to refer a job that didn't exist in the system prior to becoming expired. If you * want to modify a job that was expired on creation, delete it and create a new one. If this * value isn't provided at the time of job creation or is invalid, the job posting expires after * 30 days from the job's creation time. For example, if the job was created on 2017/01/01 13:00AM * UTC with an unspecified expiration date, the job expires after 2017/01/31 13:00AM UTC. If this * value isn't provided on job update, it depends on the field masks set by * UpdateJobRequest.update_mask. If the field masks include job_end_time, or the masks are empty * meaning that every field is updated, the job posting expires after 30 days from the job's last * update time. Otherwise the expiration date isn't updated. * @param postingExpireTime postingExpireTime or {@code null} for none */ public Job setPostingExpireTime(String postingExpireTime) { this.postingExpireTime = postingExpireTime; return this; } /** * The timestamp this job posting was most recently published. The default value is the time the * request arrives at the server. Invalid timestamps are ignored. * @return value or {@code null} for none */ public String getPostingPublishTime() { return postingPublishTime; } /** * The timestamp this job posting was most recently published. The default value is the time the * request arrives at the server. Invalid timestamps are ignored. * @param postingPublishTime postingPublishTime or {@code null} for none */ public Job setPostingPublishTime(String postingPublishTime) { this.postingPublishTime = postingPublishTime; return this; } /** * The job PostingRegion (for example, state, country) throughout which the job is available. If * this field is set, a LocationFilter in a search query within the job region finds this job * posting if an exact location match isn't specified. If this field is set to * PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the * same location level as this field is strongly recommended. * @return value or {@code null} for none */ public java.lang.String getPostingRegion() { return postingRegion; } /** * The job PostingRegion (for example, state, country) throughout which the job is available. If * this field is set, a LocationFilter in a search query within the job region finds this job * posting if an exact location match isn't specified. If this field is set to * PostingRegion.NATION or PostingRegion.ADMINISTRATIVE_AREA, setting job Job.addresses to the * same location level as this field is strongly recommended. * @param postingRegion postingRegion or {@code null} for none */ public Job setPostingRegion(java.lang.String postingRegion) { this.postingRegion = postingRegion; return this; } /** * Output only. The timestamp when this job posting was last updated. * @return value or {@code null} for none */ public String getPostingUpdateTime() { return postingUpdateTime; } /** * Output only. The timestamp when this job posting was last updated. * @param postingUpdateTime postingUpdateTime or {@code null} for none */ public Job setPostingUpdateTime(String postingUpdateTime) { this.postingUpdateTime = postingUpdateTime; return this; } /** * Options for job processing. * @return value or {@code null} for none */ public ProcessingOptions getProcessingOptions() { return processingOptions; } /** * Options for job processing. * @param processingOptions processingOptions or {@code null} for none */ public Job setProcessingOptions(ProcessingOptions processingOptions) { this.processingOptions = processingOptions; return this; } /** * A promotion value of the job, as determined by the client. The value determines the sort order * of the jobs returned when searching for jobs using the featured jobs search call, with higher * promotional values being returned first and ties being resolved by relevance sort. Only the * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and * negative values are treated as 0. * @return value or {@code null} for none */ public java.lang.Integer getPromotionValue() { return promotionValue; } /** * A promotion value of the job, as determined by the client. The value determines the sort order * of the jobs returned when searching for jobs using the featured jobs search call, with higher * promotional values being returned first and ties being resolved by relevance sort. Only the * jobs with a promotionValue >0 are returned in a FEATURED_JOB_SEARCH. Default value is 0, and * negative values are treated as 0. * @param promotionValue promotionValue or {@code null} for none */ public Job setPromotionValue(java.lang.Integer promotionValue) { this.promotionValue = promotionValue; return this; } /** * A description of the qualifications required to perform the job. The use of this field is * recommended as an alternative to using the more general description field. This field accepts * and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list * markup tags. The maximum number of allowed characters is 10,000. * @return value or {@code null} for none */ public java.lang.String getQualifications() { return qualifications; } /** * A description of the qualifications required to perform the job. The use of this field is * recommended as an alternative to using the more general description field. This field accepts * and sanitizes HTML input, and also accepts bold, italic, ordered list, and unordered list * markup tags. The maximum number of allowed characters is 10,000. * @param qualifications qualifications or {@code null} for none */ public Job setQualifications(java.lang.String qualifications) { this.qualifications = qualifications; return this; } /** * Required. The requisition ID, also referred to as the posting ID, is assigned by the client to * identify a job. This field is intended to be used by clients for client identification and * tracking of postings. A job isn't allowed to be created if there is another job with the same * company, language_code and requisition_id. The maximum number of allowed characters is 255. * @return value or {@code null} for none */ public java.lang.String getRequisitionId() { return requisitionId; } /** * Required. The requisition ID, also referred to as the posting ID, is assigned by the client to * identify a job. This field is intended to be used by clients for client identification and * tracking of postings. A job isn't allowed to be created if there is another job with the same * company, language_code and requisition_id. The maximum number of allowed characters is 255. * @param requisitionId requisitionId or {@code null} for none */ public Job setRequisitionId(java.lang.String requisitionId) { this.requisitionId = requisitionId; return this; } /** * A description of job responsibilities. The use of this field is recommended as an alternative * to using the more general description field. This field accepts and sanitizes HTML input, and * also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of * allowed characters is 10,000. * @return value or {@code null} for none */ public java.lang.String getResponsibilities() { return responsibilities; } /** * A description of job responsibilities. The use of this field is recommended as an alternative * to using the more general description field. This field accepts and sanitizes HTML input, and * also accepts bold, italic, ordered list, and unordered list markup tags. The maximum number of * allowed characters is 10,000. * @param responsibilities responsibilities or {@code null} for none */ public Job setResponsibilities(java.lang.String responsibilities) { this.responsibilities = responsibilities; return this; } /** * Required. The title of the job, such as "Software Engineer" The maximum number of allowed * characters is 500. * @return value or {@code null} for none */ public java.lang.String getTitle() { return title; } /** * Required. The title of the job, such as "Software Engineer" The maximum number of allowed * characters is 500. * @param title title or {@code null} for none */ public Job setTitle(java.lang.String title) { this.title = title; return this; } /** * Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to * Visibility.ACCOUNT_ONLY if not specified. * @return value or {@code null} for none */ public java.lang.String getVisibility() { return visibility; } /** * Deprecated. The job is only visible to the owner. The visibility of the job. Defaults to * Visibility.ACCOUNT_ONLY if not specified. * @param visibility visibility or {@code null} for none */ public Job setVisibility(java.lang.String visibility) { this.visibility = visibility; return this; } @Override public Job set(String fieldName, Object value) { return (Job) super.set(fieldName, value); } @Override public Job clone() { return (Job) super.clone(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy