Package io.milvus.param

## Class ConnectParam.Builder

- java.lang.Object
- - io.milvus.param.ConnectParam.Builder

- Direct Known Subclasses:
    `MultiConnectParam.Builder`
  Enclosing class:
    ConnectParam

      public static class ConnectParam.Builder
      extends java.lang.Object

  Builder for `ConnectParam`

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected boolean` | `secure` |

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `Builder()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `ConnectParam` | `build()` | Verifies parameters and creates a new `ConnectParam` instance.
    `ConnectParam.Builder` | `keepAliveWithoutCalls​(boolean enable)` | Enables the keep-alive function for client channel.
    `ConnectParam.Builder` | `secure​(boolean enable)` | Deprecated.
    `protected void` | `verify()` |
    `ConnectParam.Builder` | `withAuthorization​(@NonNull java.lang.String authorization)` | Sets the secure for this connection
    `ConnectParam.Builder` | `withAuthorization​(java.lang.String username, java.lang.String password)` | Sets the username and password for this connection
    `ConnectParam.Builder` | `withCaPemPath​(@NonNull java.lang.String caPemPath)` | Set the ca.pem path for tls two-way authentication, only takes effect when "secure" is True.
    `ConnectParam.Builder` | `withClientKeyPath​(@NonNull java.lang.String clientKeyPath)` | Set the client.key path for tls two-way authentication, only takes effect when "secure" is True.
    `ConnectParam.Builder` | `withClientPemPath​(@NonNull java.lang.String clientPemPath)` | Set the client.pem path for tls two-way authentication, only takes effect when "secure" is True.
    `ConnectParam.Builder` | `withConnectTimeout​(long connectTimeout, @NonNull java.util.concurrent.TimeUnit timeUnit)` | Sets the connection timeout value of client channel.
    `ConnectParam.Builder` | `withDatabaseName​(java.lang.String databaseName)` | Sets the database name.
    `ConnectParam.Builder` | `withHost​(@NonNull java.lang.String host)` | Sets the host name/address.
    `ConnectParam.Builder` | `withIdleTimeout​(long idleTimeout, @NonNull java.util.concurrent.TimeUnit timeUnit)` | Sets the idle timeout value of client channel.
    `ConnectParam.Builder` | `withKeepAliveTime​(long keepAliveTime, @NonNull java.util.concurrent.TimeUnit timeUnit)` | Sets the keep-alive time value of client channel.
    `ConnectParam.Builder` | `withKeepAliveTimeout​(long keepAliveTimeout, @NonNull java.util.concurrent.TimeUnit timeUnit)` | Sets the keep-alive timeout value of client channel.
    `ConnectParam.Builder` | `withPort​(int port)` | Sets the connection port.
    `ConnectParam.Builder` | `withRpcDeadline​(long deadline, @NonNull java.util.concurrent.TimeUnit timeUnit)` | Set a deadline for how long you are willing to wait for a reply from the server.
    `ConnectParam.Builder` | `withSecure​(boolean secure)` | Sets secure the authorization for this connection, set to True to enable TLS
    `ConnectParam.Builder` | `withServerName​(@NonNull java.lang.String serverName)` | Set target name override for SSL host name checking, only takes effect when "secure" is True.
    `ConnectParam.Builder` | `withServerPemPath​(@NonNull java.lang.String serverPemPath)` | Set the server.pem path for tls one-way authentication, only takes effect when "secure" is True.
    `ConnectParam.Builder` | `withToken​(java.lang.String token)` | Sets the token
    `ConnectParam.Builder` | `withUri​(java.lang.String uri)` | Sets the uri

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### secure

          protected boolean secure

  - ### Constructor Detail

    - #### Builder

          protected Builder()

  - ### Method Detail

    - #### withHost

          public ConnectParam.Builder withHost​(@NonNull
                                               @NonNull java.lang.String host)

      Sets the host name/address.
      Parameters:
        `host` - host name/address
      Returns:
        `Builder`

    - #### withPort

          public ConnectParam.Builder withPort​(int port)

      Sets the connection port. Port value must be greater than zero and less than 65536.
      Parameters:
        `port` - port value
      Returns:
        `Builder`

    - #### withDatabaseName

          public ConnectParam.Builder withDatabaseName​(java.lang.String databaseName)

      Sets the database name.
      Parameters:
        `databaseName` - databaseName
      Returns:
        `Builder`

    - #### withUri

          public ConnectParam.Builder withUri​(java.lang.String uri)

      Sets the uri
      Parameters:
        `uri` - the uri of Milvus instance
      Returns:
        `Builder`

    - #### withToken

          public ConnectParam.Builder withToken​(java.lang.String token)

      Sets the token
      Parameters:
        `token` - serving as the key for identification and authentication purposes.
      Returns:
        `Builder`

    - #### withConnectTimeout

          public ConnectParam.Builder withConnectTimeout​(long connectTimeout,
                                                         @NonNull
                                                         @NonNull java.util.concurrent.TimeUnit timeUnit)

      Sets the connection timeout value of client channel. The timeout value must be greater than zero.
      Parameters:
        `connectTimeout` - timeout value
        `timeUnit` - timeout unit
      Returns:
        `Builder`

    - #### withKeepAliveTime

          public ConnectParam.Builder withKeepAliveTime​(long keepAliveTime,
                                                        @NonNull
                                                        @NonNull java.util.concurrent.TimeUnit timeUnit)

      Sets the keep-alive time value of client channel. The keep-alive value must be greater than zero. Default is 55000 ms.
      Parameters:
        `keepAliveTime` - keep-alive value
        `timeUnit` - keep-alive unit
      Returns:
        `Builder`

    - #### withKeepAliveTimeout

          public ConnectParam.Builder withKeepAliveTimeout​(long keepAliveTimeout,
                                                           @NonNull
                                                           @NonNull java.util.concurrent.TimeUnit timeUnit)

      Sets the keep-alive timeout value of client channel. The timeout value must be greater than zero. Default value is 20000 ms
      Parameters:
        `keepAliveTimeout` - timeout value
        `timeUnit` - timeout unit
      Returns:
        `Builder`

    - #### keepAliveWithoutCalls

          public ConnectParam.Builder keepAliveWithoutCalls​(boolean enable)

      Enables the keep-alive function for client channel.
      Parameters:
        `enable` - true keep-alive
      Returns:
        `Builder`

    - #### secure

          @Deprecated
          public ConnectParam.Builder secure​(boolean enable)

      Deprecated.
      Enables the secure for client channel.
      Parameters:
        `enable` - true keep-alive
      Returns:
        `Builder`

    - #### withIdleTimeout

          public ConnectParam.Builder withIdleTimeout​(long idleTimeout,
                                                      @NonNull
                                                      @NonNull java.util.concurrent.TimeUnit timeUnit)

      Sets the idle timeout value of client channel. The timeout value must be larger than zero.
      Parameters:
        `idleTimeout` - timeout value
        `timeUnit` - timeout unit
      Returns:
        `Builder`

    - #### withRpcDeadline

          public ConnectParam.Builder withRpcDeadline​(long deadline,
                                                      @NonNull
                                                      @NonNull java.util.concurrent.TimeUnit timeUnit)

      Set a deadline for how long you are willing to wait for a reply from the server. With a deadline setting, the client will wait when encounter fast RPC fail caused by network fluctuations. The deadline value must be larger than or equal to zero. Default value is 0, deadline is disabled.
      Parameters:
        `deadline` - deadline value
        `timeUnit` - deadline unit
      Returns:
        `Builder`

    - #### withAuthorization

          public ConnectParam.Builder withAuthorization​(java.lang.String username,
                                                        java.lang.String password)

      Sets the username and password for this connection
      Parameters:
        `username` - current user
        `password` - password
      Returns:
        `Builder`

    - #### withSecure

          public ConnectParam.Builder withSecure​(boolean secure)

      Sets secure the authorization for this connection, set to True to enable TLS
      Parameters:
        `secure` - boolean
      Returns:
        `Builder`

    - #### withAuthorization

          public ConnectParam.Builder withAuthorization​(@NonNull
                                                        @NonNull java.lang.String authorization)

      Sets the secure for this connection
      Parameters:
        `authorization` - the authorization info that has included the encoded username and password info
      Returns:
        `Builder`

    - #### withClientKeyPath

          public ConnectParam.Builder withClientKeyPath​(@NonNull
                                                        @NonNull java.lang.String clientKeyPath)

      Set the client.key path for tls two-way authentication, only takes effect when "secure" is True.
      Parameters:
        `clientKeyPath` - path of client.key
      Returns:
        `Builder`

    - #### withClientPemPath

          public ConnectParam.Builder withClientPemPath​(@NonNull
                                                        @NonNull java.lang.String clientPemPath)

      Set the client.pem path for tls two-way authentication, only takes effect when "secure" is True.
      Parameters:
        `clientPemPath` - path of client.pem
      Returns:
        `Builder`

    - #### withCaPemPath

          public ConnectParam.Builder withCaPemPath​(@NonNull
                                                    @NonNull java.lang.String caPemPath)

      Set the ca.pem path for tls two-way authentication, only takes effect when "secure" is True.
      Parameters:
        `caPemPath` - path of ca.pem
      Returns:
        `Builder`

    - #### withServerPemPath

          public ConnectParam.Builder withServerPemPath​(@NonNull
                                                        @NonNull java.lang.String serverPemPath)

      Set the server.pem path for tls one-way authentication, only takes effect when "secure" is True.
      Parameters:
        `serverPemPath` - path of server.pem
      Returns:
        `Builder`

    - #### withServerName

          public ConnectParam.Builder withServerName​(@NonNull
                                                     @NonNull java.lang.String serverName)

      Set target name override for SSL host name checking, only takes effect when "secure" is True. Note: this value is passed to grpc.ssl_target_name_override
      Parameters:
        `serverName` - override name for SSL host
      Returns:
        `Builder`

    - #### build

          public ConnectParam build()
                             throws ParamException

      Verifies parameters and creates a new `ConnectParam` instance.
      Returns:
        `ConnectParam`
      Throws:
        `ParamException`

    - #### verify

          protected void verify()
                         throws ParamException

      Throws:
        `ParamException`