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.BuilderacquireHostList(Boolean acquireHostList)Whether the driver should acquire a list of available coordinators in an ArangoDB cluster or a single server with active failover.ArangoDB.BuilderacquireHostListInterval(Integer acquireHostListInterval)Setting the Interval for acquireHostListArangoDBbuild()Returns an instance ofArangoDB.ArangoDB.BuilderchunkSize(Integer chunkSize)Sets the chunk size whenProtocol.VSTis used.ArangoDB.BuilderconnectionTtl(Long connectionTtl)Set the maximum time to life of a connection.booleanequals(Object obj)inthashCode()ArangoDB.Builderhost(String host, int port)Adds a host to connect to.ArangoDB.Builderjwt(String jwt)Sets the JWT for the user authentication.ArangoDB.BuilderkeepAliveInterval(Integer keepAliveInterval)Set the keep-alive interval for VST connections.ArangoDB.BuilderloadBalancingStrategy(LoadBalancingStrategy loadBalancingStrategy)Sets the load balancing strategy to be used in an ArangoDB cluster setup.ArangoDB.BuilderloadProperties(ArangoConfigProperties properties)ArangoDB.BuildermaxConnections(Integer maxConnections)Sets the maximum number of connections the built in connection pool will open per host.ArangoDB.Builderpassword(String password)Sets the password for the user for authentication.ArangoDB.Builderprotocol(Protocol protocol)ArangoDB.BuilderresponseQueueTimeSamples(Integer responseQueueTimeSamples)Setting the amount of samples kept for queue time metricsArangoDB.Builderserde(ArangoSerde serde)Sets the serde for the user data.ArangoDB.BuildersslContext(SSLContext sslContext)Sets the SSL context to be used whentrueis passed throughInternalArangoDBBuilder.useSsl(Boolean).ArangoDB.Buildertimeout(Integer timeout)Sets the connection and request timeout in milliseconds.StringtoString()ArangoDB.Builderuser(String user)Sets the username to use for authentication.ArangoDB.BuilderuseSsl(Boolean useSsl)If set totrueSSL will be used when connecting to an ArangoDB server.ArangoDB.BuilderverifyHost(Boolean verifyHost)Set whether hostname verification is enabled
-
-
-
Method Detail
-
loadProperties
public ArangoDB.Builder loadProperties(ArangoConfigProperties properties)
- Overrides:
loadPropertiesin classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
-
host
public ArangoDB.Builder host(String host, int port)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilderAdds a host to connect to. Multiple hosts can be added to provide fallbacks.- Overrides:
hostin 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.InternalArangoDBBuilderSets the connection and request timeout in milliseconds.- Overrides:
timeoutin 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.InternalArangoDBBuilderSets the username to use for authentication.- Overrides:
userin 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.InternalArangoDBBuilderSets the password for the user for authentication.- Overrides:
passwordin 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.InternalArangoDBBuilderSets the JWT for the user authentication.- Overrides:
jwtin 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.InternalArangoDBBuilderIf set totrueSSL will be used when connecting to an ArangoDB server.- Overrides:
useSslin 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.InternalArangoDBBuilderSets the SSL context to be used whentrueis passed throughInternalArangoDBBuilder.useSsl(Boolean).- Overrides:
sslContextin 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.InternalArangoDBBuilderSet whether hostname verification is enabled- Overrides:
verifyHostin classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>- Parameters:
verifyHost-trueif enabled- Returns:
ArangoDB.Builder
-
chunkSize
public ArangoDB.Builder chunkSize(Integer chunkSize)
Description copied from class:com.arangodb.internal.InternalArangoDBBuilderSets the chunk size whenProtocol.VSTis used.- Overrides:
chunkSizein 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.InternalArangoDBBuilderSets 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:
maxConnectionsin 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.InternalArangoDBBuilderSet the maximum time to life of a connection. After this time the connection will be closed automatically.- Overrides:
connectionTtlin 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.InternalArangoDBBuilderSet the keep-alive interval for VST connections. If set, every VST connection will perform a no-op request everykeepAliveIntervalseconds, to avoid to be closed due to inactivity by the server (or by the external environment, eg. firewall, intermediate routers, operating system).- Overrides:
keepAliveIntervalin 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.InternalArangoDBBuilderWhether 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 totrueto enable automatic master discovery.The host list will be used for failover and load balancing.
- Overrides:
acquireHostListin 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.InternalArangoDBBuilderSetting the Interval for acquireHostList- Overrides:
acquireHostListIntervalin 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.InternalArangoDBBuilderSets the load balancing strategy to be used in an ArangoDB cluster setup. In case of Active-Failover deployment set toLoadBalancingStrategy.NONEor not set at all, since that would be the default.- Overrides:
loadBalancingStrategyin 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.InternalArangoDBBuilderSetting the amount of samples kept for queue time metrics- Overrides:
responseQueueTimeSamplesin 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.InternalArangoDBBuilderSets 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:
serdein classcom.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>- Parameters:
serde- custom serde for the user data- Returns:
ArangoDB.Builder
-
protocol
public ArangoDB.Builder protocol(Protocol protocol)
-
-