001package com.box.sdkgen.schemas.shieldinformationbarriersegmentmembermini; 002 003import com.box.sdkgen.schemas.shieldinformationbarriersegmentmemberbase.ShieldInformationBarrierSegmentMemberBase; 004import com.box.sdkgen.schemas.shieldinformationbarriersegmentmemberbase.ShieldInformationBarrierSegmentMemberBaseTypeField; 005import com.box.sdkgen.schemas.userbase.UserBase; 006import com.box.sdkgen.serialization.json.EnumWrapper; 007import com.fasterxml.jackson.annotation.JsonFilter; 008import java.util.Objects; 009 010/** A mini representation of a shield information barrier segment member object. */ 011@JsonFilter("nullablePropertyFilter") 012public class ShieldInformationBarrierSegmentMemberMini 013 extends ShieldInformationBarrierSegmentMemberBase { 014 015 protected UserBase user; 016 017 public ShieldInformationBarrierSegmentMemberMini() { 018 super(); 019 } 020 021 protected ShieldInformationBarrierSegmentMemberMini(Builder builder) { 022 super(builder); 023 this.user = builder.user; 024 markNullableFieldsAsSet(builder.getExplicitlySetNullableFields()); 025 } 026 027 public UserBase getUser() { 028 return user; 029 } 030 031 @Override 032 public boolean equals(Object o) { 033 if (this == o) { 034 return true; 035 } 036 if (o == null || getClass() != o.getClass()) { 037 return false; 038 } 039 ShieldInformationBarrierSegmentMemberMini casted = 040 (ShieldInformationBarrierSegmentMemberMini) o; 041 return Objects.equals(id, casted.id) 042 && Objects.equals(type, casted.type) 043 && Objects.equals(user, casted.user); 044 } 045 046 @Override 047 public int hashCode() { 048 return Objects.hash(id, type, user); 049 } 050 051 @Override 052 public String toString() { 053 return "ShieldInformationBarrierSegmentMemberMini{" 054 + "id='" 055 + id 056 + '\'' 057 + ", " 058 + "type='" 059 + type 060 + '\'' 061 + ", " 062 + "user='" 063 + user 064 + '\'' 065 + "}"; 066 } 067 068 public static class Builder extends ShieldInformationBarrierSegmentMemberBase.Builder { 069 070 protected UserBase user; 071 072 public Builder user(UserBase user) { 073 this.user = user; 074 return this; 075 } 076 077 @Override 078 public Builder id(String id) { 079 this.id = id; 080 return this; 081 } 082 083 @Override 084 public Builder type(ShieldInformationBarrierSegmentMemberBaseTypeField type) { 085 this.type = new EnumWrapper<ShieldInformationBarrierSegmentMemberBaseTypeField>(type); 086 return this; 087 } 088 089 @Override 090 public Builder type(EnumWrapper<ShieldInformationBarrierSegmentMemberBaseTypeField> type) { 091 this.type = type; 092 return this; 093 } 094 095 public ShieldInformationBarrierSegmentMemberMini build() { 096 return new ShieldInformationBarrierSegmentMemberMini(this); 097 } 098 } 099}