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

org.openqa.selenium.devtools.storage.Storage 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-rc-1
Show newest version
package org.openqa.selenium.devtools.storage;

import org.openqa.selenium.Beta;
import org.openqa.selenium.devtools.Command;
import org.openqa.selenium.devtools.Event;
import org.openqa.selenium.devtools.ConverterFunctions;
import com.google.common.collect.ImmutableMap;
import org.openqa.selenium.json.JsonInput;

@Beta()
public class Storage {

    /**
     * Clears storage for origin.
     */
    public static Command clearDataForOrigin(java.lang.String origin, java.lang.String storageTypes) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        java.util.Objects.requireNonNull(storageTypes, "storageTypes is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        params.put("storageTypes", storageTypes);
        return new Command<>("Storage.clearDataForOrigin", params.build());
    }

    /**
     * Returns all browser cookies.
     */
    public static Command> getCookies(java.util.Optional browserContextId) {
        ImmutableMap.Builder params = ImmutableMap.builder();
        browserContextId.ifPresent(p -> params.put("browserContextId", p));
        return new Command<>("Storage.getCookies", params.build(), ConverterFunctions.map("cookies", new com.google.common.reflect.TypeToken>() {
        }.getType()));
    }

    /**
     * Sets given cookies.
     */
    public static Command setCookies(java.util.List cookies, java.util.Optional browserContextId) {
        java.util.Objects.requireNonNull(cookies, "cookies is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("cookies", cookies);
        browserContextId.ifPresent(p -> params.put("browserContextId", p));
        return new Command<>("Storage.setCookies", params.build());
    }

    /**
     * Clears cookies.
     */
    public static Command clearCookies(java.util.Optional browserContextId) {
        ImmutableMap.Builder params = ImmutableMap.builder();
        browserContextId.ifPresent(p -> params.put("browserContextId", p));
        return new Command<>("Storage.clearCookies", params.build());
    }

    public static class GetUsageAndQuotaResponse {

        private final java.lang.Number usage;

        private final java.lang.Number quota;

        private final java.util.List usageBreakdown;

        public GetUsageAndQuotaResponse(java.lang.Number usage, java.lang.Number quota, java.util.List usageBreakdown) {
            this.usage = java.util.Objects.requireNonNull(usage, "usage is required");
            this.quota = java.util.Objects.requireNonNull(quota, "quota is required");
            this.usageBreakdown = java.util.Objects.requireNonNull(usageBreakdown, "usageBreakdown is required");
        }

        /**
         * Storage usage (bytes).
         */
        public java.lang.Number getUsage() {
            return usage;
        }

        /**
         * Storage quota (bytes).
         */
        public java.lang.Number getQuota() {
            return quota;
        }

        /**
         * Storage usage per type (bytes).
         */
        public java.util.List getUsageBreakdown() {
            return usageBreakdown;
        }

        private static GetUsageAndQuotaResponse fromJson(JsonInput input) {
            java.lang.Number usage = null;
            java.lang.Number quota = null;
            java.util.List usageBreakdown = null;
            input.beginObject();
            while (input.hasNext()) {
                switch(input.nextName()) {
                    case "usage":
                        usage = input.nextNumber();
                        break;
                    case "quota":
                        quota = input.nextNumber();
                        break;
                    case "usageBreakdown":
                        usageBreakdown = input.read(new com.google.common.reflect.TypeToken>() {
                        }.getType());
                        break;
                    default:
                        input.skipValue();
                        break;
                }
            }
            input.endObject();
            return new GetUsageAndQuotaResponse(usage, quota, usageBreakdown);
        }
    }

    /**
     * Returns usage and quota in bytes.
     */
    public static Command getUsageAndQuota(java.lang.String origin) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        return new Command<>("Storage.getUsageAndQuota", params.build(), input -> input.read(org.openqa.selenium.devtools.storage.Storage.GetUsageAndQuotaResponse.class));
    }

    /**
     * Registers origin to be notified when an update occurs to its cache storage list.
     */
    public static Command trackCacheStorageForOrigin(java.lang.String origin) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        return new Command<>("Storage.trackCacheStorageForOrigin", params.build());
    }

    /**
     * Registers origin to be notified when an update occurs to its IndexedDB.
     */
    public static Command trackIndexedDBForOrigin(java.lang.String origin) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        return new Command<>("Storage.trackIndexedDBForOrigin", params.build());
    }

    /**
     * Unregisters origin from receiving notifications for cache storage.
     */
    public static Command untrackCacheStorageForOrigin(java.lang.String origin) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        return new Command<>("Storage.untrackCacheStorageForOrigin", params.build());
    }

    /**
     * Unregisters origin from receiving notifications for IndexedDB.
     */
    public static Command untrackIndexedDBForOrigin(java.lang.String origin) {
        java.util.Objects.requireNonNull(origin, "origin is required");
        ImmutableMap.Builder params = ImmutableMap.builder();
        params.put("origin", origin);
        return new Command<>("Storage.untrackIndexedDBForOrigin", params.build());
    }

    public static Event cacheStorageContentUpdated() {
        return new Event<>("Storage.cacheStorageContentUpdated", input -> input.read(org.openqa.selenium.devtools.storage.model.CacheStorageContentUpdated.class));
    }

    public static Event cacheStorageListUpdated() {
        return new Event<>("Storage.cacheStorageListUpdated", ConverterFunctions.map("origin", java.lang.String.class));
    }

    public static Event indexedDBContentUpdated() {
        return new Event<>("Storage.indexedDBContentUpdated", input -> input.read(org.openqa.selenium.devtools.storage.model.IndexedDBContentUpdated.class));
    }

    public static Event indexedDBListUpdated() {
        return new Event<>("Storage.indexedDBListUpdated", ConverterFunctions.map("origin", java.lang.String.class));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy