001package com.box.sdkgen.schemas.integrationmappingslackoptions;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009/** The schema for an integration mapping options object for Slack type. */
010@JsonFilter("nullablePropertyFilter")
011public class IntegrationMappingSlackOptions extends SerializableObject {
012
013  /**
014   * Indicates whether or not channel member access to the underlying box item should be
015   * automatically managed. Depending on type of channel, access is managed through creating
016   * collaborations or shared links.
017   */
018  @JsonProperty("is_access_management_disabled")
019  protected Boolean isAccessManagementDisabled;
020
021  public IntegrationMappingSlackOptions() {
022    super();
023  }
024
025  protected IntegrationMappingSlackOptions(Builder builder) {
026    super();
027    this.isAccessManagementDisabled = builder.isAccessManagementDisabled;
028    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
029  }
030
031  public Boolean getIsAccessManagementDisabled() {
032    return isAccessManagementDisabled;
033  }
034
035  @Override
036  public boolean equals(Object o) {
037    if (this == o) {
038      return true;
039    }
040    if (o == null || getClass() != o.getClass()) {
041      return false;
042    }
043    IntegrationMappingSlackOptions casted = (IntegrationMappingSlackOptions) o;
044    return Objects.equals(isAccessManagementDisabled, casted.isAccessManagementDisabled);
045  }
046
047  @Override
048  public int hashCode() {
049    return Objects.hash(isAccessManagementDisabled);
050  }
051
052  @Override
053  public String toString() {
054    return "IntegrationMappingSlackOptions{"
055        + "isAccessManagementDisabled='"
056        + isAccessManagementDisabled
057        + '\''
058        + "}";
059  }
060
061  public static class Builder extends NullableFieldTracker {
062
063    protected Boolean isAccessManagementDisabled;
064
065    public Builder isAccessManagementDisabled(Boolean isAccessManagementDisabled) {
066      this.isAccessManagementDisabled = isAccessManagementDisabled;
067      return this;
068    }
069
070    public IntegrationMappingSlackOptions build() {
071      return new IntegrationMappingSlackOptions(this);
072    }
073  }
074}