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

org.openqa.selenium.devtools.v88.page.model.FrameResource Maven / Gradle / Ivy

package org.openqa.selenium.devtools.v88.page.model;

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

/**
 * Information about the Resource on the page.
 */
@org.openqa.selenium.Beta()
public class FrameResource {

    private final java.lang.String url;

    private final org.openqa.selenium.devtools.v88.network.model.ResourceType type;

    private final java.lang.String mimeType;

    private final java.util.Optional lastModified;

    private final java.util.Optional contentSize;

    private final java.util.Optional failed;

    private final java.util.Optional canceled;

    public FrameResource(java.lang.String url, org.openqa.selenium.devtools.v88.network.model.ResourceType type, java.lang.String mimeType, java.util.Optional lastModified, java.util.Optional contentSize, java.util.Optional failed, java.util.Optional canceled) {
        this.url = java.util.Objects.requireNonNull(url, "url is required");
        this.type = java.util.Objects.requireNonNull(type, "type is required");
        this.mimeType = java.util.Objects.requireNonNull(mimeType, "mimeType is required");
        this.lastModified = lastModified;
        this.contentSize = contentSize;
        this.failed = failed;
        this.canceled = canceled;
    }

    /**
     * Resource URL.
     */
    public java.lang.String getUrl() {
        return url;
    }

    /**
     * Type of this resource.
     */
    public org.openqa.selenium.devtools.v88.network.model.ResourceType getType() {
        return type;
    }

    /**
     * Resource mimeType as determined by the browser.
     */
    public java.lang.String getMimeType() {
        return mimeType;
    }

    /**
     * last-modified timestamp as reported by server.
     */
    public java.util.Optional getLastModified() {
        return lastModified;
    }

    /**
     * Resource content size.
     */
    public java.util.Optional getContentSize() {
        return contentSize;
    }

    /**
     * True if the resource failed to load.
     */
    public java.util.Optional getFailed() {
        return failed;
    }

    /**
     * True if the resource was canceled during loading.
     */
    public java.util.Optional getCanceled() {
        return canceled;
    }

    private static FrameResource fromJson(JsonInput input) {
        java.lang.String url = null;
        org.openqa.selenium.devtools.v88.network.model.ResourceType type = null;
        java.lang.String mimeType = null;
        java.util.Optional lastModified = java.util.Optional.empty();
        java.util.Optional contentSize = java.util.Optional.empty();
        java.util.Optional failed = java.util.Optional.empty();
        java.util.Optional canceled = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "url":
                    url = input.nextString();
                    break;
                case "type":
                    type = input.read(org.openqa.selenium.devtools.v88.network.model.ResourceType.class);
                    break;
                case "mimeType":
                    mimeType = input.nextString();
                    break;
                case "lastModified":
                    lastModified = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.network.model.TimeSinceEpoch.class));
                    break;
                case "contentSize":
                    contentSize = java.util.Optional.ofNullable(input.nextNumber());
                    break;
                case "failed":
                    failed = java.util.Optional.ofNullable(input.nextBoolean());
                    break;
                case "canceled":
                    canceled = java.util.Optional.ofNullable(input.nextBoolean());
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new FrameResource(url, type, mimeType, lastModified, contentSize, failed, canceled);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy