001package com.box.sdkgen.managers.storagepolicyassignments;
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 CreateStoragePolicyAssignmentRequestBodyAssignedToField extends SerializableObject {
013
014  /** The type to assign the policy to. */
015  @JsonDeserialize(
016      using =
017          CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField
018              .CreateStoragePolicyAssignmentRequestBodyAssignedToTypeFieldDeserializer.class)
019  @JsonSerialize(
020      using =
021          CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField
022              .CreateStoragePolicyAssignmentRequestBodyAssignedToTypeFieldSerializer.class)
023  protected final EnumWrapper<CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField> type;
024
025  /** The ID of the user or enterprise. */
026  protected final String id;
027
028  public CreateStoragePolicyAssignmentRequestBodyAssignedToField(
029      CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField type, String id) {
030    super();
031    this.type = new EnumWrapper<CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField>(type);
032    this.id = id;
033  }
034
035  public CreateStoragePolicyAssignmentRequestBodyAssignedToField(
036      @JsonProperty("type")
037          EnumWrapper<CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField> type,
038      @JsonProperty("id") String id) {
039    super();
040    this.type = type;
041    this.id = id;
042  }
043
044  public EnumWrapper<CreateStoragePolicyAssignmentRequestBodyAssignedToTypeField> getType() {
045    return type;
046  }
047
048  public String getId() {
049    return id;
050  }
051
052  @Override
053  public boolean equals(Object o) {
054    if (this == o) {
055      return true;
056    }
057    if (o == null || getClass() != o.getClass()) {
058      return false;
059    }
060    CreateStoragePolicyAssignmentRequestBodyAssignedToField casted =
061        (CreateStoragePolicyAssignmentRequestBodyAssignedToField) o;
062    return Objects.equals(type, casted.type) && Objects.equals(id, casted.id);
063  }
064
065  @Override
066  public int hashCode() {
067    return Objects.hash(type, id);
068  }
069
070  @Override
071  public String toString() {
072    return "CreateStoragePolicyAssignmentRequestBodyAssignedToField{"
073        + "type='"
074        + type
075        + '\''
076        + ", "
077        + "id='"
078        + id
079        + '\''
080        + "}";
081  }
082}