org.openqa.selenium.devtools.v88.tracing.model.TraceConfig Maven / Gradle / Ivy
package org.openqa.selenium.devtools.v88.tracing.model;
import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;
public class TraceConfig {
public enum RecordMode {
RECORDUNTILFULL("recordUntilFull"), RECORDCONTINUOUSLY("recordContinuously"), RECORDASMUCHASPOSSIBLE("recordAsMuchAsPossible"), ECHOTOCONSOLE("echoToConsole");
private String value;
RecordMode(String value) {
this.value = value;
}
public static RecordMode fromString(String s) {
return java.util.Arrays.stream(RecordMode.values()).filter(rs -> rs.value.equalsIgnoreCase(s)).findFirst().orElseThrow(() -> new org.openqa.selenium.devtools.DevToolsException("Given value " + s + " is not found within RecordMode "));
}
public String toString() {
return value;
}
public String toJson() {
return value;
}
private static RecordMode fromJson(JsonInput input) {
return fromString(input.nextString());
}
}
private final java.util.Optional recordMode;
private final java.util.Optional enableSampling;
private final java.util.Optional enableSystrace;
private final java.util.Optional enableArgumentFilter;
private final java.util.Optional> includedCategories;
private final java.util.Optional> excludedCategories;
private final java.util.Optional> syntheticDelays;
private final java.util.Optional memoryDumpConfig;
public TraceConfig(java.util.Optional recordMode, java.util.Optional enableSampling, java.util.Optional enableSystrace, java.util.Optional enableArgumentFilter, java.util.Optional> includedCategories, java.util.Optional> excludedCategories, java.util.Optional> syntheticDelays, java.util.Optional memoryDumpConfig) {
this.recordMode = recordMode;
this.enableSampling = enableSampling;
this.enableSystrace = enableSystrace;
this.enableArgumentFilter = enableArgumentFilter;
this.includedCategories = includedCategories;
this.excludedCategories = excludedCategories;
this.syntheticDelays = syntheticDelays;
this.memoryDumpConfig = memoryDumpConfig;
}
/**
* Controls how the trace buffer stores data.
*/
public java.util.Optional getRecordMode() {
return recordMode;
}
/**
* Turns on JavaScript stack sampling.
*/
public java.util.Optional getEnableSampling() {
return enableSampling;
}
/**
* Turns on system tracing.
*/
public java.util.Optional getEnableSystrace() {
return enableSystrace;
}
/**
* Turns on argument filter.
*/
public java.util.Optional getEnableArgumentFilter() {
return enableArgumentFilter;
}
/**
* Included category filters.
*/
public java.util.Optional> getIncludedCategories() {
return includedCategories;
}
/**
* Excluded category filters.
*/
public java.util.Optional> getExcludedCategories() {
return excludedCategories;
}
/**
* Configuration to synthesize the delays in tracing.
*/
public java.util.Optional> getSyntheticDelays() {
return syntheticDelays;
}
/**
* Configuration for memory dump triggers. Used only when "memory-infra" category is enabled.
*/
public java.util.Optional getMemoryDumpConfig() {
return memoryDumpConfig;
}
private static TraceConfig fromJson(JsonInput input) {
java.util.Optional recordMode = java.util.Optional.empty();
java.util.Optional enableSampling = java.util.Optional.empty();
java.util.Optional enableSystrace = java.util.Optional.empty();
java.util.Optional enableArgumentFilter = java.util.Optional.empty();
java.util.Optional> includedCategories = java.util.Optional.empty();
java.util.Optional> excludedCategories = java.util.Optional.empty();
java.util.Optional> syntheticDelays = java.util.Optional.empty();
java.util.Optional memoryDumpConfig = java.util.Optional.empty();
input.beginObject();
while (input.hasNext()) {
switch(input.nextName()) {
case "recordMode":
recordMode = java.util.Optional.ofNullable(RecordMode.fromString(input.nextString()));
break;
case "enableSampling":
enableSampling = java.util.Optional.ofNullable(input.nextBoolean());
break;
case "enableSystrace":
enableSystrace = java.util.Optional.ofNullable(input.nextBoolean());
break;
case "enableArgumentFilter":
enableArgumentFilter = java.util.Optional.ofNullable(input.nextBoolean());
break;
case "includedCategories":
includedCategories = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "excludedCategories":
excludedCategories = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "syntheticDelays":
syntheticDelays = java.util.Optional.ofNullable(input.read(new com.google.common.reflect.TypeToken>() {
}.getType()));
break;
case "memoryDumpConfig":
memoryDumpConfig = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.tracing.model.MemoryDumpConfig.class));
break;
default:
input.skipValue();
break;
}
}
input.endObject();
return new TraceConfig(recordMode, enableSampling, enableSystrace, enableArgumentFilter, includedCategories, excludedCategories, syntheticDelays, memoryDumpConfig);
}
}