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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy