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