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

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

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.chrome.devtools.client.core.runtime.StackTrace;

/**
 * Information about the request initiator.
 */
public final class Initiator {
  private String type;

  private StackTrace stack;

  private String url;

  private Number lineNumber;

  @JsonCreator
  public Initiator(@JsonProperty("type") String type, @JsonProperty("stack") StackTrace stack,
      @JsonProperty("url") String url, @JsonProperty("lineNumber") Number lineNumber) {
    this.type = type;
    this.stack = stack;
    this.url = url;
    this.lineNumber = lineNumber;
  }

  public String getType() {
    return type;
  }

  public StackTrace getStack() {
    return stack;
  }

  public String getUrl() {
    return url;
  }

  public Number getLineNumber() {
    return lineNumber;
  }

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

  public static final class Builder {
    private String type;

    private StackTrace stack;

    private String url;

    private Number lineNumber;

    private Builder() {
    }

    public Initiator.Builder setType(String type) {
      this.type = type;
      return this;
    }

    public Initiator.Builder setStack(StackTrace stack) {
      this.stack = stack;
      return this;
    }

    public Initiator.Builder setUrl(String url) {
      this.url = url;
      return this;
    }

    public Initiator.Builder setLineNumber(Number lineNumber) {
      this.lineNumber = lineNumber;
      return this;
    }

    public Initiator build() {
      return new Initiator(type, stack, url, lineNumber);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy