001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemstringv2025r0;
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 string type value. */
009@JsonFilter("nullablePropertyFilter")
010public class EnterpriseConfigurationItemStringV2025R0 extends EnterpriseConfigurationItemV2025R0 {
011
012  /** The value of the enterprise configuration as a string. */
013  @Nullable protected String value;
014
015  public EnterpriseConfigurationItemStringV2025R0() {
016    super();
017  }
018
019  protected EnterpriseConfigurationItemStringV2025R0(Builder builder) {
020    super(builder);
021    this.value = builder.value;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public String 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    EnterpriseConfigurationItemStringV2025R0 casted = (EnterpriseConfigurationItemStringV2025R0) o;
038    return Objects.equals(isUsed, casted.isUsed) && Objects.equals(value, casted.value);
039  }
040
041  @Override
042  public int hashCode() {
043    return Objects.hash(isUsed, value);
044  }
045
046  @Override
047  public String toString() {
048    return "EnterpriseConfigurationItemStringV2025R0{"
049        + "isUsed='"
050        + isUsed
051        + '\''
052        + ", "
053        + "value='"
054        + value
055        + '\''
056        + "}";
057  }
058
059  public static class Builder extends EnterpriseConfigurationItemV2025R0.Builder {
060
061    protected String value;
062
063    public Builder value(String value) {
064      this.value = value;
065      this.markNullableFieldAsSet("value");
066      return this;
067    }
068
069    @Override
070    public Builder isUsed(Boolean isUsed) {
071      this.isUsed = isUsed;
072      return this;
073    }
074
075    public EnterpriseConfigurationItemStringV2025R0 build() {
076      return new EnterpriseConfigurationItemStringV2025R0(this);
077    }
078  }
079}