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

org.openqa.selenium.devtools.v90.performancetimeline.model.LargestContentfulPaint Maven / Gradle / Ivy

Go to download

Selenium automates browsers. That's it! What you do with that power is entirely up to you.

There is a newer version: 4.0.0-beta-4
Show newest version
package org.openqa.selenium.devtools.v90.performancetimeline.model;

import org.openqa.selenium.Beta;
import org.openqa.selenium.json.JsonInput;

/**
 * See https://github.com/WICG/LargestContentfulPaint and largest_contentful_paint.idl
 */
public class LargestContentfulPaint {

    private final org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch renderTime;

    private final org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch loadTime;

    private final java.lang.Number size;

    private final java.util.Optional elementId;

    private final java.util.Optional url;

    private final java.util.Optional nodeId;

    public LargestContentfulPaint(org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch renderTime, org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch loadTime, java.lang.Number size, java.util.Optional elementId, java.util.Optional url, java.util.Optional nodeId) {
        this.renderTime = java.util.Objects.requireNonNull(renderTime, "renderTime is required");
        this.loadTime = java.util.Objects.requireNonNull(loadTime, "loadTime is required");
        this.size = java.util.Objects.requireNonNull(size, "size is required");
        this.elementId = elementId;
        this.url = url;
        this.nodeId = nodeId;
    }

    public org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch getRenderTime() {
        return renderTime;
    }

    public org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch getLoadTime() {
        return loadTime;
    }

    /**
     * The number of pixels being painted.
     */
    public java.lang.Number getSize() {
        return size;
    }

    /**
     * The id attribute of the element, if available.
     */
    public java.util.Optional getElementId() {
        return elementId;
    }

    /**
     * The URL of the image (may be trimmed).
     */
    public java.util.Optional getUrl() {
        return url;
    }

    public java.util.Optional getNodeId() {
        return nodeId;
    }

    private static LargestContentfulPaint fromJson(JsonInput input) {
        org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch renderTime = null;
        org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch loadTime = null;
        java.lang.Number size = 0;
        java.util.Optional elementId = java.util.Optional.empty();
        java.util.Optional url = java.util.Optional.empty();
        java.util.Optional nodeId = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "renderTime":
                    renderTime = input.read(org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch.class);
                    break;
                case "loadTime":
                    loadTime = input.read(org.openqa.selenium.devtools.v90.network.model.TimeSinceEpoch.class);
                    break;
                case "size":
                    size = input.nextNumber();
                    break;
                case "elementId":
                    elementId = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "url":
                    url = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "nodeId":
                    nodeId = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v90.dom.model.BackendNodeId.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new LargestContentfulPaint(renderTime, loadTime, size, elementId, url, nodeId);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy