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

com.arangodb.config.ArangoConfigProperties Maven / Gradle / Ivy

There is a newer version: 7.8.0
Show newest version
package com.arangodb.config;

import com.arangodb.Protocol;
import com.arangodb.entity.LoadBalancingStrategy;
import com.arangodb.internal.config.ArangoConfigPropertiesImpl;

import java.util.List;
import java.util.Optional;

public interface ArangoConfigProperties {

    /**
     * Reads properties from file arangodb.properties.
     * Properties must be prefixed with @{code "arangodb"}, eg. @{code "arangodb.hosts=localhost:8529"}.
     */
    static ArangoConfigProperties fromFile() {
        return new ArangoConfigPropertiesImpl();
    }

    /**
     * Reads properties from file {@code fileName}.
     * Properties must be prefixed with @{code "arangodb"}, eg. @{code "arangodb.hosts=localhost:8529"}.
     */
    static ArangoConfigProperties fromFile(final String fileName) {
        return new ArangoConfigPropertiesImpl(fileName);
    }

    /**
     * Reads properties from file {@code fileName}.
     * Properties must be prefixed with @{code prefix}, eg. @{code ".hosts=localhost:8529"}.
     */
    static ArangoConfigProperties fromFile(final String fileName, final String prefix) {
        return new ArangoConfigPropertiesImpl(fileName, prefix);
    }

    default Optional> getHosts() {
        return Optional.empty();
    }

    default Optional getProtocol() {
        return Optional.empty();
    }

    default Optional getUser() {
        return Optional.empty();
    }

    default Optional getPassword() {
        return Optional.empty();
    }

    default Optional getJwt() {
        return Optional.empty();
    }

    default Optional getTimeout() {
        return Optional.empty();
    }

    default Optional getUseSsl() {
        return Optional.empty();
    }

    default Optional getVerifyHost() {
        return Optional.empty();
    }

    default Optional getChunkSize() {
        return Optional.empty();
    }

    default Optional getMaxConnections() {
        return Optional.empty();
    }

    default Optional getConnectionTtl() {
        return Optional.empty();
    }

    default Optional getKeepAliveInterval() {
        return Optional.empty();
    }

    default Optional getAcquireHostList() {
        return Optional.empty();
    }

    default Optional getAcquireHostListInterval() {
        return Optional.empty();
    }

    default Optional getLoadBalancingStrategy() {
        return Optional.empty();
    }

    default Optional getResponseQueueTimeSamples() {
        return Optional.empty();
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy