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