001package com.box.sdkgen.managers.collaborationallowlistentries;
002
003import com.box.sdkgen.internal.SerializableObject;
004import com.box.sdkgen.serialization.json.EnumWrapper;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
008import com.fasterxml.jackson.databind.annotation.JsonSerialize;
009import java.util.Objects;
010
011@JsonFilter("nullablePropertyFilter")
012public class CreateCollaborationWhitelistEntryRequestBody extends SerializableObject {
013
014  /** The domain to add to the list of allowed domains. */
015  protected final String domain;
016
017  /** The direction in which to allow collaborations. */
018  @JsonDeserialize(
019      using =
020          CreateCollaborationWhitelistEntryRequestBodyDirectionField
021              .CreateCollaborationWhitelistEntryRequestBodyDirectionFieldDeserializer.class)
022  @JsonSerialize(
023      using =
024          CreateCollaborationWhitelistEntryRequestBodyDirectionField
025              .CreateCollaborationWhitelistEntryRequestBodyDirectionFieldSerializer.class)
026  protected final EnumWrapper<CreateCollaborationWhitelistEntryRequestBodyDirectionField> direction;
027
028  public CreateCollaborationWhitelistEntryRequestBody(
029      String domain, CreateCollaborationWhitelistEntryRequestBodyDirectionField direction) {
030    super();
031    this.domain = domain;
032    this.direction =
033        new EnumWrapper<CreateCollaborationWhitelistEntryRequestBodyDirectionField>(direction);
034  }
035
036  public CreateCollaborationWhitelistEntryRequestBody(
037      @JsonProperty("domain") String domain,
038      @JsonProperty("direction")
039          EnumWrapper<CreateCollaborationWhitelistEntryRequestBodyDirectionField> direction) {
040    super();
041    this.domain = domain;
042    this.direction = direction;
043  }
044
045  public String getDomain() {
046    return domain;
047  }
048
049  public EnumWrapper<CreateCollaborationWhitelistEntryRequestBodyDirectionField> getDirection() {
050    return direction;
051  }
052
053  @Override
054  public boolean equals(Object o) {
055    if (this == o) {
056      return true;
057    }
058    if (o == null || getClass() != o.getClass()) {
059      return false;
060    }
061    CreateCollaborationWhitelistEntryRequestBody casted =
062        (CreateCollaborationWhitelistEntryRequestBody) o;
063    return Objects.equals(domain, casted.domain) && Objects.equals(direction, casted.direction);
064  }
065
066  @Override
067  public int hashCode() {
068    return Objects.hash(domain, direction);
069  }
070
071  @Override
072  public String toString() {
073    return "CreateCollaborationWhitelistEntryRequestBody{"
074        + "domain='"
075        + domain
076        + '\''
077        + ", "
078        + "direction='"
079        + direction
080        + '\''
081        + "}";
082  }
083}