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

com.hubspot.chrome.devtools.client.core.database.Database Maven / Gradle / Ivy

package com.hubspot.chrome.devtools.client.core.database;

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.hubspot.chrome.devtools.base.ChromeRequest;
import com.hubspot.chrome.devtools.base.ChromeSessionCore;
import java.util.List;
import java.util.concurrent.CompletableFuture;

public final class Database {
  ChromeSessionCore chromeSession;

  ObjectMapper objectMapper;

  public Database(ChromeSessionCore chromeSession, ObjectMapper objectMapper) {
    this.chromeSession = chromeSession;
    this.objectMapper = objectMapper;
  }

  /**
   * Disables database tracking, prevents database events from being sent to the client.
   */
  public void disable() {
    ChromeRequest chromeRequest = new ChromeRequest("Database.disable");
    chromeSession.send(chromeRequest);
  }

  /**
   * Disables database tracking, prevents database events from being sent to the client.
   */
  public void disableAsync() {
    ChromeRequest chromeRequest = new ChromeRequest("Database.disable");
    chromeSession.sendAsync(chromeRequest);
  }

  /**
   * Enables database tracking, database events will now be delivered to the client.
   */
  public void enable() {
    ChromeRequest chromeRequest = new ChromeRequest("Database.enable");
    chromeSession.send(chromeRequest);
  }

  /**
   * Enables database tracking, database events will now be delivered to the client.
   */
  public void enableAsync() {
    ChromeRequest chromeRequest = new ChromeRequest("Database.enable");
    chromeSession.sendAsync(chromeRequest);
  }

  public ExecuteSQLResult executeSQL(DatabaseId databaseId, String query) {
    ChromeRequest chromeRequest = new ChromeRequest("Database.executeSQL");
    chromeRequest
        .putParams("databaseId", databaseId)
        .putParams("query", query);
    return chromeSession.send(chromeRequest, new TypeReference(){});
  }

  public CompletableFuture executeSQLAsync(DatabaseId databaseId, String query) {
    ChromeRequest chromeRequest = new ChromeRequest("Database.executeSQL");
    chromeRequest
        .putParams("databaseId", databaseId)
        .putParams("query", query);
    return chromeSession.sendAsync(chromeRequest, new TypeReference(){});
  }

  public List getDatabaseTableNames(DatabaseId databaseId) {
    ChromeRequest chromeRequest = new ChromeRequest("Database.getDatabaseTableNames");
    chromeRequest
        .putParams("databaseId", databaseId);
    return chromeSession.send(chromeRequest, new TypeReference>(){});
  }

  public CompletableFuture> getDatabaseTableNamesAsync(DatabaseId databaseId) {
    ChromeRequest chromeRequest = new ChromeRequest("Database.getDatabaseTableNames");
    chromeRequest
        .putParams("databaseId", databaseId);
    return chromeSession.sendAsync(chromeRequest, new TypeReference>(){});
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy