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

org.openqa.selenium.devtools.v120.database.Database 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.18.1
Show newest version
package org.openqa.selenium.devtools.v120.database;

import org.openqa.selenium.Beta;
import org.openqa.selenium.devtools.Command;
import org.openqa.selenium.devtools.Event;
import org.openqa.selenium.devtools.ConverterFunctions;
import java.util.Map;
import java.util.LinkedHashMap;
import org.openqa.selenium.json.JsonInput;

@Beta()
public class Database {

    /**
     * Disables database tracking, prevents database events from being sent to the client.
     */
    public static Command disable() {
        LinkedHashMap params = new LinkedHashMap<>();
        return new Command<>("Database.disable", Map.copyOf(params));
    }

    /**
     * Enables database tracking, database events will now be delivered to the client.
     */
    public static Command enable() {
        LinkedHashMap params = new LinkedHashMap<>();
        return new Command<>("Database.enable", Map.copyOf(params));
    }

    public static class ExecuteSQLResponse {

        private final java.util.Optional> columnNames;

        private final java.util.Optional> values;

        private final java.util.Optional sqlError;

        public ExecuteSQLResponse(java.util.Optional> columnNames, java.util.Optional> values, java.util.Optional sqlError) {
            this.columnNames = columnNames;
            this.values = values;
            this.sqlError = sqlError;
        }

        public java.util.Optional> getColumnNames() {
            return columnNames;
        }

        public java.util.Optional> getValues() {
            return values;
        }

        public java.util.Optional getSqlError() {
            return sqlError;
        }

        private static ExecuteSQLResponse fromJson(JsonInput input) {
            java.util.Optional> columnNames = java.util.Optional.empty();
            java.util.Optional> values = java.util.Optional.empty();
            java.util.Optional sqlError = java.util.Optional.empty();
            input.beginObject();
            while (input.hasNext()) {
                switch(input.nextName()) {
                    case "columnNames":
                        columnNames = java.util.Optional.ofNullable(input.readArray(java.lang.String.class));
                        break;
                    case "values":
                        values = java.util.Optional.ofNullable(input.readArray(java.lang.Object.class));
                        break;
                    case "sqlError":
                        sqlError = java.util.Optional.ofNullable(input.read(org.openqa.selenium.devtools.v120.database.model.Error.class));
                        break;
                    default:
                        input.skipValue();
                        break;
                }
            }
            input.endObject();
            return new ExecuteSQLResponse(columnNames, values, sqlError);
        }
    }

    public static Command executeSQL(org.openqa.selenium.devtools.v120.database.model.DatabaseId databaseId, java.lang.String query) {
        java.util.Objects.requireNonNull(databaseId, "databaseId is required");
        java.util.Objects.requireNonNull(query, "query is required");
        LinkedHashMap params = new LinkedHashMap<>();
        params.put("databaseId", databaseId);
        params.put("query", query);
        return new Command<>("Database.executeSQL", Map.copyOf(params), input -> input.read(org.openqa.selenium.devtools.v120.database.Database.ExecuteSQLResponse.class));
    }

    public static Command> getDatabaseTableNames(org.openqa.selenium.devtools.v120.database.model.DatabaseId databaseId) {
        java.util.Objects.requireNonNull(databaseId, "databaseId is required");
        LinkedHashMap params = new LinkedHashMap<>();
        params.put("databaseId", databaseId);
        return new Command<>("Database.getDatabaseTableNames", Map.copyOf(params), ConverterFunctions.map("tableNames", input -> input.readArray(java.lang.String.class)));
    }

    public static Event addDatabase() {
        return new Event<>("Database.addDatabase", ConverterFunctions.map("database", org.openqa.selenium.devtools.v120.database.model.Database.class));
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy