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

org.openqa.selenium.devtools.v88.network.model.Cookie Maven / Gradle / Ivy

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

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

/**
 * Cookie object
 */
public class Cookie {

    private final java.lang.String name;

    private final java.lang.String value;

    private final java.lang.String domain;

    private final java.lang.String path;

    private final java.lang.Number expires;

    private final java.lang.Integer size;

    private final java.lang.Boolean httpOnly;

    private final java.lang.Boolean secure;

    private final java.lang.Boolean session;

    private final java.util.Optional sameSite;

    private final org.openqa.selenium.devtools.v88.network.model.CookiePriority priority;

    public Cookie(java.lang.String name, java.lang.String value, java.lang.String domain, java.lang.String path, java.lang.Number expires, java.lang.Integer size, java.lang.Boolean httpOnly, java.lang.Boolean secure, java.lang.Boolean session, java.util.Optional sameSite, org.openqa.selenium.devtools.v88.network.model.CookiePriority priority) {
        this.name = java.util.Objects.requireNonNull(name, "name is required");
        this.value = java.util.Objects.requireNonNull(value, "value is required");
        this.domain = java.util.Objects.requireNonNull(domain, "domain is required");
        this.path = java.util.Objects.requireNonNull(path, "path is required");
        this.expires = java.util.Objects.requireNonNull(expires, "expires is required");
        this.size = java.util.Objects.requireNonNull(size, "size is required");
        this.httpOnly = java.util.Objects.requireNonNull(httpOnly, "httpOnly is required");
        this.secure = java.util.Objects.requireNonNull(secure, "secure is required");
        this.session = java.util.Objects.requireNonNull(session, "session is required");
        this.sameSite = sameSite;
        this.priority = java.util.Objects.requireNonNull(priority, "priority is required");
    }

    /**
     * Cookie name.
     */
    public java.lang.String getName() {
        return name;
    }

    /**
     * Cookie value.
     */
    public java.lang.String getValue() {
        return value;
    }

    /**
     * Cookie domain.
     */
    public java.lang.String getDomain() {
        return domain;
    }

    /**
     * Cookie path.
     */
    public java.lang.String getPath() {
        return path;
    }

    /**
     * Cookie expiration date as the number of seconds since the UNIX epoch.
     */
    public java.lang.Number getExpires() {
        return expires;
    }

    /**
     * Cookie size.
     */
    public java.lang.Integer getSize() {
        return size;
    }

    /**
     * True if cookie is http-only.
     */
    public java.lang.Boolean getHttpOnly() {
        return httpOnly;
    }

    /**
     * True if cookie is secure.
     */
    public java.lang.Boolean getSecure() {
        return secure;
    }

    /**
     * True in case of session cookie.
     */
    public java.lang.Boolean getSession() {
        return session;
    }

    /**
     * Cookie SameSite type.
     */
    public java.util.Optional getSameSite() {
        return sameSite;
    }

    /**
     * Cookie Priority
     */
    @Beta()
    public org.openqa.selenium.devtools.v88.network.model.CookiePriority getPriority() {
        return priority;
    }

    private static Cookie fromJson(JsonInput input) {
        java.lang.String name = null;
        java.lang.String value = null;
        java.lang.String domain = null;
        java.lang.String path = null;
        java.lang.Number expires = 0;
        java.lang.Integer size = 0;
        java.lang.Boolean httpOnly = false;
        java.lang.Boolean secure = false;
        java.lang.Boolean session = false;
        java.util.Optional sameSite = java.util.Optional.empty();
        org.openqa.selenium.devtools.v88.network.model.CookiePriority priority = null;
        input.beginObject();
        while (input.hasNext()) {
            switch(input.nextName()) {
                case "name":
                    name = input.nextString();
                    break;
                case "value":
                    value = input.nextString();
                    break;
                case "domain":
                    domain = input.nextString();
                    break;
                case "path":
                    path = input.nextString();
                    break;
                case "expires":
                    expires = input.nextNumber();
                    break;
                case "size":
                    size = input.nextNumber().intValue();
                    break;
                case "httpOnly":
                    httpOnly = input.nextBoolean();
                    break;
                case "secure":
                    secure = input.nextBoolean();
                    break;
                case "session":
                    session = input.nextBoolean();
                    break;
                case "sameSite":
                    sameSite = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v88.network.model.CookieSameSite.class));
                    break;
                case "priority":
                    priority = input.read(org.openqa.selenium.devtools.v88.network.model.CookiePriority.class);
                    break;
                default:
                    input.skipValue();
                    break;
            }
        }
        input.endObject();
        return new Cookie(name, value, domain, path, expires, size, httpOnly, secure, session, sameSite, priority);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy