001package com.box.sdkgen.managers.invites;
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 CreateInviteRequestBodyActionableByField extends SerializableObject {
010
011  /** The login of the invited user. */
012  protected String login;
013
014  public CreateInviteRequestBodyActionableByField() {
015    super();
016  }
017
018  protected CreateInviteRequestBodyActionableByField(Builder builder) {
019    super();
020    this.login = builder.login;
021    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
022  }
023
024  public String getLogin() {
025    return login;
026  }
027
028  @Override
029  public boolean equals(Object o) {
030    if (this == o) {
031      return true;
032    }
033    if (o == null || getClass() != o.getClass()) {
034      return false;
035    }
036    CreateInviteRequestBodyActionableByField casted = (CreateInviteRequestBodyActionableByField) o;
037    return Objects.equals(login, casted.login);
038  }
039
040  @Override
041  public int hashCode() {
042    return Objects.hash(login);
043  }
044
045  @Override
046  public String toString() {
047    return "CreateInviteRequestBodyActionableByField{" + "login='" + login + '\'' + "}";
048  }
049
050  public static class Builder extends NullableFieldTracker {
051
052    protected String login;
053
054    public Builder login(String login) {
055      this.login = login;
056      return this;
057    }
058
059    public CreateInviteRequestBodyActionableByField build() {
060      return new CreateInviteRequestBodyActionableByField(this);
061    }
062  }
063}