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

com.hubspot.chrome.devtools.client.core.debugger.CallFrame 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.RemoteObject;
import java.util.List;

/**
 * JavaScript call frame. Array of call frames form the call stack.
 */
public final class CallFrame {
  private CallFrameId callFrameId;

  private String functionName;

  private Location functionLocation;

  private Location location;

  private String url;

  private List scopeChain;

  private RemoteObject returnValue;

  @JsonCreator
  public CallFrame(@JsonProperty("callFrameId") CallFrameId callFrameId,
      @JsonProperty("functionName") String functionName,
      @JsonProperty("functionLocation") Location functionLocation,
      @JsonProperty("location") Location location, @JsonProperty("url") String url,
      @JsonProperty("scopeChain") List scopeChain,
      @JsonProperty("returnValue") RemoteObject returnValue) {
    this.callFrameId = callFrameId;
    this.functionName = functionName;
    this.functionLocation = functionLocation;
    this.location = location;
    this.url = url;
    this.scopeChain = scopeChain;
    this.returnValue = returnValue;
  }

  public CallFrameId getCallFrameId() {
    return callFrameId;
  }

  public String getFunctionName() {
    return functionName;
  }

  public Location getFunctionLocation() {
    return functionLocation;
  }

  public Location getLocation() {
    return location;
  }

  public String getUrl() {
    return url;
  }

  public List getScopeChain() {
    return scopeChain;
  }

  public RemoteObject getReturnValue() {
    return returnValue;
  }

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

  public static final class Builder {
    private CallFrameId callFrameId;

    private String functionName;

    private Location functionLocation;

    private Location location;

    private String url;

    private List scopeChain;

    private RemoteObject returnValue;

    private Builder() {
    }

    public CallFrame.Builder setCallFrameId(CallFrameId callFrameId) {
      this.callFrameId = callFrameId;
      return this;
    }

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

    public CallFrame.Builder setFunctionLocation(Location functionLocation) {
      this.functionLocation = functionLocation;
      return this;
    }

    public CallFrame.Builder setLocation(Location location) {
      this.location = location;
      return this;
    }

    public CallFrame.Builder setUrl(String url) {
      this.url = url;
      return this;
    }

    public CallFrame.Builder setScopeChain(List scopeChain) {
      this.scopeChain = scopeChain;
      return this;
    }

    public CallFrame.Builder setReturnValue(RemoteObject returnValue) {
      this.returnValue = returnValue;
      return this;
    }

    public CallFrame build() {
      return new CallFrame(callFrameId, functionName, functionLocation, location, url, scopeChain, returnValue);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy