001package com.box.sdkgen.schemas.v2025r0.hubitemoperationv2025r0; 002 003import com.box.sdkgen.internal.NullableFieldTracker; 004import com.box.sdkgen.internal.SerializableObject; 005import com.box.sdkgen.schemas.v2025r0.filereferencev2025r0.FileReferenceV2025R0; 006import com.box.sdkgen.schemas.v2025r0.folderreferencev2025r0.FolderReferenceV2025R0; 007import com.box.sdkgen.schemas.v2025r0.hubitemreferencev2025r0.HubItemReferenceV2025R0; 008import com.box.sdkgen.schemas.v2025r0.weblinkreferencev2025r0.WeblinkReferenceV2025R0; 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/** An operation to perform on a Box Hub item. */ 017@JsonFilter("nullablePropertyFilter") 018public class HubItemOperationV2025R0 extends SerializableObject { 019 020 /** The action to perform on a Box Hub item. */ 021 @JsonDeserialize( 022 using = 023 HubItemOperationV2025R0ActionField.HubItemOperationV2025R0ActionFieldDeserializer.class) 024 @JsonSerialize( 025 using = HubItemOperationV2025R0ActionField.HubItemOperationV2025R0ActionFieldSerializer.class) 026 protected final EnumWrapper<HubItemOperationV2025R0ActionField> action; 027 028 protected final HubItemReferenceV2025R0 item; 029 030 /** 031 * The ID of the parent block to add the item to. Must be an Item List block. If not provided, the 032 * item will be added to the first page's first Item List block. 033 */ 034 @JsonProperty("parent_id") 035 protected String parentId; 036 037 public HubItemOperationV2025R0( 038 HubItemOperationV2025R0ActionField action, FileReferenceV2025R0 item) { 039 super(); 040 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 041 this.item = new HubItemReferenceV2025R0(item); 042 } 043 044 public HubItemOperationV2025R0( 045 HubItemOperationV2025R0ActionField action, FolderReferenceV2025R0 item) { 046 super(); 047 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 048 this.item = new HubItemReferenceV2025R0(item); 049 } 050 051 public HubItemOperationV2025R0( 052 HubItemOperationV2025R0ActionField action, WeblinkReferenceV2025R0 item) { 053 super(); 054 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 055 this.item = new HubItemReferenceV2025R0(item); 056 } 057 058 public HubItemOperationV2025R0( 059 HubItemOperationV2025R0ActionField action, HubItemReferenceV2025R0 item) { 060 super(); 061 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 062 this.item = item; 063 } 064 065 public HubItemOperationV2025R0( 066 EnumWrapper<HubItemOperationV2025R0ActionField> action, FileReferenceV2025R0 item) { 067 super(); 068 this.action = action; 069 this.item = new HubItemReferenceV2025R0(item); 070 } 071 072 public HubItemOperationV2025R0( 073 EnumWrapper<HubItemOperationV2025R0ActionField> action, FolderReferenceV2025R0 item) { 074 super(); 075 this.action = action; 076 this.item = new HubItemReferenceV2025R0(item); 077 } 078 079 public HubItemOperationV2025R0( 080 EnumWrapper<HubItemOperationV2025R0ActionField> action, WeblinkReferenceV2025R0 item) { 081 super(); 082 this.action = action; 083 this.item = new HubItemReferenceV2025R0(item); 084 } 085 086 public HubItemOperationV2025R0( 087 @JsonProperty("action") EnumWrapper<HubItemOperationV2025R0ActionField> action, 088 @JsonProperty("item") HubItemReferenceV2025R0 item) { 089 super(); 090 this.action = action; 091 this.item = item; 092 } 093 094 protected HubItemOperationV2025R0(Builder builder) { 095 super(); 096 this.action = builder.action; 097 this.item = builder.item; 098 this.parentId = builder.parentId; 099 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 100 } 101 102 public EnumWrapper<HubItemOperationV2025R0ActionField> getAction() { 103 return action; 104 } 105 106 public HubItemReferenceV2025R0 getItem() { 107 return item; 108 } 109 110 public String getParentId() { 111 return parentId; 112 } 113 114 @Override 115 public boolean equals(Object o) { 116 if (this == o) { 117 return true; 118 } 119 if (o == null || getClass() != o.getClass()) { 120 return false; 121 } 122 HubItemOperationV2025R0 casted = (HubItemOperationV2025R0) o; 123 return Objects.equals(action, casted.action) 124 && Objects.equals(item, casted.item) 125 && Objects.equals(parentId, casted.parentId); 126 } 127 128 @Override 129 public int hashCode() { 130 return Objects.hash(action, item, parentId); 131 } 132 133 @Override 134 public String toString() { 135 return "HubItemOperationV2025R0{" 136 + "action='" 137 + action 138 + '\'' 139 + ", " 140 + "item='" 141 + item 142 + '\'' 143 + ", " 144 + "parentId='" 145 + parentId 146 + '\'' 147 + "}"; 148 } 149 150 public static class Builder extends NullableFieldTracker { 151 152 protected final EnumWrapper<HubItemOperationV2025R0ActionField> action; 153 154 protected final HubItemReferenceV2025R0 item; 155 156 protected String parentId; 157 158 public Builder(HubItemOperationV2025R0ActionField action, FileReferenceV2025R0 item) { 159 super(); 160 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 161 this.item = new HubItemReferenceV2025R0(item); 162 } 163 164 public Builder(HubItemOperationV2025R0ActionField action, FolderReferenceV2025R0 item) { 165 super(); 166 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 167 this.item = new HubItemReferenceV2025R0(item); 168 } 169 170 public Builder(HubItemOperationV2025R0ActionField action, WeblinkReferenceV2025R0 item) { 171 super(); 172 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 173 this.item = new HubItemReferenceV2025R0(item); 174 } 175 176 public Builder(HubItemOperationV2025R0ActionField action, HubItemReferenceV2025R0 item) { 177 super(); 178 this.action = new EnumWrapper<HubItemOperationV2025R0ActionField>(action); 179 this.item = item; 180 } 181 182 public Builder( 183 EnumWrapper<HubItemOperationV2025R0ActionField> action, FileReferenceV2025R0 item) { 184 super(); 185 this.action = action; 186 this.item = new HubItemReferenceV2025R0(item); 187 } 188 189 public Builder( 190 EnumWrapper<HubItemOperationV2025R0ActionField> action, FolderReferenceV2025R0 item) { 191 super(); 192 this.action = action; 193 this.item = new HubItemReferenceV2025R0(item); 194 } 195 196 public Builder( 197 EnumWrapper<HubItemOperationV2025R0ActionField> action, WeblinkReferenceV2025R0 item) { 198 super(); 199 this.action = action; 200 this.item = new HubItemReferenceV2025R0(item); 201 } 202 203 public Builder( 204 EnumWrapper<HubItemOperationV2025R0ActionField> action, HubItemReferenceV2025R0 item) { 205 super(); 206 this.action = action; 207 this.item = item; 208 } 209 210 public Builder parentId(String parentId) { 211 this.parentId = parentId; 212 return this; 213 } 214 215 public HubItemOperationV2025R0 build() { 216 return new HubItemOperationV2025R0(this); 217 } 218 } 219}