001package com.box.sdkgen.schemas.v2025r0.enterprisefeaturesettingv2025r0;
002
003import com.box.sdkgen.internal.Nullable;
004import com.box.sdkgen.internal.NullableFieldTracker;
005import com.box.sdkgen.internal.SerializableObject;
006import com.fasterxml.jackson.annotation.JsonFilter;
007import java.util.Objects;
008
009@JsonFilter("nullablePropertyFilter")
010public class EnterpriseFeatureSettingV2025R0FeatureField extends SerializableObject {
011
012  /** The identifier of the feature. */
013  @Nullable protected String id;
014
015  public EnterpriseFeatureSettingV2025R0FeatureField() {
016    super();
017  }
018
019  protected EnterpriseFeatureSettingV2025R0FeatureField(Builder builder) {
020    super();
021    this.id = builder.id;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public String getId() {
026    return id;
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    EnterpriseFeatureSettingV2025R0FeatureField casted =
038        (EnterpriseFeatureSettingV2025R0FeatureField) o;
039    return Objects.equals(id, casted.id);
040  }
041
042  @Override
043  public int hashCode() {
044    return Objects.hash(id);
045  }
046
047  @Override
048  public String toString() {
049    return "EnterpriseFeatureSettingV2025R0FeatureField{" + "id='" + id + '\'' + "}";
050  }
051
052  public static class Builder extends NullableFieldTracker {
053
054    protected String id;
055
056    public Builder id(String id) {
057      this.id = id;
058      this.markNullableFieldAsSet("id");
059      return this;
060    }
061
062    public EnterpriseFeatureSettingV2025R0FeatureField build() {
063      return new EnterpriseFeatureSettingV2025R0FeatureField(this);
064    }
065  }
066}