
com.arangodb.ArangoDatabaseAsync Maven / Gradle / Ivy
The newest version!
/*
* DISCLAIMER
*
* Copyright 2016 ArangoDB GmbH, Cologne, Germany
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* Copyright holder is ArangoDB GmbH, Cologne, Germany
*/
package com.arangodb;
import com.arangodb.entity.*;
import com.arangodb.entity.arangosearch.analyzer.SearchAnalyzer;
import com.arangodb.model.*;
import com.arangodb.model.arangosearch.AnalyzerDeleteOptions;
import com.arangodb.model.arangosearch.ArangoSearchCreateOptions;
import com.arangodb.model.arangosearch.SearchAliasCreateOptions;
import javax.annotation.concurrent.ThreadSafe;
import java.util.Collection;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
/**
* Asynchronous version of {@link ArangoDatabase}
*/
@ThreadSafe
public interface ArangoDatabaseAsync extends ArangoSerdeAccessor {
/**
* @return main entry point for async API
*/
ArangoDBAsync arango();
/**
* @return database name
*/
String name();
/**
* Asynchronous version of {@link ArangoDatabase#getVersion()}
*/
CompletableFuture getVersion();
/**
* Asynchronous version of {@link ArangoDatabase#getEngine()}
*/
CompletableFuture getEngine();
/**
* Asynchronous version of {@link ArangoDatabase#exists()}
*/
CompletableFuture exists();
/**
* Asynchronous version of {@link ArangoDatabase#getAccessibleDatabases()}
*/
CompletableFuture> getAccessibleDatabases();
/**
* Returns a {@code ArangoCollectionAsync} instance for the given collection name.
*
* @param name Name of the collection
* @return collection handler
*/
ArangoCollectionAsync collection(String name);
/**
* Asynchronous version of {@link ArangoDatabase#createCollection(String)}
*/
CompletableFuture createCollection(String name);
/**
* Asynchronous version of {@link ArangoDatabase#createCollection(String, CollectionCreateOptions)}
*/
CompletableFuture createCollection(String name, CollectionCreateOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#getCollections()}
*/
CompletableFuture> getCollections();
/**
* Asynchronous version of {@link ArangoDatabase#getCollections(CollectionsReadOptions)}
*/
CompletableFuture> getCollections(CollectionsReadOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#getIndex(String)}
*/
CompletableFuture getIndex(String id);
/**
* Asynchronous version of {@link ArangoDatabase#deleteIndex(String)}
*/
CompletableFuture deleteIndex(String id);
/**
* Asynchronous version of {@link ArangoDatabase#create()}
*/
CompletableFuture create();
/**
* Asynchronous version of {@link ArangoDatabase#drop()}
*/
CompletableFuture drop();
/**
* Asynchronous version of {@link ArangoDatabase#grantAccess(String, Permissions)}
*/
CompletableFuture grantAccess(String user, Permissions permissions);
/**
* Asynchronous version of {@link ArangoDatabase#grantAccess(String)}
*/
CompletableFuture grantAccess(String user);
/**
* Asynchronous version of {@link ArangoDatabase#revokeAccess(String)}
*/
CompletableFuture revokeAccess(String user);
/**
* Asynchronous version of {@link ArangoDatabase#resetAccess(String)}
*/
CompletableFuture resetAccess(String user);
/**
* Asynchronous version of {@link ArangoDatabase#grantDefaultCollectionAccess(String, Permissions)}
*/
CompletableFuture grantDefaultCollectionAccess(String user, Permissions permissions);
/**
* Asynchronous version of {@link ArangoDatabase#getPermissions(String)}
*/
CompletableFuture getPermissions(String user);
CompletableFuture> query(String query, Class type, Map bindVars, AqlQueryOptions options);
CompletableFuture> query(String query, Class type, AqlQueryOptions options);
CompletableFuture> query(String query, Class type, Map bindVars);
CompletableFuture> query(String query, Class type);
CompletableFuture> cursor(String cursorId, Class type);
CompletableFuture> cursor(String cursorId, Class type, AqlQueryOptions options);
CompletableFuture> cursor(String cursorId, Class type, String nextBatchId);
CompletableFuture> cursor(String cursorId, Class type, String nextBatchId, AqlQueryOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#explainQuery(String, Map, AqlQueryExplainOptions)}
*
* @deprecated for removal, use {@link ArangoDatabaseAsync#explainAqlQuery(String, Map, AqlQueryExplainOptions)} instead
*/
@Deprecated
CompletableFuture explainQuery(String query, Map bindVars, AqlQueryExplainOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#explainAqlQuery(String, Map, AqlQueryExplainOptions)}
*
* @deprecated for removal, use {@link ArangoDatabaseAsync#explainAqlQuery(String, Map, ExplainAqlQueryOptions)} instead
*/
@Deprecated
CompletableFuture explainAqlQuery(String query, Map bindVars, AqlQueryExplainOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#explainAqlQuery(String, Map, ExplainAqlQueryOptions)}
*/
CompletableFuture explainAqlQuery(String query, Map bindVars, ExplainAqlQueryOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#parseQuery(String)}
*/
CompletableFuture parseQuery(String query);
/**
* Asynchronous version of {@link ArangoDatabase#clearQueryCache()}
*/
CompletableFuture clearQueryCache();
/**
* Asynchronous version of {@link ArangoDatabase#getQueryCacheProperties()}
*/
CompletableFuture getQueryCacheProperties();
/**
* Asynchronous version of {@link ArangoDatabase#setQueryCacheProperties(QueryCachePropertiesEntity)}
*/
CompletableFuture setQueryCacheProperties(QueryCachePropertiesEntity properties);
/**
* Asynchronous version of {@link ArangoDatabase#getQueryTrackingProperties()}
*/
CompletableFuture getQueryTrackingProperties();
/**
* Asynchronous version of {@link ArangoDatabase#setQueryTrackingProperties(QueryTrackingPropertiesEntity)}
*/
CompletableFuture setQueryTrackingProperties(QueryTrackingPropertiesEntity properties);
/**
* Asynchronous version of {@link ArangoDatabase#getCurrentlyRunningQueries()}
*/
CompletableFuture> getCurrentlyRunningQueries();
/**
* Asynchronous version of {@link ArangoDatabase#getSlowQueries()}
*/
CompletableFuture> getSlowQueries();
/**
* Asynchronous version of {@link ArangoDatabase#clearSlowQueries()}
*/
CompletableFuture clearSlowQueries();
/**
* Asynchronous version of {@link ArangoDatabase#killQuery(String)}
*/
CompletableFuture killQuery(String id);
/**
* Asynchronous version of {@link ArangoDatabase#createAqlFunction(String, String, AqlFunctionCreateOptions)}
*/
CompletableFuture createAqlFunction(String name, String code, AqlFunctionCreateOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#deleteAqlFunction(String, AqlFunctionDeleteOptions)}
*/
CompletableFuture deleteAqlFunction(String name, AqlFunctionDeleteOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#getAqlFunctions(AqlFunctionGetOptions)}
*/
CompletableFuture> getAqlFunctions(AqlFunctionGetOptions options);
/**
* Returns a {@code ArangoGraphAsync} instance for the given graph name.
*
* @param name Name of the graph
* @return graph handler
*/
ArangoGraphAsync graph(String name);
/**
* Asynchronous version of {@link ArangoDatabase#createGraph(String, Iterable)}
*/
CompletableFuture createGraph(String name, Iterable edgeDefinitions);
/**
* Asynchronous version of {@link ArangoDatabase#createGraph(String, Iterable, GraphCreateOptions)}
*/
CompletableFuture createGraph(String name, Iterable edgeDefinitions, GraphCreateOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#getGraphs()}
*/
CompletableFuture> getGraphs();
/**
* Asynchronous version of {@link ArangoDatabase#transaction(String, Class, TransactionOptions)}
*/
CompletableFuture transaction(String action, Class type, TransactionOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#beginStreamTransaction(StreamTransactionOptions)}
*/
CompletableFuture beginStreamTransaction(StreamTransactionOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#abortStreamTransaction(String)}
*/
CompletableFuture abortStreamTransaction(String id);
/**
* Asynchronous version of {@link ArangoDatabase#getStreamTransaction(String)}
*/
CompletableFuture getStreamTransaction(String id);
/**
* Asynchronous version of {@link ArangoDatabase#getStreamTransactions()}
*/
CompletableFuture> getStreamTransactions();
/**
* Asynchronous version of {@link ArangoDatabase#commitStreamTransaction(String)}
*/
CompletableFuture commitStreamTransaction(String id);
/**
* Asynchronous version of {@link ArangoDatabase#getInfo()}
*/
CompletableFuture getInfo();
/**
* Asynchronous version of {@link ArangoDatabase#reloadRouting()}
*/
CompletableFuture reloadRouting();
/**
* Asynchronous version of {@link ArangoDatabase#getViews()}
*/
CompletableFuture> getViews();
/**
* Returns a {@code ArangoViewAsync} instance for the given view name.
*
* @param name Name of the view
* @return view handler
* @since ArangoDB 3.4.0
*/
ArangoViewAsync view(String name);
/**
* Returns a {@link ArangoSearchAsync} instance for the given view name.
*
* @param name Name of the view
* @return ArangoSearch view handler
* @since ArangoDB 3.4.0
*/
ArangoSearchAsync arangoSearch(String name);
/**
* Returns a {@link SearchAliasAsync} instance for the given view name.
*
* @param name Name of the view
* @return SearchAlias view handler
* @since ArangoDB 3.10
*/
SearchAliasAsync searchAlias(String name);
/**
* Asynchronous version of {@link ArangoDatabase#createView(String, ViewType)}
*/
CompletableFuture createView(String name, ViewType type);
/**
* Asynchronous version of {@link ArangoDatabase#createArangoSearch(String, ArangoSearchCreateOptions)}
*/
CompletableFuture createArangoSearch(String name, ArangoSearchCreateOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#createSearchAlias(String, SearchAliasCreateOptions)}
*/
CompletableFuture createSearchAlias(String name, SearchAliasCreateOptions options);
/**
* Asynchronous version of {@link ArangoDatabase#createSearchAnalyzer(SearchAnalyzer)}
*/
CompletableFuture createSearchAnalyzer(SearchAnalyzer analyzer);
/**
* Asynchronous version of {@link ArangoDatabase#getSearchAnalyzer(String)}
*/
CompletableFuture getSearchAnalyzer(String name);
/**
* Asynchronous version of {@link ArangoDatabase#getSearchAnalyzers()}
*/
CompletableFuture> getSearchAnalyzers();
/**
* Asynchronous version of {@link ArangoDatabase#deleteSearchAnalyzer(String)}
*/
CompletableFuture deleteSearchAnalyzer(String name);
/**
* Asynchronous version of {@link ArangoDatabase#deleteSearchAnalyzer(String, AnalyzerDeleteOptions)}
*/
CompletableFuture deleteSearchAnalyzer(String name, AnalyzerDeleteOptions options);
}