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>(){});
}
}