001package com.box.sdkgen.schemas.useravatar;
002
003import com.box.sdkgen.internal.NullableFieldTracker;
004import com.box.sdkgen.internal.SerializableObject;
005import com.fasterxml.jackson.annotation.JsonFilter;
006import com.fasterxml.jackson.annotation.JsonProperty;
007import java.util.Objects;
008
009/** A resource holding URLs to the avatar uploaded to a Box application. */
010@JsonFilter("nullablePropertyFilter")
011public class UserAvatar extends SerializableObject {
012
013  /** Represents an object with user avatar URLs. */
014  @JsonProperty("pic_urls")
015  protected UserAvatarPicUrlsField picUrls;
016
017  public UserAvatar() {
018    super();
019  }
020
021  protected UserAvatar(Builder builder) {
022    super();
023    this.picUrls = builder.picUrls;
024    markNullableFieldsAsSet(builder.getExplicitlySetNullableFields());
025  }
026
027  public UserAvatarPicUrlsField getPicUrls() {
028    return picUrls;
029  }
030
031  @Override
032  public boolean equals(Object o) {
033    if (this == o) {
034      return true;
035    }
036    if (o == null || getClass() != o.getClass()) {
037      return false;
038    }
039    UserAvatar casted = (UserAvatar) o;
040    return Objects.equals(picUrls, casted.picUrls);
041  }
042
043  @Override
044  public int hashCode() {
045    return Objects.hash(picUrls);
046  }
047
048  @Override
049  public String toString() {
050    return "UserAvatar{" + "picUrls='" + picUrls + '\'' + "}";
051  }
052
053  public static class Builder extends NullableFieldTracker {
054
055    protected UserAvatarPicUrlsField picUrls;
056
057    public Builder picUrls(UserAvatarPicUrlsField picUrls) {
058      this.picUrls = picUrls;
059      return this;
060    }
061
062    public UserAvatar build() {
063      return new UserAvatar(this);
064    }
065  }
066}