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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy