001package com.box.sdkgen.managers.storagepolicyassignments; 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 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField 014 extends SerializableObject { 015 016 /** The type to assign. */ 017 @JsonDeserialize( 018 using = 019 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField 020 .UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeFieldDeserializer.class) 021 @JsonSerialize( 022 using = 023 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField 024 .UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeFieldSerializer.class) 025 protected EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField> type; 026 027 /** The ID of the storage policy to assign. */ 028 protected final String id; 029 030 public UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField( 031 @JsonProperty("id") String id) { 032 super(); 033 this.id = id; 034 this.type = 035 new EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField>( 036 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField.STORAGE_POLICY); 037 } 038 039 protected UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(Builder builder) { 040 super(); 041 this.type = builder.type; 042 this.id = builder.id; 043 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 044 } 045 046 public EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField> getType() { 047 return type; 048 } 049 050 public String getId() { 051 return id; 052 } 053 054 @Override 055 public boolean equals(Object o) { 056 if (this == o) { 057 return true; 058 } 059 if (o == null || getClass() != o.getClass()) { 060 return false; 061 } 062 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField casted = 063 (UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField) o; 064 return Objects.equals(type, casted.type) && Objects.equals(id, casted.id); 065 } 066 067 @Override 068 public int hashCode() { 069 return Objects.hash(type, id); 070 } 071 072 @Override 073 public String toString() { 074 return "UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField{" 075 + "type='" 076 + type 077 + '\'' 078 + ", " 079 + "id='" 080 + id 081 + '\'' 082 + "}"; 083 } 084 085 public static class Builder extends NullableFieldTracker { 086 087 protected EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField> type; 088 089 protected final String id; 090 091 public Builder(String id) { 092 super(); 093 this.id = id; 094 } 095 096 public Builder type(UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField type) { 097 this.type = 098 new EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField>(type); 099 return this; 100 } 101 102 public Builder type( 103 EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField> type) { 104 this.type = type; 105 return this; 106 } 107 108 public UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField build() { 109 if (this.type == null) { 110 this.type = 111 new EnumWrapper<UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField>( 112 UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyTypeField.STORAGE_POLICY); 113 } 114 return new UpdateStoragePolicyAssignmentByIdRequestBodyStoragePolicyField(this); 115 } 116 } 117}