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

com.arangodb.ArangoDatabaseAsync Maven / Gradle / Ivy

There is a newer version: 7.16.0
Show 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);

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy