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