001package com.box.sdkgen.schemas.shieldinformationbarrierreference;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.shieldinformationbarrierbase.ShieldInformationBarrierBase;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.annotation.JsonProperty;
008import java.util.Objects;
009
010/** A shield information barrier reference for requests and responses. */
011@JsonFilter("nullablePropertyFilter")
012public class ShieldInformationBarrierReference extends SerializableObject {
013
014  @JsonProperty("shield_information_barrier")
015  protected ShieldInformationBarrierBase shieldInformationBarrier;
016
017  public ShieldInformationBarrierReference() {
018    super();
019  }
020
021  protected ShieldInformationBarrierReference(Builder builder) {
022    super();
023    this.shieldInformationBarrier = builder.shieldInformationBarrier;
024    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
025  }
026
027  public ShieldInformationBarrierBase getShieldInformationBarrier() {
028    return shieldInformationBarrier;
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    ShieldInformationBarrierReference casted = (ShieldInformationBarrierReference) o;
040    return Objects.equals(shieldInformationBarrier, casted.shieldInformationBarrier);
041  }
042
043  @Override
044  public int hashCode() {
045    return Objects.hash(shieldInformationBarrier);
046  }
047
048  @Override
049  public String toString() {
050    return "ShieldInformationBarrierReference{"
051        + "shieldInformationBarrier='"
052        + shieldInformationBarrier
053        + '\''
054        + "}";
055  }
056
057  public static class Builder extends NullableFieldTracker {
058
059    protected ShieldInformationBarrierBase shieldInformationBarrier;
060
061    public Builder shieldInformationBarrier(ShieldInformationBarrierBase shieldInformationBarrier) {
062      this.shieldInformationBarrier = shieldInformationBarrier;
063      return this;
064    }
065
066    public ShieldInformationBarrierReference build() {
067      return new ShieldInformationBarrierReference(this);
068    }
069  }
070}