Package com.arangodb
Class ArangoDB.Builder
- java.lang.Object
-
- com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
-
- com.arangodb.ArangoDB.Builder
-
- Enclosing interface:
- ArangoDB
public static class ArangoDB.Builder extends com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
Builder class to build an instance ofArangoDB
.- Author:
- Mark Vollmary
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ArangoDB.Builder
acquireHostList(Boolean acquireHostList)
Whether the driver should acquire a list of available coordinators in an ArangoDB cluster or a single server with active failover.ArangoDB.Builder
acquireHostListInterval(Integer acquireHostListInterval)
Setting the Interval for acquireHostListArangoDB
build()
Returns an instance ofArangoDB
.ArangoDB.Builder
chunkSize(Integer chunkSize)
Sets the chunk size whenProtocol.VST
is used.ArangoDB.Builder
connectionTtl(Long connectionTtl)
Set the maximum time to life of a connection.boolean
equals(Object obj)
int
hashCode()
ArangoDB.Builder
host(String host, int port)
Adds a host to connect to.ArangoDB.Builder
jwt(String jwt)
Sets the JWT for the user authentication.ArangoDB.Builder
keepAliveInterval(Integer keepAliveInterval)
Set the keep-alive interval for VST connections.ArangoDB.Builder
loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)
Sets the load balancing strategy to be used in an ArangoDB cluster setup.ArangoDB.Builder
loadProperties(ArangoConfigProperties properties)
ArangoDB.Builder
maxConnections(Integer maxConnections)
Sets the maximum number of connections the built in connection pool will open per host.ArangoDB.Builder
password(String password)
Sets the password for the user for authentication.ArangoDB.Builder
protocol(Protocol protocol)
ArangoDB.Builder
responseQueueTimeSamples(Integer responseQueueTimeSamples)
Setting the amount of samples kept for queue time metricsArangoDB.Builder
serde(ArangoSerde serde)
Sets the serde for the user data.ArangoDB.Builder
sslContext(SSLContext sslContext)
Sets the SSL context to be used whentrue
is passed throughInternalArangoDBBuilder.useSsl(Boolean)
.ArangoDB.Builder
timeout(Integer timeout)
Sets the connection and request timeout in milliseconds.String
toString()
ArangoDB.Builder
user(String user)
Sets the username to use for authentication.ArangoDB.Builder
useSsl(Boolean useSsl)
If set totrue
SSL will be used when connecting to an ArangoDB server.ArangoDB.Builder
verifyHost(Boolean verifyHost)
Set whether hostname verification is enabled
-
-
-
Method Detail
-
loadProperties
public ArangoDB.Builder loadProperties(ArangoConfigProperties properties)
- Overrides:
loadProperties
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
-
host
public ArangoDB.Builder host(String host, int port)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Adds a host to connect to. Multiple hosts can be added to provide fallbacks.- Overrides:
host
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
host
- address of the hostport
- port of the host- Returns:
ArangoDB.Builder
-
timeout
public ArangoDB.Builder timeout(Integer timeout)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the connection and request timeout in milliseconds.- Overrides:
timeout
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
timeout
- timeout in milliseconds- Returns:
ArangoDB.Builder
-
user
public ArangoDB.Builder user(String user)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the username to use for authentication.- Overrides:
user
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
user
- the user in the database (default:root
)- Returns:
ArangoDB.Builder
-
password
public ArangoDB.Builder password(String password)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the password for the user for authentication.- Overrides:
password
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
password
- the password of the user in the database (default:null
)- Returns:
ArangoDB.Builder
-
jwt
public ArangoDB.Builder jwt(String jwt)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the JWT for the user authentication.- Overrides:
jwt
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
jwt
- token to use (default:null
)- Returns:
ArangoDB.Builder
-
useSsl
public ArangoDB.Builder useSsl(Boolean useSsl)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
If set totrue
SSL will be used when connecting to an ArangoDB server.- Overrides:
useSsl
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
useSsl
- whether or not use SSL (default:false
)- Returns:
ArangoDB.Builder
-
sslContext
public ArangoDB.Builder sslContext(SSLContext sslContext)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the SSL context to be used whentrue
is passed throughInternalArangoDBBuilder.useSsl(Boolean)
.- Overrides:
sslContext
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
sslContext
- SSL context to be used- Returns:
ArangoDB.Builder
-
verifyHost
public ArangoDB.Builder verifyHost(Boolean verifyHost)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Set whether hostname verification is enabled- Overrides:
verifyHost
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
verifyHost
-true
if enabled- Returns:
ArangoDB.Builder
-
chunkSize
public ArangoDB.Builder chunkSize(Integer chunkSize)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the chunk size whenProtocol.VST
is used.- Overrides:
chunkSize
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
chunkSize
- size of a chunk in bytes- Returns:
ArangoDB.Builder
-
maxConnections
public ArangoDB.Builder maxConnections(Integer maxConnections)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the maximum number of connections the built in connection pool will open per host.Defaults:
Protocol.VST
== 1Protocol.HTTP_JSON
== 20Protocol.HTTP_VPACK
== 20- Overrides:
maxConnections
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
maxConnections
- max number of connections- Returns:
ArangoDB.Builder
-
connectionTtl
public ArangoDB.Builder connectionTtl(Long connectionTtl)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Set the maximum time to life of a connection. After this time the connection will be closed automatically.- Overrides:
connectionTtl
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
connectionTtl
- the maximum time to life of a connection in milliseconds- Returns:
ArangoDB.Builder
-
keepAliveInterval
public ArangoDB.Builder keepAliveInterval(Integer keepAliveInterval)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Set the keep-alive interval for VST connections. If set, every VST connection will perform a no-op request everykeepAliveInterval
seconds, to avoid to be closed due to inactivity by the server (or by the external environment, eg. firewall, intermediate routers, operating system).- Overrides:
keepAliveInterval
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
keepAliveInterval
- interval in seconds- Returns:
ArangoDB.Builder
-
acquireHostList
public ArangoDB.Builder acquireHostList(Boolean acquireHostList)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Whether the driver should acquire a list of available coordinators in an ArangoDB cluster or a single server with active failover. In case of Active-Failover deployment set totrue
to enable automatic master discovery.The host list will be used for failover and load balancing.
- Overrides:
acquireHostList
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
acquireHostList
- whether automatically acquire a list of available hosts (default: false)- Returns:
ArangoDB.Builder
-
acquireHostListInterval
public ArangoDB.Builder acquireHostListInterval(Integer acquireHostListInterval)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Setting the Interval for acquireHostList- Overrides:
acquireHostListInterval
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
acquireHostListInterval
- Interval in milliseconds- Returns:
ArangoDB.Builder
-
loadBalancingStrategy
public ArangoDB.Builder loadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the load balancing strategy to be used in an ArangoDB cluster setup. In case of Active-Failover deployment set toLoadBalancingStrategy.NONE
or not set at all, since that would be the default.- Overrides:
loadBalancingStrategy
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
loadBalancingStrategy
- the load balancing strategy to be used (default:LoadBalancingStrategy.NONE
- Returns:
ArangoDB.Builder
-
responseQueueTimeSamples
public ArangoDB.Builder responseQueueTimeSamples(Integer responseQueueTimeSamples)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Setting the amount of samples kept for queue time metrics- Overrides:
responseQueueTimeSamples
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
responseQueueTimeSamples
- amount of samples to keep- Returns:
ArangoDB.Builder
-
serde
public ArangoDB.Builder serde(ArangoSerde serde)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilder
Sets the serde for the user data. This is used to serialize and deserialize all the data payload such as: - documents, vertexes, edges - AQL bind vars - body payload of requests and responses inArangoDB.execute(Request, Class)
However, note that the following types will always be serialized and deserialized using the internal serde: -
JsonNode
-RawJson
-RawBytes
-BaseDocument
-BaseEdgeDocument
- Overrides:
serde
in classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
- Parameters:
serde
- custom serde for the user data- Returns:
ArangoDB.Builder
-
protocol
public ArangoDB.Builder protocol(Protocol protocol)
-
-