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