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

com.hubspot.chrome.devtools.client.core.profiler.Profile 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;

/**
 * Profile.
 */
public final class Profile {
  private List nodes;

  private Number startTime;

  private Number endTime;

  private List samples;

  private List timeDeltas;

  @JsonCreator
  public Profile(@JsonProperty("nodes") List nodes,
      @JsonProperty("startTime") Number startTime, @JsonProperty("endTime") Number endTime,
      @JsonProperty("samples") List samples,
      @JsonProperty("timeDeltas") List timeDeltas) {
    this.nodes = nodes;
    this.startTime = startTime;
    this.endTime = endTime;
    this.samples = samples;
    this.timeDeltas = timeDeltas;
  }

  public List getNodes() {
    return nodes;
  }

  public Number getStartTime() {
    return startTime;
  }

  public Number getEndTime() {
    return endTime;
  }

  public List getSamples() {
    return samples;
  }

  public List getTimeDeltas() {
    return timeDeltas;
  }

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

  public static final class Builder {
    private List nodes;

    private Number startTime;

    private Number endTime;

    private List samples;

    private List timeDeltas;

    private Builder() {
    }

    public Profile.Builder setNodes(List nodes) {
      this.nodes = nodes;
      return this;
    }

    public Profile.Builder setStartTime(Number startTime) {
      this.startTime = startTime;
      return this;
    }

    public Profile.Builder setEndTime(Number endTime) {
      this.endTime = endTime;
      return this;
    }

    public Profile.Builder setSamples(List samples) {
      this.samples = samples;
      return this;
    }

    public Profile.Builder setTimeDeltas(List timeDeltas) {
      this.timeDeltas = timeDeltas;
      return this;
    }

    public Profile build() {
      return new Profile(nodes, startTime, endTime, samples, timeDeltas);
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy