com.hubspot.chrome.devtools.client.core.debugger.Location Maven / Gradle / Ivy
package com.hubspot.chrome.devtools.client.core.debugger;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.hubspot.chrome.devtools.client.core.runtime.ScriptId;
/**
* Location in the source code.
*/
public final class Location {
private ScriptId scriptId;
private Integer lineNumber;
private Integer columnNumber;
@JsonCreator
public Location(@JsonProperty("scriptId") ScriptId scriptId,
@JsonProperty("lineNumber") Integer lineNumber,
@JsonProperty("columnNumber") Integer columnNumber) {
this.scriptId = scriptId;
this.lineNumber = lineNumber;
this.columnNumber = columnNumber;
}
public ScriptId getScriptId() {
return scriptId;
}
public Integer getLineNumber() {
return lineNumber;
}
public Integer getColumnNumber() {
return columnNumber;
}
public static Location.Builder builder() {
return new Location.Builder();
}
public static final class Builder {
private ScriptId scriptId;
private Integer lineNumber;
private Integer columnNumber;
private Builder() {
}
public Location.Builder setScriptId(ScriptId scriptId) {
this.scriptId = scriptId;
return this;
}
public Location.Builder setLineNumber(Integer lineNumber) {
this.lineNumber = lineNumber;
return this;
}
public Location.Builder setColumnNumber(Integer columnNumber) {
this.columnNumber = columnNumber;
return this;
}
public Location build() {
return new Location(scriptId, lineNumber, columnNumber);
}
}
}