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);
}
}
}