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

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

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

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.util.List;

/**
 * Coverage data for a JavaScript function.
 */
public final class FunctionCoverage {
  private String functionName;

  private List ranges;

  private Boolean isBlockCoverage;

  @JsonCreator
  public FunctionCoverage(@JsonProperty("functionName") String functionName,
      @JsonProperty("ranges") List ranges,
      @JsonProperty("isBlockCoverage") Boolean isBlockCoverage) {
    this.functionName = functionName;
    this.ranges = ranges;
    this.isBlockCoverage = isBlockCoverage;
  }

  public String getFunctionName() {
    return functionName;
  }

  public List getRanges() {
    return ranges;
  }

  public Boolean getIsBlockCoverage() {
    return isBlockCoverage;
  }

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

  public static final class Builder {
    private String functionName;

    private List ranges;

    private Boolean isBlockCoverage;

    private Builder() {
    }

    public FunctionCoverage.Builder setFunctionName(String functionName) {
      this.functionName = functionName;
      return this;
    }

    public FunctionCoverage.Builder setRanges(List ranges) {
      this.ranges = ranges;
      return this;
    }

    public FunctionCoverage.Builder setIsBlockCoverage(Boolean isBlockCoverage) {
      this.isBlockCoverage = isBlockCoverage;
      return this;
    }

    public FunctionCoverage build() {
      return new FunctionCoverage(functionName, ranges, isBlockCoverage);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy