001package com.box.sdkgen.networking.baseurls;
002
003import com.fasterxml.jackson.annotation.JsonProperty;
004import java.util.Objects;
005
006public class BaseUrls {
007  @JsonProperty("base_url")
008  protected String baseUrl = "https://api.box.com";
009
010  @JsonProperty("upload_url")
011  protected String uploadUrl = "https://upload.box.com/api";
012
013  @JsonProperty("oauth2_url")
014  protected String oauth2Url = "https://account.box.com/api/oauth2";
015
016  public BaseUrls() {}
017
018  protected BaseUrls(Builder builder) {
019    this.baseUrl = builder.baseUrl;
020    this.uploadUrl = builder.uploadUrl;
021    this.oauth2Url = builder.oauth2Url;
022  }
023
024  public String getBaseUrl() {
025    return baseUrl;
026  }
027
028  public String getUploadUrl() {
029    return uploadUrl;
030  }
031
032  public String getOauth2Url() {
033    return oauth2Url;
034  }
035
036  @Override
037  public boolean equals(Object o) {
038    if (this == o) {
039      return true;
040    }
041    if (o == null || getClass() != o.getClass()) {
042      return false;
043    }
044    BaseUrls casted = (BaseUrls) o;
045    return Objects.equals(baseUrl, casted.baseUrl)
046        && Objects.equals(uploadUrl, casted.uploadUrl)
047        && Objects.equals(oauth2Url, casted.oauth2Url);
048  }
049
050  @Override
051  public int hashCode() {
052    return Objects.hash(baseUrl, uploadUrl, oauth2Url);
053  }
054
055  @Override
056  public String toString() {
057    return "BaseUrls{"
058        + "baseUrl='"
059        + baseUrl
060        + '\''
061        + ", "
062        + "uploadUrl='"
063        + uploadUrl
064        + '\''
065        + ", "
066        + "oauth2Url='"
067        + oauth2Url
068        + '\''
069        + "}";
070  }
071
072  public static class Builder {
073
074    protected String baseUrl = "https://api.box.com";
075
076    protected String uploadUrl = "https://upload.box.com/api";
077
078    protected String oauth2Url = "https://account.box.com/api/oauth2";
079
080    public Builder baseUrl(String baseUrl) {
081      this.baseUrl = baseUrl;
082      return this;
083    }
084
085    public Builder uploadUrl(String uploadUrl) {
086      this.uploadUrl = uploadUrl;
087      return this;
088    }
089
090    public Builder oauth2Url(String oauth2Url) {
091      this.oauth2Url = oauth2Url;
092      return this;
093    }
094
095    public BaseUrls build() {
096      return new BaseUrls(this);
097    }
098  }
099}