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

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

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

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

/**
 * This struct holds a list of optional fields with additional information
 * specific to the kind of issue. When adding a new issue code, please also
 * add a new optional field to this type.
 */
public class InspectorIssueDetails {

    private final java.util.Optional sameSiteCookieIssueDetails;

    private final java.util.Optional mixedContentIssueDetails;

    private final java.util.Optional blockedByResponseIssueDetails;

    private final java.util.Optional heavyAdIssueDetails;

    private final java.util.Optional contentSecurityPolicyIssueDetails;

    public InspectorIssueDetails(java.util.Optional sameSiteCookieIssueDetails, java.util.Optional mixedContentIssueDetails, java.util.Optional blockedByResponseIssueDetails, java.util.Optional heavyAdIssueDetails, java.util.Optional contentSecurityPolicyIssueDetails) {
        this.sameSiteCookieIssueDetails = sameSiteCookieIssueDetails;
        this.mixedContentIssueDetails = mixedContentIssueDetails;
        this.blockedByResponseIssueDetails = blockedByResponseIssueDetails;
        this.heavyAdIssueDetails = heavyAdIssueDetails;
        this.contentSecurityPolicyIssueDetails = contentSecurityPolicyIssueDetails;
    }

    public java.util.Optional getSameSiteCookieIssueDetails() {
        return sameSiteCookieIssueDetails;
    }

    public java.util.Optional getMixedContentIssueDetails() {
        return mixedContentIssueDetails;
    }

    public java.util.Optional getBlockedByResponseIssueDetails() {
        return blockedByResponseIssueDetails;
    }

    public java.util.Optional getHeavyAdIssueDetails() {
        return heavyAdIssueDetails;
    }

    public java.util.Optional getContentSecurityPolicyIssueDetails() {
        return contentSecurityPolicyIssueDetails;
    }

    private static InspectorIssueDetails fromJson(JsonInput input) {
        java.util.Optional sameSiteCookieIssueDetails = java.util.Optional.empty();
        java.util.Optional mixedContentIssueDetails = java.util.Optional.empty();
        java.util.Optional blockedByResponseIssueDetails = java.util.Optional.empty();
        java.util.Optional heavyAdIssueDetails = java.util.Optional.empty();
        java.util.Optional contentSecurityPolicyIssueDetails = java.util.Optional.empty();
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "sameSiteCookieIssueDetails":
                    sameSiteCookieIssueDetails = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.SameSiteCookieIssueDetails.class));
                    break;
                case "mixedContentIssueDetails":
                    mixedContentIssueDetails = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.MixedContentIssueDetails.class));
                    break;
                case "blockedByResponseIssueDetails":
                    blockedByResponseIssueDetails = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.BlockedByResponseIssueDetails.class));
                    break;
                case "heavyAdIssueDetails":
                    heavyAdIssueDetails = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.HeavyAdIssueDetails.class));
                    break;
                case "contentSecurityPolicyIssueDetails":
                    contentSecurityPolicyIssueDetails = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.audits.model.ContentSecurityPolicyIssueDetails.class));
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new InspectorIssueDetails(sameSiteCookieIssueDetails, mixedContentIssueDetails, blockedByResponseIssueDetails, heavyAdIssueDetails, contentSecurityPolicyIssueDetails);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy