com.alipay.v3.model.JobWorthPositionInfo Maven / Gradle / Ivy
The newest version!
/*
* 支付宝开放平台API
* 支付宝开放平台v3协议文档
*
* The version of the OpenAPI document: 2024-08-30
*
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
* https://openapi-generator.tech
* Do not edit the class manually.
*/
package com.alipay.v3.model;
import java.util.Objects;
import java.util.Arrays;
import com.google.gson.TypeAdapter;
import com.google.gson.annotations.JsonAdapter;
import com.google.gson.annotations.SerializedName;
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.IOException;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonArray;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.TypeAdapterFactory;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import com.alipay.v3.JSON;
/**
* JobWorthPositionInfo
*/
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen")
public class JobWorthPositionInfo {
public static final String SERIALIZED_NAME_AGE = "age";
@SerializedName(SERIALIZED_NAME_AGE)
private String age;
public static final String SERIALIZED_NAME_BENEFIT = "benefit";
@SerializedName(SERIALIZED_NAME_BENEFIT)
private String benefit;
public static final String SERIALIZED_NAME_CERTIFICATIONS = "certifications";
@SerializedName(SERIALIZED_NAME_CERTIFICATIONS)
private String certifications;
public static final String SERIALIZED_NAME_COMPANY_CERTIFICATE = "company_certificate";
@SerializedName(SERIALIZED_NAME_COMPANY_CERTIFICATE)
private String companyCertificate;
public static final String SERIALIZED_NAME_COMPANY_LOGO_AFTS_ID = "company_logo_afts_id";
@SerializedName(SERIALIZED_NAME_COMPANY_LOGO_AFTS_ID)
private String companyLogoAftsId;
public static final String SERIALIZED_NAME_COMPANY_NAME = "company_name";
@SerializedName(SERIALIZED_NAME_COMPANY_NAME)
private String companyName;
public static final String SERIALIZED_NAME_COUNT = "count";
@SerializedName(SERIALIZED_NAME_COUNT)
private Integer count;
public static final String SERIALIZED_NAME_EDUCATION = "education";
@SerializedName(SERIALIZED_NAME_EDUCATION)
private String education;
public static final String SERIALIZED_NAME_GENDER = "gender";
@SerializedName(SERIALIZED_NAME_GENDER)
private String gender;
public static final String SERIALIZED_NAME_KA_POSITION_ID = "ka_position_id";
@SerializedName(SERIALIZED_NAME_KA_POSITION_ID)
private String kaPositionId;
public static final String SERIALIZED_NAME_POSITION_DESC = "position_desc";
@SerializedName(SERIALIZED_NAME_POSITION_DESC)
private String positionDesc;
public static final String SERIALIZED_NAME_POSITION_ID = "position_id";
@SerializedName(SERIALIZED_NAME_POSITION_ID)
private String positionId;
public static final String SERIALIZED_NAME_POSITION_JOB_ID = "position_job_id";
@SerializedName(SERIALIZED_NAME_POSITION_JOB_ID)
private String positionJobId;
public static final String SERIALIZED_NAME_POSITION_JOB_NAME = "position_job_name";
@SerializedName(SERIALIZED_NAME_POSITION_JOB_NAME)
private String positionJobName;
public static final String SERIALIZED_NAME_POSITION_PROFESSION_ID = "position_profession_id";
@SerializedName(SERIALIZED_NAME_POSITION_PROFESSION_ID)
private String positionProfessionId;
public static final String SERIALIZED_NAME_POSITION_PROPERTY = "position_property";
@SerializedName(SERIALIZED_NAME_POSITION_PROPERTY)
private String positionProperty;
public static final String SERIALIZED_NAME_POSITION_STATUS = "position_status";
@SerializedName(SERIALIZED_NAME_POSITION_STATUS)
private String positionStatus;
public static final String SERIALIZED_NAME_POSITION_TITLE = "position_title";
@SerializedName(SERIALIZED_NAME_POSITION_TITLE)
private String positionTitle;
public static final String SERIALIZED_NAME_SALARY_MAX = "salary_max";
@SerializedName(SERIALIZED_NAME_SALARY_MAX)
private String salaryMax;
public static final String SERIALIZED_NAME_SALARY_MIN = "salary_min";
@SerializedName(SERIALIZED_NAME_SALARY_MIN)
private String salaryMin;
public static final String SERIALIZED_NAME_SALARY_TYPE = "salary_type";
@SerializedName(SERIALIZED_NAME_SALARY_TYPE)
private String salaryType;
public static final String SERIALIZED_NAME_SALARY_UNIT = "salary_unit";
@SerializedName(SERIALIZED_NAME_SALARY_UNIT)
private String salaryUnit;
public static final String SERIALIZED_NAME_SKILL_TAG = "skill_tag";
@SerializedName(SERIALIZED_NAME_SKILL_TAG)
private String skillTag;
public static final String SERIALIZED_NAME_SKIP_URL = "skip_url";
@SerializedName(SERIALIZED_NAME_SKIP_URL)
private String skipUrl;
public static final String SERIALIZED_NAME_WORK_CITY = "work_city";
@SerializedName(SERIALIZED_NAME_WORK_CITY)
private String workCity;
public static final String SERIALIZED_NAME_WORK_LONGITUDE = "work_longitude";
@SerializedName(SERIALIZED_NAME_WORK_LONGITUDE)
private String workLongitude;
public static final String SERIALIZED_NAME_WORK_REGION = "work_region";
@SerializedName(SERIALIZED_NAME_WORK_REGION)
private String workRegion;
public static final String SERIALIZED_NAME_WORK_YEAR = "work_year";
@SerializedName(SERIALIZED_NAME_WORK_YEAR)
private String workYear;
public JobWorthPositionInfo() {
}
public JobWorthPositionInfo age(String age) {
this.age = age;
return this;
}
/**
* 职位要求-年龄要求 无要求(不传)、28岁以上(OVER28)、40岁以下(BELOW40)、25岁~35岁(25TO35)
* @return age
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "OVER28", value = "职位要求-年龄要求 无要求(不传)、28岁以上(OVER28)、40岁以下(BELOW40)、25岁~35岁(25TO35)")
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public JobWorthPositionInfo benefit(String benefit) {
this.benefit = benefit;
return this;
}
/**
* 福利,现有标签,最多5个标签,使用英文,分割 参考 https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.1
* @return benefit
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "五险一金,双休", value = "福利,现有标签,最多5个标签,使用英文,分割 参考 https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.1")
public String getBenefit() {
return benefit;
}
public void setBenefit(String benefit) {
this.benefit = benefit;
}
public JobWorthPositionInfo certifications(String certifications) {
this.certifications = certifications;
return this;
}
/**
* 技能、证书等要求,比如学历、健康证、普通话或其他技能证书等
* @return certifications
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "特种工作证,健康证", value = "技能、证书等要求,比如学历、健康证、普通话或其他技能证书等")
public String getCertifications() {
return certifications;
}
public void setCertifications(String certifications) {
this.certifications = certifications;
}
public JobWorthPositionInfo companyCertificate(String companyCertificate) {
this.companyCertificate = companyCertificate;
return this;
}
/**
* 发布企业统一社会信用代码
* @return companyCertificate
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "91330200750364874C", value = "发布企业统一社会信用代码")
public String getCompanyCertificate() {
return companyCertificate;
}
public void setCompanyCertificate(String companyCertificate) {
this.companyCertificate = companyCertificate;
}
public JobWorthPositionInfo companyLogoAftsId(String companyLogoAftsId) {
this.companyLogoAftsId = companyLogoAftsId;
return this;
}
/**
* 上传的aftsid
* @return companyLogoAftsId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "xxxx", value = "上传的aftsid")
public String getCompanyLogoAftsId() {
return companyLogoAftsId;
}
public void setCompanyLogoAftsId(String companyLogoAftsId) {
this.companyLogoAftsId = companyLogoAftsId;
}
public JobWorthPositionInfo companyName(String companyName) {
this.companyName = companyName;
return this;
}
/**
* 企业工商全称
* @return companyName
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "杭州希德利餐饮管理有限公司", value = "企业工商全称")
public String getCompanyName() {
return companyName;
}
public void setCompanyName(String companyName) {
this.companyName = companyName;
}
public JobWorthPositionInfo count(Integer count) {
this.count = count;
return this;
}
/**
* 招聘人数
* @return count
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "8", value = "招聘人数")
public Integer getCount() {
return count;
}
public void setCount(Integer count) {
this.count = count;
}
public JobWorthPositionInfo education(String education) {
this.education = education;
return this;
}
/**
* 学历要求,HIGHSCHOOL_AND_BELOW(高中及以下),POLYTECHNIC(中专),COLLEGE(大专),BACHELOR(本科),MASTER(硕士),DOCTOR_AND_ABOVE(博士及以上)
* @return education
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "BACHELOR", value = "学历要求,HIGHSCHOOL_AND_BELOW(高中及以下),POLYTECHNIC(中专),COLLEGE(大专),BACHELOR(本科),MASTER(硕士),DOCTOR_AND_ABOVE(博士及以上)")
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}
public JobWorthPositionInfo gender(String gender) {
this.gender = gender;
return this;
}
/**
* 无要求(不传)、男或者女
* @return gender
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "男", value = "无要求(不传)、男或者女")
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public JobWorthPositionInfo kaPositionId(String kaPositionId) {
this.kaPositionId = kaPositionId;
return this;
}
/**
* 合作方岗位id自定义保持唯一性
* @return kaPositionId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "20881234567", value = "合作方岗位id自定义保持唯一性")
public String getKaPositionId() {
return kaPositionId;
}
public void setKaPositionId(String kaPositionId) {
this.kaPositionId = kaPositionId;
}
public JobWorthPositionInfo positionDesc(String positionDesc) {
this.positionDesc = positionDesc;
return this;
}
/**
* 长文本描述
* @return positionDesc
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "职位描述", value = "长文本描述")
public String getPositionDesc() {
return positionDesc;
}
public void setPositionDesc(String positionDesc) {
this.positionDesc = positionDesc;
}
public JobWorthPositionInfo positionId(String positionId) {
this.positionId = positionId;
return this;
}
/**
* 工作证岗位库的职位主键,只有更新职位信息时需要传入。第一次传入岗位后返回
* @return positionId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "123456789012345678901234", value = "工作证岗位库的职位主键,只有更新职位信息时需要传入。第一次传入岗位后返回")
public String getPositionId() {
return positionId;
}
public void setPositionId(String positionId) {
this.positionId = positionId;
}
public JobWorthPositionInfo positionJobId(String positionJobId) {
this.positionJobId = positionJobId;
return this;
}
/**
* 岗位对应的行业id,字段参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2
* @return positionJobId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "5378A2C2001", value = "岗位对应的行业id,字段参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2")
public String getPositionJobId() {
return positionJobId;
}
public void setPositionJobId(String positionJobId) {
this.positionJobId = positionJobId;
}
public JobWorthPositionInfo positionJobName(String positionJobName) {
this.positionJobName = positionJobName;
return this;
}
/**
* 岗位对应的职业名称
* @return positionJobName
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "服务端开发工程师", value = "岗位对应的职业名称")
public String getPositionJobName() {
return positionJobName;
}
public void setPositionJobName(String positionJobName) {
this.positionJobName = positionJobName;
}
public JobWorthPositionInfo positionProfessionId(String positionProfessionId) {
this.positionProfessionId = positionProfessionId;
return this;
}
/**
* 岗位对应的职业id,字段参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2
* @return positionProfessionId
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "5278A2C2", value = "岗位对应的职业id,字段参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2")
public String getPositionProfessionId() {
return positionProfessionId;
}
public void setPositionProfessionId(String positionProfessionId) {
this.positionProfessionId = positionProfessionId;
}
public JobWorthPositionInfo positionProperty(String positionProperty) {
this.positionProperty = positionProperty;
return this;
}
/**
* 岗位属性:全职(FULL_TIME)或者兼职(PART_TIME)
* @return positionProperty
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "FULL_TIME", value = "岗位属性:全职(FULL_TIME)或者兼职(PART_TIME)")
public String getPositionProperty() {
return positionProperty;
}
public void setPositionProperty(String positionProperty) {
this.positionProperty = positionProperty;
}
public JobWorthPositionInfo positionStatus(String positionStatus) {
this.positionStatus = positionStatus;
return this;
}
/**
* 职位的状态,只有上架(UNCHECK)和下架(OFFLINE)两种
* @return positionStatus
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "UNCHECK", value = "职位的状态,只有上架(UNCHECK)和下架(OFFLINE)两种")
public String getPositionStatus() {
return positionStatus;
}
public void setPositionStatus(String positionStatus) {
this.positionStatus = positionStatus;
}
public JobWorthPositionInfo positionTitle(String positionTitle) {
this.positionTitle = positionTitle;
return this;
}
/**
* 短文本描述
* @return positionTitle
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "日结洗碗工", value = "短文本描述")
public String getPositionTitle() {
return positionTitle;
}
public void setPositionTitle(String positionTitle) {
this.positionTitle = positionTitle;
}
public JobWorthPositionInfo salaryMax(String salaryMax) {
this.salaryMax = salaryMax;
return this;
}
/**
* 薪水范围,不能低于salary_min
* @return salaryMax
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "3000", value = "薪水范围,不能低于salary_min")
public String getSalaryMax() {
return salaryMax;
}
public void setSalaryMax(String salaryMax) {
this.salaryMax = salaryMax;
}
public JobWorthPositionInfo salaryMin(String salaryMin) {
this.salaryMin = salaryMin;
return this;
}
/**
* 薪水范围,不能高于salary_max
* @return salaryMin
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "2000", value = "薪水范围,不能高于salary_max")
public String getSalaryMin() {
return salaryMin;
}
public void setSalaryMin(String salaryMin) {
this.salaryMin = salaryMin;
}
public JobWorthPositionInfo salaryType(String salaryType) {
this.salaryType = salaryType;
return this;
}
/**
* 薪资类型:日结(DAY)、月结(MONTH)、周结(WEEK)、完工结(DONE)、其他(OTHER)
* @return salaryType
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "DAY", value = "薪资类型:日结(DAY)、月结(MONTH)、周结(WEEK)、完工结(DONE)、其他(OTHER)")
public String getSalaryType() {
return salaryType;
}
public void setSalaryType(String salaryType) {
this.salaryType = salaryType;
}
public JobWorthPositionInfo salaryUnit(String salaryUnit) {
this.salaryUnit = salaryUnit;
return this;
}
/**
* 薪资单位,元/日(DAY)、元/次(TIME)、元/月(MONTH)、元/小时(HOUR)、元/件 (NUM)、元/周 (WEEK)、其他 (OTHER)
* @return salaryUnit
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "DAY", value = "薪资单位,元/日(DAY)、元/次(TIME)、元/月(MONTH)、元/小时(HOUR)、元/件 (NUM)、元/周 (WEEK)、其他 (OTHER)")
public String getSalaryUnit() {
return salaryUnit;
}
public void setSalaryUnit(String salaryUnit) {
this.salaryUnit = salaryUnit;
}
public JobWorthPositionInfo skillTag(String skillTag) {
this.skillTag = skillTag;
return this;
}
/**
* 岗位需要的技能标签,最多5个,使用英文逗号分割
* @return skillTag
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "java,linux", value = "岗位需要的技能标签,最多5个,使用英文逗号分割")
public String getSkillTag() {
return skillTag;
}
public void setSkillTag(String skillTag) {
this.skillTag = skillTag;
}
public JobWorthPositionInfo skipUrl(String skipUrl) {
this.skipUrl = skipUrl;
return this;
}
/**
* 职位跳转链接,当前只支持支付宝小程序,也就是alipays://platformapi/ 开头
* @return skipUrl
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "alipays://platformapi/startapp?", value = "职位跳转链接,当前只支持支付宝小程序,也就是alipays://platformapi/ 开头")
public String getSkipUrl() {
return skipUrl;
}
public void setSkipUrl(String skipUrl) {
this.skipUrl = skipUrl;
}
public JobWorthPositionInfo workCity(String workCity) {
this.workCity = workCity;
return this;
}
/**
* 高德city code,例:北京010,线上工作9999 参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.3
* @return workCity
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "010", value = "高德city code,例:北京010,线上工作9999 参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.3")
public String getWorkCity() {
return workCity;
}
public void setWorkCity(String workCity) {
this.workCity = workCity;
}
public JobWorthPositionInfo workLongitude(String workLongitude) {
this.workLongitude = workLongitude;
return this;
}
/**
* 经纬度,前面是经度,后面是纬度,使用英文逗号隔开
* @return workLongitude
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "116.396574,39.992706", value = "经纬度,前面是经度,后面是纬度,使用英文逗号隔开")
public String getWorkLongitude() {
return workLongitude;
}
public void setWorkLongitude(String workLongitude) {
this.workLongitude = workLongitude;
}
public JobWorthPositionInfo workRegion(String workRegion) {
this.workRegion = workRegion;
return this;
}
/**
* 工作地所在的区县,使用高德的adcode,例:朝阳区110105 参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2
* @return workRegion
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "110105", value = "工作地所在的区县,使用高德的adcode,例:朝阳区110105 参考https://www.yuque.com/docs/share/805e9840-ae9d-499c-b566-46b3b8c9fb2d?# 《4.1 服务端接入----职位传入接口》的1.3.1.2")
public String getWorkRegion() {
return workRegion;
}
public void setWorkRegion(String workRegion) {
this.workRegion = workRegion;
}
public JobWorthPositionInfo workYear(String workYear) {
this.workYear = workYear;
return this;
}
/**
* 工作年限,1年以下(ONE)、1~3年(THREE)、3~5年(FIVE)、5~10年(TEN)、10年以上(OVER_TEN)
* @return workYear
**/
@javax.annotation.Nullable
@ApiModelProperty(example = "TEN", value = "工作年限,1年以下(ONE)、1~3年(THREE)、3~5年(FIVE)、5~10年(TEN)、10年以上(OVER_TEN)")
public String getWorkYear() {
return workYear;
}
public void setWorkYear(String workYear) {
this.workYear = workYear;
}
/**
* A container for additional, undeclared properties.
* This is a holder for any undeclared properties as specified with
* the 'additionalProperties' keyword in the OAS document.
*/
private Map additionalProperties;
/**
* Set the additional (undeclared) property with the specified name and value.
* If the property does not already exist, create it otherwise replace it.
*
* @param key name of the property
* @param value value of the property
* @return the JobWorthPositionInfo instance itself
*/
public JobWorthPositionInfo putAdditionalProperty(String key, Object value) {
if (this.additionalProperties == null) {
this.additionalProperties = new HashMap();
}
this.additionalProperties.put(key, value);
return this;
}
/**
* Return the additional (undeclared) property.
*
* @return a map of objects
*/
public Map getAdditionalProperties() {
return additionalProperties;
}
/**
* Return the additional (undeclared) property with the specified name.
*
* @param key name of the property
* @return an object
*/
public Object getAdditionalProperty(String key) {
if (this.additionalProperties == null) {
return null;
}
return this.additionalProperties.get(key);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
JobWorthPositionInfo jobWorthPositionInfo = (JobWorthPositionInfo) o;
return Objects.equals(this.age, jobWorthPositionInfo.age) &&
Objects.equals(this.benefit, jobWorthPositionInfo.benefit) &&
Objects.equals(this.certifications, jobWorthPositionInfo.certifications) &&
Objects.equals(this.companyCertificate, jobWorthPositionInfo.companyCertificate) &&
Objects.equals(this.companyLogoAftsId, jobWorthPositionInfo.companyLogoAftsId) &&
Objects.equals(this.companyName, jobWorthPositionInfo.companyName) &&
Objects.equals(this.count, jobWorthPositionInfo.count) &&
Objects.equals(this.education, jobWorthPositionInfo.education) &&
Objects.equals(this.gender, jobWorthPositionInfo.gender) &&
Objects.equals(this.kaPositionId, jobWorthPositionInfo.kaPositionId) &&
Objects.equals(this.positionDesc, jobWorthPositionInfo.positionDesc) &&
Objects.equals(this.positionId, jobWorthPositionInfo.positionId) &&
Objects.equals(this.positionJobId, jobWorthPositionInfo.positionJobId) &&
Objects.equals(this.positionJobName, jobWorthPositionInfo.positionJobName) &&
Objects.equals(this.positionProfessionId, jobWorthPositionInfo.positionProfessionId) &&
Objects.equals(this.positionProperty, jobWorthPositionInfo.positionProperty) &&
Objects.equals(this.positionStatus, jobWorthPositionInfo.positionStatus) &&
Objects.equals(this.positionTitle, jobWorthPositionInfo.positionTitle) &&
Objects.equals(this.salaryMax, jobWorthPositionInfo.salaryMax) &&
Objects.equals(this.salaryMin, jobWorthPositionInfo.salaryMin) &&
Objects.equals(this.salaryType, jobWorthPositionInfo.salaryType) &&
Objects.equals(this.salaryUnit, jobWorthPositionInfo.salaryUnit) &&
Objects.equals(this.skillTag, jobWorthPositionInfo.skillTag) &&
Objects.equals(this.skipUrl, jobWorthPositionInfo.skipUrl) &&
Objects.equals(this.workCity, jobWorthPositionInfo.workCity) &&
Objects.equals(this.workLongitude, jobWorthPositionInfo.workLongitude) &&
Objects.equals(this.workRegion, jobWorthPositionInfo.workRegion) &&
Objects.equals(this.workYear, jobWorthPositionInfo.workYear)&&
Objects.equals(this.additionalProperties, jobWorthPositionInfo.additionalProperties);
}
@Override
public int hashCode() {
return Objects.hash(age, benefit, certifications, companyCertificate, companyLogoAftsId, companyName, count, education, gender, kaPositionId, positionDesc, positionId, positionJobId, positionJobName, positionProfessionId, positionProperty, positionStatus, positionTitle, salaryMax, salaryMin, salaryType, salaryUnit, skillTag, skipUrl, workCity, workLongitude, workRegion, workYear, additionalProperties);
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("class JobWorthPositionInfo {\n");
sb.append(" age: ").append(toIndentedString(age)).append("\n");
sb.append(" benefit: ").append(toIndentedString(benefit)).append("\n");
sb.append(" certifications: ").append(toIndentedString(certifications)).append("\n");
sb.append(" companyCertificate: ").append(toIndentedString(companyCertificate)).append("\n");
sb.append(" companyLogoAftsId: ").append(toIndentedString(companyLogoAftsId)).append("\n");
sb.append(" companyName: ").append(toIndentedString(companyName)).append("\n");
sb.append(" count: ").append(toIndentedString(count)).append("\n");
sb.append(" education: ").append(toIndentedString(education)).append("\n");
sb.append(" gender: ").append(toIndentedString(gender)).append("\n");
sb.append(" kaPositionId: ").append(toIndentedString(kaPositionId)).append("\n");
sb.append(" positionDesc: ").append(toIndentedString(positionDesc)).append("\n");
sb.append(" positionId: ").append(toIndentedString(positionId)).append("\n");
sb.append(" positionJobId: ").append(toIndentedString(positionJobId)).append("\n");
sb.append(" positionJobName: ").append(toIndentedString(positionJobName)).append("\n");
sb.append(" positionProfessionId: ").append(toIndentedString(positionProfessionId)).append("\n");
sb.append(" positionProperty: ").append(toIndentedString(positionProperty)).append("\n");
sb.append(" positionStatus: ").append(toIndentedString(positionStatus)).append("\n");
sb.append(" positionTitle: ").append(toIndentedString(positionTitle)).append("\n");
sb.append(" salaryMax: ").append(toIndentedString(salaryMax)).append("\n");
sb.append(" salaryMin: ").append(toIndentedString(salaryMin)).append("\n");
sb.append(" salaryType: ").append(toIndentedString(salaryType)).append("\n");
sb.append(" salaryUnit: ").append(toIndentedString(salaryUnit)).append("\n");
sb.append(" skillTag: ").append(toIndentedString(skillTag)).append("\n");
sb.append(" skipUrl: ").append(toIndentedString(skipUrl)).append("\n");
sb.append(" workCity: ").append(toIndentedString(workCity)).append("\n");
sb.append(" workLongitude: ").append(toIndentedString(workLongitude)).append("\n");
sb.append(" workRegion: ").append(toIndentedString(workRegion)).append("\n");
sb.append(" workYear: ").append(toIndentedString(workYear)).append("\n");
sb.append(" additionalProperties: ").append(toIndentedString(additionalProperties)).append("\n");
sb.append("}");
return sb.toString();
}
/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {
if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n ");
}
public static HashSet openapiFields;
public static HashSet openapiRequiredFields;
static {
// a set of all properties/fields (JSON key names)
openapiFields = new HashSet();
openapiFields.add("age");
openapiFields.add("benefit");
openapiFields.add("certifications");
openapiFields.add("company_certificate");
openapiFields.add("company_logo_afts_id");
openapiFields.add("company_name");
openapiFields.add("count");
openapiFields.add("education");
openapiFields.add("gender");
openapiFields.add("ka_position_id");
openapiFields.add("position_desc");
openapiFields.add("position_id");
openapiFields.add("position_job_id");
openapiFields.add("position_job_name");
openapiFields.add("position_profession_id");
openapiFields.add("position_property");
openapiFields.add("position_status");
openapiFields.add("position_title");
openapiFields.add("salary_max");
openapiFields.add("salary_min");
openapiFields.add("salary_type");
openapiFields.add("salary_unit");
openapiFields.add("skill_tag");
openapiFields.add("skip_url");
openapiFields.add("work_city");
openapiFields.add("work_longitude");
openapiFields.add("work_region");
openapiFields.add("work_year");
// a set of required properties/fields (JSON key names)
openapiRequiredFields = new HashSet();
}
/**
* Validates the JSON Object and throws an exception if issues found
*
* @param jsonObj JSON Object
* @throws IOException if the JSON Object is invalid with respect to JobWorthPositionInfo
*/
public static void validateJsonObject(JsonObject jsonObj) throws IOException {
if (jsonObj == null) {
if (JobWorthPositionInfo.openapiRequiredFields.isEmpty()) {
return;
} else { // has required fields
throw new IllegalArgumentException(String.format("The required field(s) %s in JobWorthPositionInfo is not found in the empty JSON string", JobWorthPositionInfo.openapiRequiredFields.toString()));
}
}
if (jsonObj.get("age") != null && !jsonObj.get("age").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `age` to be a primitive type in the JSON string but got `%s`", jsonObj.get("age").toString()));
}
if (jsonObj.get("benefit") != null && !jsonObj.get("benefit").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `benefit` to be a primitive type in the JSON string but got `%s`", jsonObj.get("benefit").toString()));
}
if (jsonObj.get("certifications") != null && !jsonObj.get("certifications").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `certifications` to be a primitive type in the JSON string but got `%s`", jsonObj.get("certifications").toString()));
}
if (jsonObj.get("company_certificate") != null && !jsonObj.get("company_certificate").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `company_certificate` to be a primitive type in the JSON string but got `%s`", jsonObj.get("company_certificate").toString()));
}
if (jsonObj.get("company_logo_afts_id") != null && !jsonObj.get("company_logo_afts_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `company_logo_afts_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("company_logo_afts_id").toString()));
}
if (jsonObj.get("company_name") != null && !jsonObj.get("company_name").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `company_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("company_name").toString()));
}
if (jsonObj.get("education") != null && !jsonObj.get("education").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `education` to be a primitive type in the JSON string but got `%s`", jsonObj.get("education").toString()));
}
if (jsonObj.get("gender") != null && !jsonObj.get("gender").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `gender` to be a primitive type in the JSON string but got `%s`", jsonObj.get("gender").toString()));
}
if (jsonObj.get("ka_position_id") != null && !jsonObj.get("ka_position_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `ka_position_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("ka_position_id").toString()));
}
if (jsonObj.get("position_desc") != null && !jsonObj.get("position_desc").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_desc` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_desc").toString()));
}
if (jsonObj.get("position_id") != null && !jsonObj.get("position_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_id").toString()));
}
if (jsonObj.get("position_job_id") != null && !jsonObj.get("position_job_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_job_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_job_id").toString()));
}
if (jsonObj.get("position_job_name") != null && !jsonObj.get("position_job_name").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_job_name` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_job_name").toString()));
}
if (jsonObj.get("position_profession_id") != null && !jsonObj.get("position_profession_id").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_profession_id` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_profession_id").toString()));
}
if (jsonObj.get("position_property") != null && !jsonObj.get("position_property").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_property` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_property").toString()));
}
if (jsonObj.get("position_status") != null && !jsonObj.get("position_status").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_status` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_status").toString()));
}
if (jsonObj.get("position_title") != null && !jsonObj.get("position_title").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `position_title` to be a primitive type in the JSON string but got `%s`", jsonObj.get("position_title").toString()));
}
if (jsonObj.get("salary_max") != null && !jsonObj.get("salary_max").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `salary_max` to be a primitive type in the JSON string but got `%s`", jsonObj.get("salary_max").toString()));
}
if (jsonObj.get("salary_min") != null && !jsonObj.get("salary_min").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `salary_min` to be a primitive type in the JSON string but got `%s`", jsonObj.get("salary_min").toString()));
}
if (jsonObj.get("salary_type") != null && !jsonObj.get("salary_type").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `salary_type` to be a primitive type in the JSON string but got `%s`", jsonObj.get("salary_type").toString()));
}
if (jsonObj.get("salary_unit") != null && !jsonObj.get("salary_unit").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `salary_unit` to be a primitive type in the JSON string but got `%s`", jsonObj.get("salary_unit").toString()));
}
if (jsonObj.get("skill_tag") != null && !jsonObj.get("skill_tag").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `skill_tag` to be a primitive type in the JSON string but got `%s`", jsonObj.get("skill_tag").toString()));
}
if (jsonObj.get("skip_url") != null && !jsonObj.get("skip_url").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `skip_url` to be a primitive type in the JSON string but got `%s`", jsonObj.get("skip_url").toString()));
}
if (jsonObj.get("work_city") != null && !jsonObj.get("work_city").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `work_city` to be a primitive type in the JSON string but got `%s`", jsonObj.get("work_city").toString()));
}
if (jsonObj.get("work_longitude") != null && !jsonObj.get("work_longitude").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `work_longitude` to be a primitive type in the JSON string but got `%s`", jsonObj.get("work_longitude").toString()));
}
if (jsonObj.get("work_region") != null && !jsonObj.get("work_region").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `work_region` to be a primitive type in the JSON string but got `%s`", jsonObj.get("work_region").toString()));
}
if (jsonObj.get("work_year") != null && !jsonObj.get("work_year").isJsonPrimitive()) {
throw new IllegalArgumentException(String.format("Expected the field `work_year` to be a primitive type in the JSON string but got `%s`", jsonObj.get("work_year").toString()));
}
}
public static class CustomTypeAdapterFactory implements TypeAdapterFactory {
@SuppressWarnings("unchecked")
@Override
public TypeAdapter create(Gson gson, TypeToken type) {
if (!JobWorthPositionInfo.class.isAssignableFrom(type.getRawType())) {
return null; // this class only serializes 'JobWorthPositionInfo' and its subtypes
}
final TypeAdapter elementAdapter = gson.getAdapter(JsonElement.class);
final TypeAdapter thisAdapter
= gson.getDelegateAdapter(this, TypeToken.get(JobWorthPositionInfo.class));
return (TypeAdapter) new TypeAdapter() {
@Override
public void write(JsonWriter out, JobWorthPositionInfo value) throws IOException {
JsonObject obj = thisAdapter.toJsonTree(value).getAsJsonObject();
obj.remove("additionalProperties");
// serialize additonal properties
if (value.getAdditionalProperties() != null) {
for (Map.Entry entry : value.getAdditionalProperties().entrySet()) {
if (entry.getValue() instanceof String)
obj.addProperty(entry.getKey(), (String) entry.getValue());
else if (entry.getValue() instanceof Number)
obj.addProperty(entry.getKey(), (Number) entry.getValue());
else if (entry.getValue() instanceof Boolean)
obj.addProperty(entry.getKey(), (Boolean) entry.getValue());
else if (entry.getValue() instanceof Character)
obj.addProperty(entry.getKey(), (Character) entry.getValue());
else {
obj.add(entry.getKey(), gson.toJsonTree(entry.getValue()).getAsJsonObject());
}
}
}
elementAdapter.write(out, obj);
}
@Override
public JobWorthPositionInfo read(JsonReader in) throws IOException {
JsonObject jsonObj = elementAdapter.read(in).getAsJsonObject();
validateJsonObject(jsonObj);
// store additional fields in the deserialized instance
JobWorthPositionInfo instance = thisAdapter.fromJsonTree(jsonObj);
for (Map.Entry entry : jsonObj.entrySet()) {
if (!openapiFields.contains(entry.getKey())) {
if (entry.getValue().isJsonPrimitive()) { // primitive type
if (entry.getValue().getAsJsonPrimitive().isString())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsString());
else if (entry.getValue().getAsJsonPrimitive().isNumber())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsNumber());
else if (entry.getValue().getAsJsonPrimitive().isBoolean())
instance.putAdditionalProperty(entry.getKey(), entry.getValue().getAsBoolean());
else
throw new IllegalArgumentException(String.format("The field `%s` has unknown primitive type. Value: %s", entry.getKey(), entry.getValue().toString()));
} else { // non-primitive type
instance.putAdditionalProperty(entry.getKey(), gson.fromJson(entry.getValue(), HashMap.class));
}
}
}
return instance;
}
}.nullSafe();
}
}
/**
* Create an instance of JobWorthPositionInfo given an JSON string
*
* @param jsonString JSON string
* @return An instance of JobWorthPositionInfo
* @throws IOException if the JSON string is invalid with respect to JobWorthPositionInfo
*/
public static JobWorthPositionInfo fromJson(String jsonString) throws IOException {
return JSON.getGson().fromJson(jsonString, JobWorthPositionInfo.class);
}
/**
* Convert an instance of JobWorthPositionInfo to an JSON string
*
* @return JSON string
*/
public String toJson() {
return JSON.getGson().toJson(this);
}
}