001package com.box.sdkgen.managers.taskassignments;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import java.util.Objects;
007
008@JsonFilter("nullablePropertyFilter")
009public class CreateTaskAssignmentRequestBodyAssignToField extends SerializableObject {
010
011  /**
012   * The ID of the user to assign to the task.
013   *
014   * <p>To specify a user by their email address use the `login` parameter.
015   */
016  protected String id;
017
018  /**
019   * The email address of the user to assign to the task. To specify a user by their user ID please
020   * use the `id` parameter.
021   */
022  protected String login;
023
024  public CreateTaskAssignmentRequestBodyAssignToField() {
025    super();
026  }
027
028  protected CreateTaskAssignmentRequestBodyAssignToField(Builder builder) {
029    super();
030    this.id = builder.id;
031    this.login = builder.login;
032    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
033  }
034
035  public String getId() {
036    return id;
037  }
038
039  public String getLogin() {
040    return login;
041  }
042
043  @Override
044  public boolean equals(Object o) {
045    if (this == o) {
046      return true;
047    }
048    if (o == null || getClass() != o.getClass()) {
049      return false;
050    }
051    CreateTaskAssignmentRequestBodyAssignToField casted =
052        (CreateTaskAssignmentRequestBodyAssignToField) o;
053    return Objects.equals(id, casted.id) && Objects.equals(login, casted.login);
054  }
055
056  @Override
057  public int hashCode() {
058    return Objects.hash(id, login);
059  }
060
061  @Override
062  public String toString() {
063    return "CreateTaskAssignmentRequestBodyAssignToField{"
064        + "id='"
065        + id
066        + '\''
067        + ", "
068        + "login='"
069        + login
070        + '\''
071        + "}";
072  }
073
074  public static class Builder extends NullableFieldTracker {
075
076    protected String id;
077
078    protected String login;
079
080    public Builder id(String id) {
081      this.id = id;
082      return this;
083    }
084
085    public Builder login(String login) {
086      this.login = login;
087      return this;
088    }
089
090    public CreateTaskAssignmentRequestBodyAssignToField build() {
091      return new CreateTaskAssignmentRequestBodyAssignToField(this);
092    }
093  }
094}