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

org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieIssueDetails Maven / Gradle / Ivy

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

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

/**
 * This information is currently necessary, as the front-end has a difficult
 * time finding a specific cookie. With this, we can convey specific error
 * information without the cookie.
 */
public class SameSiteCookieIssueDetails {

    private final org.openqa.selenium.devtools.v88.audits.model.AffectedCookie cookie;

    private final java.util.List cookieWarningReasons;

    private final java.util.List cookieExclusionReasons;

    private final org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieOperation operation;

    private final java.util.Optional siteForCookies;

    private final java.util.Optional cookieUrl;

    private final java.util.Optional request;

    public SameSiteCookieIssueDetails(org.openqa.selenium.devtools.v88.audits.model.AffectedCookie cookie, java.util.List cookieWarningReasons, java.util.List cookieExclusionReasons, org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieOperation operation, java.util.Optional siteForCookies, java.util.Optional cookieUrl, java.util.Optional request) {
        this.cookie = java.util.Objects.requireNonNull(cookie, "cookie is required");
        this.cookieWarningReasons = java.util.Objects.requireNonNull(cookieWarningReasons, "cookieWarningReasons is required");
        this.cookieExclusionReasons = java.util.Objects.requireNonNull(cookieExclusionReasons, "cookieExclusionReasons is required");
        this.operation = java.util.Objects.requireNonNull(operation, "operation is required");
        this.siteForCookies = siteForCookies;
        this.cookieUrl = cookieUrl;
        this.request = request;
    }

    public org.openqa.selenium.devtools.v88.audits.model.AffectedCookie getCookie() {
        return cookie;
    }

    public java.util.List getCookieWarningReasons() {
        return cookieWarningReasons;
    }

    public java.util.List getCookieExclusionReasons() {
        return cookieExclusionReasons;
    }

    /**
     * Optionally identifies the site-for-cookies and the cookie url, which
     * may be used by the front-end as additional context.
     */
    public org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieOperation getOperation() {
        return operation;
    }

    public java.util.Optional getSiteForCookies() {
        return siteForCookies;
    }

    public java.util.Optional getCookieUrl() {
        return cookieUrl;
    }

    public java.util.Optional getRequest() {
        return request;
    }

    private static SameSiteCookieIssueDetails fromJson(JsonInput input) {
        org.openqa.selenium.devtools.v88.audits.model.AffectedCookie cookie = null;
        java.util.List cookieWarningReasons = null;
        java.util.List cookieExclusionReasons = null;
        org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieOperation operation = null;
        java.util.Optional siteForCookies = java.util.Optional.empty();
        java.util.Optional cookieUrl = java.util.Optional.empty();
        java.util.Optional request = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "cookie":
                    cookie = input.read(org.openqa.selenium.devtools.v88.audits.model.AffectedCookie.class);
                    break;
                case "cookieWarningReasons":
                    cookieWarningReasons = input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType());
                    break;
                case "cookieExclusionReasons":
                    cookieExclusionReasons = input.read(new com.google.common.reflect.TypeToken>() {
                    }.getType());
                    break;
                case "operation":
                    operation = input.read(org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieOperation.class);
                    break;
                case "siteForCookies":
                    siteForCookies = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "cookieUrl":
                    cookieUrl = java.util.Optional.ofNullable(input.nextString());
                    break;
                case "request":
                    request = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.AffectedRequest.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new SameSiteCookieIssueDetails(cookie, cookieWarningReasons, cookieExclusionReasons, operation, siteForCookies, cookieUrl, request);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy