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