001package com.box.sdkgen.schemas.v2025r0.docgenbatchcreaterequestv2025r0; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.v2025r0.docgendocumentgenerationdatav2025r0.DocGenDocumentGenerationDataV2025R0; 006import com.box.sdkgen.schemas.v2025r0.filereferencev2025r0.FileReferenceV2025R0; 007import com.box.sdkgen.schemas.v2025r0.fileversionbasev2025r0.FileVersionBaseV2025R0; 008import com.fasterxml.jackson.annotation.JsonFilter; 009import com.fasterxml.jackson.annotation.JsonProperty; 010import java.util.List; 011import java.util.Objects; 012 013/** The schema for creating a Box Doc Gen job batch request. */ 014@JsonFilter("nullablePropertyFilter") 015public class DocGenBatchCreateRequestV2025R0 extends SerializableObject { 016 017 protected final FileReferenceV2025R0 file; 018 019 @JsonProperty("file_version") 020 protected FileVersionBaseV2025R0 fileVersion; 021 022 /** 023 * Source of input. The value has to be `api` for all the API-based document generation requests. 024 */ 025 @JsonProperty("input_source") 026 protected final String inputSource; 027 028 @JsonProperty("destination_folder") 029 protected final DocGenBatchCreateRequestV2025R0DestinationFolderField destinationFolder; 030 031 /** Type of the output file. */ 032 @JsonProperty("output_type") 033 protected final String outputType; 034 035 @JsonProperty("document_generation_data") 036 protected final List<DocGenDocumentGenerationDataV2025R0> documentGenerationData; 037 038 public DocGenBatchCreateRequestV2025R0( 039 @JsonProperty("file") FileReferenceV2025R0 file, 040 @JsonProperty("input_source") String inputSource, 041 @JsonProperty("destination_folder") 042 DocGenBatchCreateRequestV2025R0DestinationFolderField destinationFolder, 043 @JsonProperty("output_type") String outputType, 044 @JsonProperty("document_generation_data") 045 List<DocGenDocumentGenerationDataV2025R0> documentGenerationData) { 046 super(); 047 this.file = file; 048 this.inputSource = inputSource; 049 this.destinationFolder = destinationFolder; 050 this.outputType = outputType; 051 this.documentGenerationData = documentGenerationData; 052 } 053 054 protected DocGenBatchCreateRequestV2025R0(Builder builder) { 055 super(); 056 this.file = builder.file; 057 this.fileVersion = builder.fileVersion; 058 this.inputSource = builder.inputSource; 059 this.destinationFolder = builder.destinationFolder; 060 this.outputType = builder.outputType; 061 this.documentGenerationData = builder.documentGenerationData; 062 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 063 } 064 065 public FileReferenceV2025R0 getFile() { 066 return file; 067 } 068 069 public FileVersionBaseV2025R0 getFileVersion() { 070 return fileVersion; 071 } 072 073 public String getInputSource() { 074 return inputSource; 075 } 076 077 public DocGenBatchCreateRequestV2025R0DestinationFolderField getDestinationFolder() { 078 return destinationFolder; 079 } 080 081 public String getOutputType() { 082 return outputType; 083 } 084 085 public List<DocGenDocumentGenerationDataV2025R0> getDocumentGenerationData() { 086 return documentGenerationData; 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 DocGenBatchCreateRequestV2025R0 casted = (DocGenBatchCreateRequestV2025R0) o; 098 return Objects.equals(file, casted.file) 099 && Objects.equals(fileVersion, casted.fileVersion) 100 && Objects.equals(inputSource, casted.inputSource) 101 && Objects.equals(destinationFolder, casted.destinationFolder) 102 && Objects.equals(outputType, casted.outputType) 103 && Objects.equals(documentGenerationData, casted.documentGenerationData); 104 } 105 106 @Override 107 public int hashCode() { 108 return Objects.hash( 109 file, fileVersion, inputSource, destinationFolder, outputType, documentGenerationData); 110 } 111 112 @Override 113 public String toString() { 114 return "DocGenBatchCreateRequestV2025R0{" 115 + "file='" 116 + file 117 + '\'' 118 + ", " 119 + "fileVersion='" 120 + fileVersion 121 + '\'' 122 + ", " 123 + "inputSource='" 124 + inputSource 125 + '\'' 126 + ", " 127 + "destinationFolder='" 128 + destinationFolder 129 + '\'' 130 + ", " 131 + "outputType='" 132 + outputType 133 + '\'' 134 + ", " 135 + "documentGenerationData='" 136 + documentGenerationData 137 + '\'' 138 + "}"; 139 } 140 141 public static class Builder extends NullableFieldTracker { 142 143 protected final FileReferenceV2025R0 file; 144 145 protected FileVersionBaseV2025R0 fileVersion; 146 147 protected final String inputSource; 148 149 protected final DocGenBatchCreateRequestV2025R0DestinationFolderField destinationFolder; 150 151 protected final String outputType; 152 153 protected final List<DocGenDocumentGenerationDataV2025R0> documentGenerationData; 154 155 public Builder( 156 FileReferenceV2025R0 file, 157 String inputSource, 158 DocGenBatchCreateRequestV2025R0DestinationFolderField destinationFolder, 159 String outputType, 160 List<DocGenDocumentGenerationDataV2025R0> documentGenerationData) { 161 super(); 162 this.file = file; 163 this.inputSource = inputSource; 164 this.destinationFolder = destinationFolder; 165 this.outputType = outputType; 166 this.documentGenerationData = documentGenerationData; 167 } 168 169 public Builder fileVersion(FileVersionBaseV2025R0 fileVersion) { 170 this.fileVersion = fileVersion; 171 return this; 172 } 173 174 public DocGenBatchCreateRequestV2025R0 build() { 175 return new DocGenBatchCreateRequestV2025R0(this); 176 } 177 } 178}