
com.arangodb.config.ArangoConfigProperties Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Core module for ArangoDB Java Driver
The newest version!
package com.arangodb.config;
import com.arangodb.Compression;
import com.arangodb.Protocol;
import com.arangodb.entity.LoadBalancingStrategy;
import com.arangodb.internal.config.ArangoConfigPropertiesImpl;
import java.util.List;
import java.util.Optional;
import java.util.Properties;
public interface ArangoConfigProperties {
//region configuration properties keys
String KEY_HOSTS = "hosts";
String KEY_PROTOCOL = "protocol";
String KEY_USER = "user";
String KEY_PASSWORD = "password";
String KEY_JWT = "jwt";
String KEY_TIMEOUT = "timeout";
String KEY_USE_SSL = "useSsl";
String KEY_VERIFY_HOST = "verifyHost";
String KEY_CHUNK_SIZE = "chunkSize";
String KEY_PIPELINING = "pipelining";
String KEY_MAX_CONNECTIONS = "maxConnections";
String KEY_CONNECTION_TTL = "connectionTtl";
String KEY_KEEP_ALIVE_INTERVAL = "keepAliveInterval";
String KEY_ACQUIRE_HOST_LIST = "acquireHostList";
String KEY_ACQUIRE_HOST_LIST_INTERVAL = "acquireHostListInterval";
String KEY_LOAD_BALANCING_STRATEGY = "loadBalancingStrategy";
String KEY_RESPONSE_QUEUE_TIME_SAMPLES = "responseQueueTimeSamples";
String KEY_COMPRESSION = "compression";
String KEY_COMPRESSION_THRESHOLD = "compressionThreshold";
String KEY_COMPRESSION_LEVEL = "compressionLevel";
String KEY_SERDE_PROVIDER_CLASS = "serdeProviderClass";
//endregion
/**
* 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);
}
/**
* Creates {@code ArangoConfigProperties} from Java properties ({@link java.util.Properties}).
* Properties must be prefixed with @{code "arangodb"}, eg. @{code "arangodb.hosts=localhost:8529"}.
*/
static ArangoConfigProperties fromProperties(final Properties properties) {
return new ArangoConfigPropertiesImpl(properties);
}
/**
* Creates {@code ArangoConfigProperties} from Java properties ({@link java.util.Properties}).
* Properties must be prefixed with @{code prefix}, eg. @{code ".hosts=localhost:8529"}.
*/
static ArangoConfigProperties fromProperties(final Properties properties, final String prefix) {
return new ArangoConfigPropertiesImpl(properties, 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 getPipelining() {
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();
}
default Optional getCompression() {
return Optional.empty();
}
default Optional getCompressionThreshold() {
return Optional.empty();
}
default Optional getCompressionLevel() {
return Optional.empty();
}
default Optional getSerdeProviderClass() {
return Optional.empty();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy