001package com.box.sdkgen.networking.timeoutconfig;
002
003public class TimeoutConfig {
004
005  public Long connectionTimeoutMs;
006
007  public Long readTimeoutMs;
008
009  public Long requestTimeoutMs;
010
011  public TimeoutConfig() {}
012
013  protected TimeoutConfig(Builder builder) {
014    this.connectionTimeoutMs = builder.connectionTimeoutMs;
015    this.readTimeoutMs = builder.readTimeoutMs;
016    this.requestTimeoutMs = builder.requestTimeoutMs;
017  }
018
019  public Long getConnectionTimeoutMs() {
020    return connectionTimeoutMs;
021  }
022
023  public Long getReadTimeoutMs() {
024    return readTimeoutMs;
025  }
026
027  public Long getRequestTimeoutMs() {
028    return requestTimeoutMs;
029  }
030
031  public static class Builder {
032
033    protected Long connectionTimeoutMs;
034
035    protected Long readTimeoutMs;
036
037    protected Long requestTimeoutMs;
038
039    public Builder connectionTimeoutMs(Long connectionTimeoutMs) {
040      this.connectionTimeoutMs = connectionTimeoutMs;
041      return this;
042    }
043
044    public Builder readTimeoutMs(Long readTimeoutMs) {
045      this.readTimeoutMs = readTimeoutMs;
046      return this;
047    }
048
049    public Builder requestTimeoutMs(Long requestTimeoutMs) {
050      this.requestTimeoutMs = requestTimeoutMs;
051      return this;
052    }
053
054    public TimeoutConfig build() {
055      return new TimeoutConfig(this);
056    }
057  }
058}