001package com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationcontentandsharingv2025r0;
002
003import com.box.sdkgen.schemas.v2025r0.collaborationpermissionsv2025r0.CollaborationPermissionsV2025R0;
004import com.box.sdkgen.schemas.v2025r0.enterpriseconfigurationitemv2025r0.EnterpriseConfigurationItemV2025R0;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008@JsonFilter("nullablePropertyFilter")
009public class EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField
010    extends EnterpriseConfigurationItemV2025R0 {
011
012  protected CollaborationPermissionsV2025R0 value;
013
014  public EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField() {
015    super();
016  }
017
018  protected EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField(
019      Builder builder) {
020    super(builder);
021    this.value = builder.value;
022    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
023  }
024
025  public CollaborationPermissionsV2025R0 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    EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField casted =
038        (EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField) 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 "EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField{"
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 CollaborationPermissionsV2025R0 value;
063
064    public Builder value(CollaborationPermissionsV2025R0 value) {
065      this.value = 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 EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField build() {
076      return new EnterpriseConfigurationContentAndSharingV2025R0CollaborationPermissionsField(this);
077    }
078  }
079}