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