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

com.hubspot.chrome.devtools.client.core.profiler.ScriptCoverage Maven / Gradle / Ivy

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.chrome.devtools.client.core.runtime.ScriptId;
import java.util.List;

/**
 * Coverage data for a JavaScript script.
 */
public final class ScriptCoverage {
  private ScriptId scriptId;

  private String url;

  private List functions;

  @JsonCreator
  public ScriptCoverage(@JsonProperty("scriptId") ScriptId scriptId,
      @JsonProperty("url") String url,
      @JsonProperty("functions") List functions) {
    this.scriptId = scriptId;
    this.url = url;
    this.functions = functions;
  }

  public ScriptId getScriptId() {
    return scriptId;
  }

  public String getUrl() {
    return url;
  }

  public List getFunctions() {
    return functions;
  }

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

  public static final class Builder {
    private ScriptId scriptId;

    private String url;

    private List functions;

    private Builder() {
    }

    public ScriptCoverage.Builder setScriptId(ScriptId scriptId) {
      this.scriptId = scriptId;
      return this;
    }

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

    public ScriptCoverage.Builder setFunctions(List functions) {
      this.functions = functions;
      return this;
    }

    public ScriptCoverage build() {
      return new ScriptCoverage(scriptId, url, functions);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy