001package com.box.sdkgen.schemas.v2025r0.docgenjobfullv2025r0; 002 003import com.box.sdkgen.schemas.v2025r0.docgenbatchbasev2025r0.DocGenBatchBaseV2025R0; 004import com.box.sdkgen.schemas.v2025r0.docgenjobbasev2025r0.DocGenJobBaseV2025R0TypeField; 005import com.box.sdkgen.schemas.v2025r0.docgenjobv2025r0.DocGenJobV2025R0; 006import com.box.sdkgen.schemas.v2025r0.docgenjobv2025r0.DocGenJobV2025R0StatusField; 007import com.box.sdkgen.schemas.v2025r0.enterprisereferencev2025r0.EnterpriseReferenceV2025R0; 008import com.box.sdkgen.schemas.v2025r0.filereferencev2025r0.FileReferenceV2025R0; 009import com.box.sdkgen.schemas.v2025r0.fileversionbasev2025r0.FileVersionBaseV2025R0; 010import com.box.sdkgen.schemas.v2025r0.userbasev2025r0.UserBaseV2025R0; 011import com.box.sdkgen.serialization.json.EnumWrapper; 012import com.fasterxml.jackson.annotation.JsonFilter; 013import com.fasterxml.jackson.annotation.JsonProperty; 014import java.util.Objects; 015 016/** A full representation of a Box Doc Gen job. */ 017@JsonFilter("nullablePropertyFilter") 018public class DocGenJobFullV2025R0 extends DocGenJobV2025R0 { 019 020 /** Time of job creation. */ 021 @JsonProperty("created_at") 022 protected String createdAt; 023 024 @JsonProperty("created_by") 025 protected final UserBaseV2025R0 createdBy; 026 027 protected final EnterpriseReferenceV2025R0 enterprise; 028 029 /** Source of the request. */ 030 protected final String source; 031 032 public DocGenJobFullV2025R0( 033 String id, 034 DocGenBatchBaseV2025R0 batch, 035 FileReferenceV2025R0 templateFile, 036 FileVersionBaseV2025R0 templateFileVersion, 037 DocGenJobV2025R0StatusField status, 038 String outputType, 039 UserBaseV2025R0 createdBy, 040 EnterpriseReferenceV2025R0 enterprise, 041 String source) { 042 super(id, batch, templateFile, templateFileVersion, status, outputType); 043 this.createdBy = createdBy; 044 this.enterprise = enterprise; 045 this.source = source; 046 } 047 048 public DocGenJobFullV2025R0( 049 @JsonProperty("id") String id, 050 @JsonProperty("batch") DocGenBatchBaseV2025R0 batch, 051 @JsonProperty("template_file") FileReferenceV2025R0 templateFile, 052 @JsonProperty("template_file_version") FileVersionBaseV2025R0 templateFileVersion, 053 @JsonProperty("status") EnumWrapper<DocGenJobV2025R0StatusField> status, 054 @JsonProperty("output_type") String outputType, 055 @JsonProperty("created_by") UserBaseV2025R0 createdBy, 056 @JsonProperty("enterprise") EnterpriseReferenceV2025R0 enterprise, 057 @JsonProperty("source") String source) { 058 super(id, batch, templateFile, templateFileVersion, status, outputType); 059 this.createdBy = createdBy; 060 this.enterprise = enterprise; 061 this.source = source; 062 } 063 064 protected DocGenJobFullV2025R0(Builder builder) { 065 super(builder); 066 this.createdAt = builder.createdAt; 067 this.createdBy = builder.createdBy; 068 this.enterprise = builder.enterprise; 069 this.source = builder.source; 070 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 071 } 072 073 public String getCreatedAt() { 074 return createdAt; 075 } 076 077 public UserBaseV2025R0 getCreatedBy() { 078 return createdBy; 079 } 080 081 public EnterpriseReferenceV2025R0 getEnterprise() { 082 return enterprise; 083 } 084 085 public String getSource() { 086 return source; 087 } 088 089 @Override 090 public boolean equals(Object o) { 091 if (this == o) { 092 return true; 093 } 094 if (o == null || getClass() != o.getClass()) { 095 return false; 096 } 097 DocGenJobFullV2025R0 casted = (DocGenJobFullV2025R0) o; 098 return Objects.equals(id, casted.id) 099 && Objects.equals(type, casted.type) 100 && Objects.equals(batch, casted.batch) 101 && Objects.equals(templateFile, casted.templateFile) 102 && Objects.equals(templateFileVersion, casted.templateFileVersion) 103 && Objects.equals(outputFile, casted.outputFile) 104 && Objects.equals(outputFileVersion, casted.outputFileVersion) 105 && Objects.equals(status, casted.status) 106 && Objects.equals(outputType, casted.outputType) 107 && Objects.equals(createdAt, casted.createdAt) 108 && Objects.equals(createdBy, casted.createdBy) 109 && Objects.equals(enterprise, casted.enterprise) 110 && Objects.equals(source, casted.source); 111 } 112 113 @Override 114 public int hashCode() { 115 return Objects.hash( 116 id, 117 type, 118 batch, 119 templateFile, 120 templateFileVersion, 121 outputFile, 122 outputFileVersion, 123 status, 124 outputType, 125 createdAt, 126 createdBy, 127 enterprise, 128 source); 129 } 130 131 @Override 132 public String toString() { 133 return "DocGenJobFullV2025R0{" 134 + "id='" 135 + id 136 + '\'' 137 + ", " 138 + "type='" 139 + type 140 + '\'' 141 + ", " 142 + "batch='" 143 + batch 144 + '\'' 145 + ", " 146 + "templateFile='" 147 + templateFile 148 + '\'' 149 + ", " 150 + "templateFileVersion='" 151 + templateFileVersion 152 + '\'' 153 + ", " 154 + "outputFile='" 155 + outputFile 156 + '\'' 157 + ", " 158 + "outputFileVersion='" 159 + outputFileVersion 160 + '\'' 161 + ", " 162 + "status='" 163 + status 164 + '\'' 165 + ", " 166 + "outputType='" 167 + outputType 168 + '\'' 169 + ", " 170 + "createdAt='" 171 + createdAt 172 + '\'' 173 + ", " 174 + "createdBy='" 175 + createdBy 176 + '\'' 177 + ", " 178 + "enterprise='" 179 + enterprise 180 + '\'' 181 + ", " 182 + "source='" 183 + source 184 + '\'' 185 + "}"; 186 } 187 188 public static class Builder extends DocGenJobV2025R0.Builder { 189 190 protected String createdAt; 191 192 protected final UserBaseV2025R0 createdBy; 193 194 protected final EnterpriseReferenceV2025R0 enterprise; 195 196 protected final String source; 197 198 public Builder( 199 String id, 200 DocGenBatchBaseV2025R0 batch, 201 FileReferenceV2025R0 templateFile, 202 FileVersionBaseV2025R0 templateFileVersion, 203 DocGenJobV2025R0StatusField status, 204 String outputType, 205 UserBaseV2025R0 createdBy, 206 EnterpriseReferenceV2025R0 enterprise, 207 String source) { 208 super(id, batch, templateFile, templateFileVersion, status, outputType); 209 this.createdBy = createdBy; 210 this.enterprise = enterprise; 211 this.source = source; 212 } 213 214 public Builder( 215 String id, 216 DocGenBatchBaseV2025R0 batch, 217 FileReferenceV2025R0 templateFile, 218 FileVersionBaseV2025R0 templateFileVersion, 219 EnumWrapper<DocGenJobV2025R0StatusField> status, 220 String outputType, 221 UserBaseV2025R0 createdBy, 222 EnterpriseReferenceV2025R0 enterprise, 223 String source) { 224 super(id, batch, templateFile, templateFileVersion, status, outputType); 225 this.createdBy = createdBy; 226 this.enterprise = enterprise; 227 this.source = source; 228 } 229 230 public Builder createdAt(String createdAt) { 231 this.createdAt = createdAt; 232 return this; 233 } 234 235 @Override 236 public Builder type(DocGenJobBaseV2025R0TypeField type) { 237 this.type = new EnumWrapper<DocGenJobBaseV2025R0TypeField>(type); 238 return this; 239 } 240 241 @Override 242 public Builder type(EnumWrapper<DocGenJobBaseV2025R0TypeField> type) { 243 this.type = type; 244 return this; 245 } 246 247 @Override 248 public Builder outputFile(FileReferenceV2025R0 outputFile) { 249 this.outputFile = outputFile; 250 return this; 251 } 252 253 @Override 254 public Builder outputFileVersion(FileVersionBaseV2025R0 outputFileVersion) { 255 this.outputFileVersion = outputFileVersion; 256 return this; 257 } 258 259 public DocGenJobFullV2025R0 build() { 260 if (this.type == null) { 261 this.type = 262 new EnumWrapper<DocGenJobBaseV2025R0TypeField>( 263 DocGenJobBaseV2025R0TypeField.DOCGEN_JOB); 264 } 265 return new DocGenJobFullV2025R0(this); 266 } 267 } 268}