Package io.vertx.sqlclient

## Class SqlConnectOptions

- java.lang.Object
- - io.vertx.sqlclient.SqlConnectOptions

- Direct Known Subclasses:
    `DB2ConnectOptions`, `MSSQLConnectOptions`, `MySQLConnectOptions`, `OracleConnectOptions`, `PgConnectOptions`

      public class SqlConnectOptions
      extends Object

  Connect options for configuring `SqlConnection` or `Pool`.

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static boolean` | `DEFAULT_CACHE_PREPARED_STATEMENTS` |
    `static String` | `DEFAULT_METRICS_NAME` |
    `static java.util.function.Predicate<String>` | `DEFAULT_PREPARED_STATEMENT_CACHE_FILTER` |
    `static int` | `DEFAULT_PREPARED_STATEMENT_CACHE_MAX_SIZE` |
    `static int` | `DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT` |
    `static int` | `DEFAULT_RECONNECT_ATTEMPTS` |
    `static long` | `DEFAULT_RECONNECT_INTERVAL` |

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SqlConnectOptions()` |
    `SqlConnectOptions​(JsonObject json)` |
    `SqlConnectOptions​(SqlConnectOptions other)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `SqlConnectOptions` | `addProperty​(String key, String value)` | Add a property for this client, which will be sent to server at the connection start.
    `static SqlConnectOptions` | `fromUri​(String connectionUri)` | Provide a `SqlConnectOptions` subclass configured from `connectionUri`.
    `boolean` | `getCachePreparedStatements()` | Get whether prepared statements cache is enabled.
    `String` | `getDatabase()` | Get the default database name for the connection.
    `String` | `getHost()` | Get the host for connecting to the server.
    `String` | `getMetricsName()` |
    `String` | `getPassword()` | Get the user password to be used for the authentication.
    `int` | `getPort()` | Get the port for connecting to the server.
    `int` | `getPreparedStatementCacheMaxSize()` | Get the maximum number of prepared statements that the connection will cache.
    `java.util.function.Predicate<String>` | `getPreparedStatementCacheSqlFilter()` | Get the predicate filtering prepared statements that the connection will cache.
    `Map<String,​String>` | `getProperties()` |
    `int` | `getReconnectAttempts()` |
    `long` | `getReconnectInterval()` |
    `SocketAddress` | `getSocketAddress()` |
    `ClientSSLOptions` | `getSslOptions()` |
    `TracingPolicy` | `getTracingPolicy()` |
    `String` | `getUser()` | Get the user account to be used for the authentication.
    `protected void` | `init()` | Initialize with the default options.
    `boolean` | `isUsingDomainSocket()` |
    `SqlConnectOptions` | `merge​(JsonObject other)` | Returns new options created after this object and merged with the `other` json config.
    `SqlConnectOptions` | `setCachePreparedStatements​(boolean cachePreparedStatements)` | Set whether prepared statements cache should be enabled.
    `SqlConnectOptions` | `setDatabase​(String database)` | Specify the default database for the connection.
    `SqlConnectOptions` | `setHost​(String host)` | Specify the host for connecting to the server.
    `SqlConnectOptions` | `setMetricsName​(String metricsName)` | Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
    `SqlConnectOptions` | `setPassword​(String password)` | Specify the user password to be used for the authentication.
    `SqlConnectOptions` | `setPort​(int port)` | Specify the port for connecting to the server.
    `SqlConnectOptions` | `setPreparedStatementCacheMaxSize​(int preparedStatementCacheMaxSize)` | Set the maximum number of prepared statements that the connection will cache.
    `SqlConnectOptions` | `setPreparedStatementCacheSqlFilter​(java.util.function.Predicate<String> predicate)` | Set a predicate filtering prepared statements that the connection will cache.
    `SqlConnectOptions` | `setPreparedStatementCacheSqlLimit​(int preparedStatementCacheSqlLimit)` | Set the maximum length of prepared statement SQL string that the connection will cache.
    `SqlConnectOptions` | `setProperties​(Map<String,​String> properties)` | Set properties for this client, which will be sent to server at the connection start.
    `SqlConnectOptions` | `setReconnectAttempts​(int attempts)` | Set the value of reconnect attempts
    `SqlConnectOptions` | `setReconnectInterval​(long interval)` | Set the reconnect interval
    `SqlConnectOptions` | `setSslOptions​(ClientSSLOptions sslOptions)` |
    `SqlConnectOptions` | `setTracingPolicy​(TracingPolicy tracingPolicy)` | Set the tracing policy for the client behavior when Vert.x has tracing enabled.
    `SqlConnectOptions` | `setUser​(String user)` | Specify the user account to be used for the authentication.
    `JsonObject` | `toJson()` |

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

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

- - ### Field Detail

    - #### DEFAULT_RECONNECT_ATTEMPTS

          public static final int DEFAULT_RECONNECT_ATTEMPTS

      See Also:
        Constant Field Values

    - #### DEFAULT_RECONNECT_INTERVAL

          public static final long DEFAULT_RECONNECT_INTERVAL

      See Also:
        Constant Field Values

    - #### DEFAULT_CACHE_PREPARED_STATEMENTS

          public static final boolean DEFAULT_CACHE_PREPARED_STATEMENTS

      See Also:
        Constant Field Values

    - #### DEFAULT_PREPARED_STATEMENT_CACHE_MAX_SIZE

          public static final int DEFAULT_PREPARED_STATEMENT_CACHE_MAX_SIZE

      See Also:
        Constant Field Values

    - #### DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT

          public static final int DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT

      See Also:
        Constant Field Values

    - #### DEFAULT_PREPARED_STATEMENT_CACHE_FILTER

          public static final java.util.function.Predicate<String> DEFAULT_PREPARED_STATEMENT_CACHE_FILTER

    - #### DEFAULT_METRICS_NAME

          public static final String DEFAULT_METRICS_NAME

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### SqlConnectOptions

          public SqlConnectOptions()

    - #### SqlConnectOptions

          public SqlConnectOptions​(JsonObject json)

    - #### SqlConnectOptions

          public SqlConnectOptions​(SqlConnectOptions other)

  - ### Method Detail

    - #### fromUri

          public static SqlConnectOptions fromUri​(String connectionUri)
                                           throws IllegalArgumentException,
                                                  ServiceConfigurationError

      Provide a `SqlConnectOptions` subclass configured from `connectionUri`.

      This tries to locate among the available databases implementations the one matching the connection URI protocol, e.g this returns `PgConnectOptions` for an URI that starts with `postgresql://`.

      Parameters:
        `connectionUri` - the connection URI to configure from
      Returns:
        a `SqlConnectOptions` parsed from the connection URI
      Throws:
        `IllegalArgumentException` - when the `connectionUri` is in an invalid format
        `ServiceConfigurationError` - when a database for the `connectionUri` could not be found

    - #### getHost

          public String getHost()

      Get the host for connecting to the server.
      Returns:
        the host

    - #### setHost

          public SqlConnectOptions setHost​(String host)

      Specify the host for connecting to the server.
      Parameters:
        `host` - the host to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getPort

          public int getPort()

      Get the port for connecting to the server.
      Returns:
        the port

    - #### setPort

          public SqlConnectOptions setPort​(int port)

      Specify the port for connecting to the server.
      Parameters:
        `port` - the port to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getUser

          public String getUser()

      Get the user account to be used for the authentication.
      Returns:
        the user

    - #### setUser

          public SqlConnectOptions setUser​(String user)

      Specify the user account to be used for the authentication.
      Parameters:
        `user` - the user to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getPassword

          public String getPassword()

      Get the user password to be used for the authentication.
      Returns:
        the password

    - #### setPassword

          public SqlConnectOptions setPassword​(String password)

      Specify the user password to be used for the authentication.
      Parameters:
        `password` - the password to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getDatabase

          public String getDatabase()

      Get the default database name for the connection.
      Returns:
        the database name

    - #### setDatabase

          public SqlConnectOptions setDatabase​(String database)

      Specify the default database for the connection.
      Parameters:
        `database` - the database name to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### getCachePreparedStatements

          public boolean getCachePreparedStatements()

      Get whether prepared statements cache is enabled.
      Returns:
        the value

    - #### setCachePreparedStatements

          public SqlConnectOptions setCachePreparedStatements​(boolean cachePreparedStatements)

      Set whether prepared statements cache should be enabled.
      Parameters:
        `cachePreparedStatements` - true if cache should be enabled
      Returns:
        a reference to this, so the API can be used fluently

    - #### getPreparedStatementCacheMaxSize

          public int getPreparedStatementCacheMaxSize()

      Get the maximum number of prepared statements that the connection will cache.
      Returns:
        the size

    - #### setPreparedStatementCacheMaxSize

          public SqlConnectOptions setPreparedStatementCacheMaxSize​(int preparedStatementCacheMaxSize)

      Set the maximum number of prepared statements that the connection will cache.
      Parameters:
        `preparedStatementCacheMaxSize` - the size to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### getPreparedStatementCacheSqlFilter

          public java.util.function.Predicate<String> getPreparedStatementCacheSqlFilter()

      Get the predicate filtering prepared statements that the connection will cache.
      Returns:
        the current predicate

    - #### setPreparedStatementCacheSqlFilter

          public SqlConnectOptions setPreparedStatementCacheSqlFilter​(java.util.function.Predicate<String> predicate)

      Set a predicate filtering prepared statements that the connection will cache.

      The default predicate accepts predicate having query length < `DEFAULT_PREPARED_STATEMENT_CACHE_SQL_LIMIT`

      Parameters:
        `predicate` - the filter

    - #### setPreparedStatementCacheSqlLimit

          public SqlConnectOptions setPreparedStatementCacheSqlLimit​(int preparedStatementCacheSqlLimit)

      Set the maximum length of prepared statement SQL string that the connection will cache.

      This is an helper setting the `setPreparedStatementCacheSqlFilter(Predicate)`.

      Parameters:
        `preparedStatementCacheSqlLimit` - the maximum length limit of SQL string to set
      Returns:
        a reference to this, so the API can be used fluently

    - #### getProperties

          public Map<String,​String> getProperties()

      Returns:
        the value of current connection properties

    - #### setProperties

          public SqlConnectOptions setProperties​(Map<String,​String> properties)

      Set properties for this client, which will be sent to server at the connection start.
      Parameters:
        `properties` - the value of properties to specify
      Returns:
        a reference to this, so the API can be used fluently

    - #### addProperty

          public SqlConnectOptions addProperty​(String key,
                                               String value)

      Add a property for this client, which will be sent to server at the connection start.
      Parameters:
        `key` - the value of property key
        `value` - the value of property value
      Returns:
        a reference to this, so the API can be used fluently

    - #### getSocketAddress

          public SocketAddress getSocketAddress()

    - #### getTracingPolicy

          public TracingPolicy getTracingPolicy()

      Returns:
        the tracing policy

    - #### setTracingPolicy

          public SqlConnectOptions setTracingPolicy​(TracingPolicy tracingPolicy)

      Set the tracing policy for the client behavior when Vert.x has tracing enabled.
      Parameters:
        `tracingPolicy` - the tracing policy
      Returns:
        a reference to this, so the API can be used fluently

    - #### isUsingDomainSocket

          public boolean isUsingDomainSocket()

    - #### getReconnectAttempts

          public int getReconnectAttempts()

      Returns:
        the value of reconnect attempts

    - #### setReconnectAttempts

          public SqlConnectOptions setReconnectAttempts​(int attempts)

      Set the value of reconnect attempts
      Parameters:
        `attempts` - the maximum number of reconnect attempts
      Returns:
        a reference to this, so the API can be used fluently

    - #### getReconnectInterval

          public long getReconnectInterval()

      Returns:
        the value of reconnect interval

    - #### setReconnectInterval

          public SqlConnectOptions setReconnectInterval​(long interval)

      Set the reconnect interval
      Parameters:
        `interval` - the reconnect interval in ms
      Returns:
        a reference to this, so the API can be used fluently

    - #### getMetricsName

          public String getMetricsName()

      Returns:
        the metrics name identifying the reported metrics.

    - #### setMetricsName

          public SqlConnectOptions setMetricsName​(String metricsName)

      Set the metrics name identifying the reported metrics, useful for grouping metrics with the same name.
      Parameters:
        `metricsName` - the metrics name
      Returns:
        a reference to this, so the API can be used fluently

    - #### getSslOptions

          public ClientSSLOptions getSslOptions()

    - #### setSslOptions

          public SqlConnectOptions setSslOptions​(ClientSSLOptions sslOptions)

    - #### toJson

          public JsonObject toJson()

    - #### init

          protected void init()

      Initialize with the default options.

    - #### merge

          public SqlConnectOptions merge​(JsonObject other)

      Returns new options created after this object and merged with the `other` json config.
      Parameters:
        `other` - the other JSON object
      Returns:
        new options created after this object and merged with the `other` json config