All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.chrome.devtools.client.core.network.ResourceTiming Maven / Gradle / Ivy

package com.hubspot.chrome.devtools.client.core.network;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * Timing information for the request.
 */
public final class ResourceTiming {
  private Number requestTime;

  private Number proxyStart;

  private Number proxyEnd;

  private Number dnsStart;

  private Number dnsEnd;

  private Number connectStart;

  private Number connectEnd;

  private Number sslStart;

  private Number sslEnd;

  private Number workerStart;

  private Number workerReady;

  private Number sendStart;

  private Number sendEnd;

  private Number pushStart;

  private Number pushEnd;

  private Number receiveHeadersEnd;

  @JsonCreator
  public ResourceTiming(@JsonProperty("requestTime") Number requestTime,
      @JsonProperty("proxyStart") Number proxyStart, @JsonProperty("proxyEnd") Number proxyEnd,
      @JsonProperty("dnsStart") Number dnsStart, @JsonProperty("dnsEnd") Number dnsEnd,
      @JsonProperty("connectStart") Number connectStart,
      @JsonProperty("connectEnd") Number connectEnd, @JsonProperty("sslStart") Number sslStart,
      @JsonProperty("sslEnd") Number sslEnd, @JsonProperty("workerStart") Number workerStart,
      @JsonProperty("workerReady") Number workerReady, @JsonProperty("sendStart") Number sendStart,
      @JsonProperty("sendEnd") Number sendEnd, @JsonProperty("pushStart") Number pushStart,
      @JsonProperty("pushEnd") Number pushEnd,
      @JsonProperty("receiveHeadersEnd") Number receiveHeadersEnd) {
    this.requestTime = requestTime;
    this.proxyStart = proxyStart;
    this.proxyEnd = proxyEnd;
    this.dnsStart = dnsStart;
    this.dnsEnd = dnsEnd;
    this.connectStart = connectStart;
    this.connectEnd = connectEnd;
    this.sslStart = sslStart;
    this.sslEnd = sslEnd;
    this.workerStart = workerStart;
    this.workerReady = workerReady;
    this.sendStart = sendStart;
    this.sendEnd = sendEnd;
    this.pushStart = pushStart;
    this.pushEnd = pushEnd;
    this.receiveHeadersEnd = receiveHeadersEnd;
  }

  public Number getRequestTime() {
    return requestTime;
  }

  public Number getProxyStart() {
    return proxyStart;
  }

  public Number getProxyEnd() {
    return proxyEnd;
  }

  public Number getDnsStart() {
    return dnsStart;
  }

  public Number getDnsEnd() {
    return dnsEnd;
  }

  public Number getConnectStart() {
    return connectStart;
  }

  public Number getConnectEnd() {
    return connectEnd;
  }

  public Number getSslStart() {
    return sslStart;
  }

  public Number getSslEnd() {
    return sslEnd;
  }

  public Number getWorkerStart() {
    return workerStart;
  }

  public Number getWorkerReady() {
    return workerReady;
  }

  public Number getSendStart() {
    return sendStart;
  }

  public Number getSendEnd() {
    return sendEnd;
  }

  public Number getPushStart() {
    return pushStart;
  }

  public Number getPushEnd() {
    return pushEnd;
  }

  public Number getReceiveHeadersEnd() {
    return receiveHeadersEnd;
  }

  public static ResourceTiming.Builder builder() {
    return new ResourceTiming.Builder();
  }

  public static final class Builder {
    private Number requestTime;

    private Number proxyStart;

    private Number proxyEnd;

    private Number dnsStart;

    private Number dnsEnd;

    private Number connectStart;

    private Number connectEnd;

    private Number sslStart;

    private Number sslEnd;

    private Number workerStart;

    private Number workerReady;

    private Number sendStart;

    private Number sendEnd;

    private Number pushStart;

    private Number pushEnd;

    private Number receiveHeadersEnd;

    private Builder() {
    }

    public ResourceTiming.Builder setRequestTime(Number requestTime) {
      this.requestTime = requestTime;
      return this;
    }

    public ResourceTiming.Builder setProxyStart(Number proxyStart) {
      this.proxyStart = proxyStart;
      return this;
    }

    public ResourceTiming.Builder setProxyEnd(Number proxyEnd) {
      this.proxyEnd = proxyEnd;
      return this;
    }

    public ResourceTiming.Builder setDnsStart(Number dnsStart) {
      this.dnsStart = dnsStart;
      return this;
    }

    public ResourceTiming.Builder setDnsEnd(Number dnsEnd) {
      this.dnsEnd = dnsEnd;
      return this;
    }

    public ResourceTiming.Builder setConnectStart(Number connectStart) {
      this.connectStart = connectStart;
      return this;
    }

    public ResourceTiming.Builder setConnectEnd(Number connectEnd) {
      this.connectEnd = connectEnd;
      return this;
    }

    public ResourceTiming.Builder setSslStart(Number sslStart) {
      this.sslStart = sslStart;
      return this;
    }

    public ResourceTiming.Builder setSslEnd(Number sslEnd) {
      this.sslEnd = sslEnd;
      return this;
    }

    public ResourceTiming.Builder setWorkerStart(Number workerStart) {
      this.workerStart = workerStart;
      return this;
    }

    public ResourceTiming.Builder setWorkerReady(Number workerReady) {
      this.workerReady = workerReady;
      return this;
    }

    public ResourceTiming.Builder setSendStart(Number sendStart) {
      this.sendStart = sendStart;
      return this;
    }

    public ResourceTiming.Builder setSendEnd(Number sendEnd) {
      this.sendEnd = sendEnd;
      return this;
    }

    public ResourceTiming.Builder setPushStart(Number pushStart) {
      this.pushStart = pushStart;
      return this;
    }

    public ResourceTiming.Builder setPushEnd(Number pushEnd) {
      this.pushEnd = pushEnd;
      return this;
    }

    public ResourceTiming.Builder setReceiveHeadersEnd(Number receiveHeadersEnd) {
      this.receiveHeadersEnd = receiveHeadersEnd;
      return this;
    }

    public ResourceTiming build() {
      return new ResourceTiming(requestTime, proxyStart, proxyEnd, dnsStart, dnsEnd, connectStart, connectEnd, sslStart, sslEnd, workerStart, workerReady, sendStart, sendEnd, pushStart, pushEnd, receiveHeadersEnd);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy