com.hubspot.chrome.devtools.client.core.runtime.CallFrame Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.runtime;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Stack entry for runtime errors and assertions.
*/
public final class CallFrame {
private String functionName;
private ScriptId scriptId;
private String url;
private Integer lineNumber;
private Integer columnNumber;
@JsonCreator
public CallFrame(@JsonProperty("functionName") String functionName,
@JsonProperty("scriptId") ScriptId scriptId, @JsonProperty("url") String url,
@JsonProperty("lineNumber") Integer lineNumber,
@JsonProperty("columnNumber") Integer columnNumber) {
this.functionName = functionName;
this.scriptId = scriptId;
this.url = url;
this.lineNumber = lineNumber;
this.columnNumber = columnNumber;
}
public String getFunctionName() {
return functionName;
}
public ScriptId getScriptId() {
return scriptId;
}
public String getUrl() {
return url;
}
public Integer getLineNumber() {
return lineNumber;
}
public Integer getColumnNumber() {
return columnNumber;
}
public static CallFrame.Builder builder() {
return new CallFrame.Builder();
}
public static final class Builder {
private String functionName;
private ScriptId scriptId;
private String url;
private Integer lineNumber;
private Integer columnNumber;
private Builder() {
}
public CallFrame.Builder setFunctionName(String functionName) {
this.functionName = functionName;
return this;
}
public CallFrame.Builder setScriptId(ScriptId scriptId) {
this.scriptId = scriptId;
return this;
}
public CallFrame.Builder setUrl(String url) {
this.url = url;
return this;
}
public CallFrame.Builder setLineNumber(Integer lineNumber) {
this.lineNumber = lineNumber;
return this;
}
public CallFrame.Builder setColumnNumber(Integer columnNumber) {
this.columnNumber = columnNumber;
return this;
}
public CallFrame build() {
return new CallFrame(functionName, scriptId, url, lineNumber, columnNumber);
}
}
}