Package com.arangodb

Class ArangoDB.Builder

  • Enclosing interface:
    ArangoDB

    public static class ArangoDB.Builder
    extends com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
    Builder class to build an instance of ArangoDB.
    Author:
    Mark Vollmary
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • 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 class com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
        Parameters:
        host - address of the host
        port - 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 class com.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 class com.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 class com.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 class com.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 to true SSL will be used when connecting to an ArangoDB server.
        Overrides:
        useSsl in class com.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 when true is passed through InternalArangoDBBuilder.useSsl(Boolean).
        Overrides:
        sslContext in class com.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 class com.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 when Protocol.VST is used.
        Overrides:
        chunkSize in class com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
        Parameters:
        chunkSize - size of a chunk in bytes
        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 class com.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 every keepAliveInterval 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 class com.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 to true to enable automatic master discovery.

        The host list will be used for failover and load balancing.

        Overrides:
        acquireHostList in class com.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 class com.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 to LoadBalancingStrategy.NONE or not set at all, since that would be the default.
        Overrides:
        loadBalancingStrategy in class com.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 class com.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 in ArangoDB.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 class com.arangodb.internal.InternalArangoDBBuilder<ArangoDB.Builder>
        Parameters:
        serde - custom serde for the user data
        Returns:
        ArangoDB.Builder
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object