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