001package com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingsitemv2025r0;
002
003import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0;
004import com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingv2025r0.EnterpriseFeatureSettingV2025R0;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008/** An enterprise feature settings item. */
009@JsonFilter("nullablePropertyFilter")
010public class EnterpriseFeatureSettingsItemV2025R0 extends EnterpriseConfigurationItemV2025R0 {
011
012  protected EnterpriseFeatureSettingV2025R0 value;
013
014  public EnterpriseFeatureSettingsItemV2025R0() {
015    super();
016  }
017
018  protected EnterpriseFeatureSettingsItemV2025R0(Builder builder) {
019    super(builder);
020    this.value = builder.value;
021    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
022  }
023
024  public EnterpriseFeatureSettingV2025R0 getValue() {
025    return value;
026  }
027
028  @Override
029  public boolean equals(Object o) {
030    if (this == o) {
031      return true;
032    }
033    if (o == null || getClass() != o.getClass()) {
034      return false;
035    }
036    EnterpriseFeatureSettingsItemV2025R0 casted = (EnterpriseFeatureSettingsItemV2025R0) o;
037    return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value);
038  }
039
040  @Override
041  public int hashCode() {
042    return Objects.hash(isUsed, value);
043  }
044
045  @Override
046  public String toString() {
047    return "EnterpriseFeatureSettingsItemV2025R0{"
048        + "isUsed='"
049        + isUsed
050        + '\''
051        + ", "
052        + "value='"
053        + value
054        + '\''
055        + "}";
056  }
057
058  public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder {
059
060    protected EnterpriseFeatureSettingV2025R0 value;
061
062    public Builder value(EnterpriseFeatureSettingV2025R0 value) {
063      this.value = value;
064      return this;
065    }
066
067    @Override
068    public Builder isUsed(Boolean isUsed) {
069      this.isUsed = isUsed;
070      return this;
071    }
072
073    public EnterpriseFeatureSettingsItemV2025R0 build() {
074      return new EnterpriseFeatureSettingsItemV2025R0(this);
075    }
076  }
077}