001package com.box.sdkgen.schemas.zipdownload; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.serialization.json.EnumWrapper; 006import com.fasterxml.jackson.annotation.JsonFilter; 007import com.fasterxml.jackson.annotation.JsonProperty; 008import com.fasterxml.jackson.databind.annotation.JsonDeserialize; 009import com.fasterxml.jackson.databind.annotation.JsonSerialize; 010import java.util.Objects; 011 012@JsonFilter("nullablePropertyFilter") 013public class ZipDownloadNameConflictsField extends SerializableObject { 014 015 /** The identifier of the item. */ 016 protected String id; 017 018 /** The type of this item. */ 019 @JsonDeserialize( 020 using = ZipDownloadNameConflictsTypeField.ZipDownloadNameConflictsTypeFieldDeserializer.class) 021 @JsonSerialize( 022 using = ZipDownloadNameConflictsTypeField.ZipDownloadNameConflictsTypeFieldSerializer.class) 023 protected EnumWrapper<ZipDownloadNameConflictsTypeField> type; 024 025 /** Box Developer Documentation. */ 026 @JsonProperty("original_name") 027 protected String originalName; 028 029 /** The new name of this item as it will appear in the downloaded `zip` archive. */ 030 @JsonProperty("download_name") 031 protected String downloadName; 032 033 public ZipDownloadNameConflictsField() { 034 super(); 035 } 036 037 protected ZipDownloadNameConflictsField(Builder builder) { 038 super(); 039 this.id = builder.id; 040 this.type = builder.type; 041 this.originalName = builder.originalName; 042 this.downloadName = builder.downloadName; 043 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 044 } 045 046 public String getId() { 047 return id; 048 } 049 050 public EnumWrapper<ZipDownloadNameConflictsTypeField> getType() { 051 return type; 052 } 053 054 public String getOriginalName() { 055 return originalName; 056 } 057 058 public String getDownloadName() { 059 return downloadName; 060 } 061 062 @Override 063 public boolean equals(Object o) { 064 if (this == o) { 065 return true; 066 } 067 if (o == null || getClass() != o.getClass()) { 068 return false; 069 } 070 ZipDownloadNameConflictsField casted = (ZipDownloadNameConflictsField) o; 071 return Objects.equals(id, casted.id) 072 && Objects.equals(type, casted.type) 073 && Objects.equals(originalName, casted.originalName) 074 && Objects.equals(downloadName, casted.downloadName); 075 } 076 077 @Override 078 public int hashCode() { 079 return Objects.hash(id, type, originalName, downloadName); 080 } 081 082 @Override 083 public String toString() { 084 return "ZipDownloadNameConflictsField{" 085 + "id='" 086 + id 087 + '\'' 088 + ", " 089 + "type='" 090 + type 091 + '\'' 092 + ", " 093 + "originalName='" 094 + originalName 095 + '\'' 096 + ", " 097 + "downloadName='" 098 + downloadName 099 + '\'' 100 + "}"; 101 } 102 103 public static class Builder extends NullableFieldTracker { 104 105 protected String id; 106 107 protected EnumWrapper<ZipDownloadNameConflictsTypeField> type; 108 109 protected String originalName; 110 111 protected String downloadName; 112 113 public Builder id(String id) { 114 this.id = id; 115 return this; 116 } 117 118 public Builder type(ZipDownloadNameConflictsTypeField type) { 119 this.type = new EnumWrapper<ZipDownloadNameConflictsTypeField>(type); 120 return this; 121 } 122 123 public Builder type(EnumWrapper<ZipDownloadNameConflictsTypeField> type) { 124 this.type = type; 125 return this; 126 } 127 128 public Builder originalName(String originalName) { 129 this.originalName = originalName; 130 return this; 131 } 132 133 public Builder downloadName(String downloadName) { 134 this.downloadName = downloadName; 135 return this; 136 } 137 138 public ZipDownloadNameConflictsField build() { 139 return new ZipDownloadNameConflictsField(this); 140 } 141 } 142}