001package com.box.sdkgen.schemas.shieldinformationbarriersegmentmember; 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.databind.annotation.JsonDeserialize; 008import com.fasterxml.jackson.databind.annotation.JsonSerialize; 009import java.util.Objects; 010 011@JsonFilter("nullablePropertyFilter") 012public class ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField 013 extends SerializableObject { 014 015 /** The ID reference of the requesting shield information barrier segment. */ 016 protected String id; 017 018 /** The type of the shield information barrier segment. */ 019 @JsonDeserialize( 020 using = 021 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField 022 .ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeFieldDeserializer 023 .class) 024 @JsonSerialize( 025 using = 026 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField 027 .ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeFieldSerializer 028 .class) 029 protected EnumWrapper< 030 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField> 031 type; 032 033 public ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField() { 034 super(); 035 } 036 037 protected ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField( 038 Builder builder) { 039 super(); 040 this.id = builder.id; 041 this.type = builder.type; 042 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 043 } 044 045 public String getId() { 046 return id; 047 } 048 049 public EnumWrapper<ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField> 050 getType() { 051 return type; 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 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField casted = 063 (ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField) o; 064 return Objects.equals(id, casted.id) && Objects.equals(type, casted.type); 065 } 066 067 @Override 068 public int hashCode() { 069 return Objects.hash(id, type); 070 } 071 072 @Override 073 public String toString() { 074 return "ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField{" 075 + "id='" 076 + id 077 + '\'' 078 + ", " 079 + "type='" 080 + type 081 + '\'' 082 + "}"; 083 } 084 085 public static class Builder extends NullableFieldTracker { 086 087 protected String id; 088 089 protected EnumWrapper< 090 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField> 091 type; 092 093 public Builder id(String id) { 094 this.id = id; 095 return this; 096 } 097 098 public Builder type( 099 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField type) { 100 this.type = 101 new EnumWrapper< 102 ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField>(type); 103 return this; 104 } 105 106 public Builder type( 107 EnumWrapper<ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentTypeField> 108 type) { 109 this.type = type; 110 return this; 111 } 112 113 public ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField build() { 114 return new ShieldInformationBarrierSegmentMemberShieldInformationBarrierSegmentField(this); 115 } 116 } 117}