001package com.box.sdkgen.schemas.signrequest; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.filemini.FileMini; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.annotation.JsonProperty; 008import java.util.List; 009import java.util.Objects; 010 011@JsonFilter("nullablePropertyFilter") 012public class SignRequestSignFilesField extends SerializableObject { 013 014 protected List<FileMini> files; 015 016 /** 017 * Indicates whether the `sign_files` documents are processing and the PDFs may be out of date. A 018 * change to any document requires processing on all `sign_files`. We recommended waiting until 019 * processing is finished (and this value is true) before downloading the PDFs. 020 */ 021 @JsonProperty("is_ready_for_download") 022 protected Boolean isReadyForDownload; 023 024 public SignRequestSignFilesField() { 025 super(); 026 } 027 028 protected SignRequestSignFilesField(Builder builder) { 029 super(); 030 this.files = builder.files; 031 this.isReadyForDownload = builder.isReadyForDownload; 032 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 033 } 034 035 public List<FileMini> getFiles() { 036 return files; 037 } 038 039 public Boolean getIsReadyForDownload() { 040 return isReadyForDownload; 041 } 042 043 @Override 044 public boolean equals(Object o) { 045 if (this == o) { 046 return true; 047 } 048 if (o == null || getClass() != o.getClass()) { 049 return false; 050 } 051 SignRequestSignFilesField casted = (SignRequestSignFilesField) o; 052 return Objects.equals(files, casted.files) 053 && Objects.equals(isReadyForDownload, casted.isReadyForDownload); 054 } 055 056 @Override 057 public int hashCode() { 058 return Objects.hash(files, isReadyForDownload); 059 } 060 061 @Override 062 public String toString() { 063 return "SignRequestSignFilesField{" 064 + "files='" 065 + files 066 + '\'' 067 + ", " 068 + "isReadyForDownload='" 069 + isReadyForDownload 070 + '\'' 071 + "}"; 072 } 073 074 public static class Builder extends NullableFieldTracker { 075 076 protected List<FileMini> files; 077 078 protected Boolean isReadyForDownload; 079 080 public Builder files(List<FileMini> files) { 081 this.files = files; 082 return this; 083 } 084 085 public Builder isReadyForDownload(Boolean isReadyForDownload) { 086 this.isReadyForDownload = isReadyForDownload; 087 return this; 088 } 089 090 public SignRequestSignFilesField build() { 091 return new SignRequestSignFilesField(this); 092 } 093 } 094}