001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationshieldv2025r0;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.box.sdkgen.schemas.v2025r0.shieldruleitemv2025r0.ShieldRuleItemV2025R0;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import com.fasterxml.jackson.annotation.JsonProperty;
008import java.util.List;
009import java.util.Objects;
010
011/** The enterprise configuration for the shield category. */
012@JsonFilter("nullablePropertyFilter")
013public class EnterpriseConfigurationShieldV2025R0 extends SerializableObject {
014
015  /** The shield rules configuration for the enterprise. */
016  @JsonProperty("shield_rules")
017  protected List<ShieldRuleItemV2025R0> shieldRules;
018
019  public EnterpriseConfigurationShieldV2025R0() {
020    super();
021  }
022
023  protected EnterpriseConfigurationShieldV2025R0(Builder builder) {
024    super();
025    this.shieldRules = builder.shieldRules;
026    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
027  }
028
029  public List<ShieldRuleItemV2025R0> getShieldRules() {
030    return shieldRules;
031  }
032
033  @Override
034  public boolean equals(Object o) {
035    if (this == o) {
036      return true;
037    }
038    if (o == null || getClass() != o.getClass()) {
039      return false;
040    }
041    EnterpriseConfigurationShieldV2025R0 casted = (EnterpriseConfigurationShieldV2025R0) o;
042    return Objects.equals(shieldRules, casted.shieldRules);
043  }
044
045  @Override
046  public int hashCode() {
047    return Objects.hash(shieldRules);
048  }
049
050  @Override
051  public String toString() {
052    return "EnterpriseConfigurationShieldV2025R0{" + "shieldRules='" + shieldRules + '\'' + "}";
053  }
054
055  public static class Builder extends NullableFieldTracker {
056
057    protected List<ShieldRuleItemV2025R0> shieldRules;
058
059    public Builder shieldRules(List<ShieldRuleItemV2025R0> shieldRules) {
060      this.shieldRules = shieldRules;
061      return this;
062    }
063
064    public EnterpriseConfigurationShieldV2025R0 build() {
065      return new EnterpriseConfigurationShieldV2025R0(this);
066    }
067  }
068}