JDBC4ClientInfoProvider
Date: 2016-03-08

com.mysql.jdbc

## Interface JDBC4ClientInfoProvider

- All Known Implementing Classes:
    JDBC4ClientInfoProviderSP, JDBC4CommentClientInfoProvider

      public interface JDBC4ClientInfoProvider

  Classes that implement this interface and provide a no-args constructor can be used by the driver to store and retrieve client information and/or labels. The driver will create an instance for each Connection instance, and call initialize() once and only once. When the connection is closed, destroy() will be called, and the provider is expected to clean up any resources at this time.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `destroy()` Called once by the driver when the connection this provider instance belongs to is being closed.
    `java.util.Properties` | `getClientInfo(java.sql.Connection conn)` Returns the client info for the connection that this provider instance belongs to.
    `java.lang.String` | `getClientInfo(java.sql.Connection conn, java.lang.String name)` Returns the client info for the connection that this provider instance belongs to.
    `void` | `initialize(java.sql.Connection conn, java.util.Properties configurationProps)` Called once by the driver when it needs to configure the provider.
    `void` | `setClientInfo(java.sql.Connection conn, java.util.Properties properties)` Sets the client info for the connection that this provider instance belongs to.
    `void` | `setClientInfo(java.sql.Connection conn, java.lang.String name, java.lang.String value)` Sets the client info for the connection that this provider instance belongs to.

- - ### Method Detail

    - #### initialize

          void initialize(java.sql.Connection conn,
                        java.util.Properties configurationProps)
                          throws java.sql.SQLException

      Called once by the driver when it needs to configure the provider.
      Parameters:
        `conn` - the connection that the provider belongs too.
        `configurationProps` - a java.util.Properties instance that contains configuration information for the connection.
      Throws:
        `java.sql.SQLException` - if initialization fails.

    - #### destroy

          void destroy()
                       throws java.sql.SQLException

      Called once by the driver when the connection this provider instance belongs to is being closed. Implementations are expected to clean up and resources at this point in time.
      Throws:
        `java.sql.SQLException` - if an error occurs.

    - #### getClientInfo

          java.util.Properties getClientInfo(java.sql.Connection conn)
                                             throws java.sql.SQLException

      Returns the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Parameters:
        `conn` -
      Returns:
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.getClientInfo()`

    - #### getClientInfo

          java.lang.String getClientInfo(java.sql.Connection conn,
                                       java.lang.String name)
                                         throws java.sql.SQLException

      Returns the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Parameters:
        `conn` -
      Returns:
      Throws:
        `java.sql.SQLException`
      See Also:
        `Connection.getClientInfo(java.lang.String)`

    - #### setClientInfo

          void setClientInfo(java.sql.Connection conn,
                           java.util.Properties properties)
                             throws java.sql.SQLClientInfoException

      Sets the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Parameters:
        `conn` -
      Throws:
        `java.sql.SQLException`
        `java.sql.SQLClientInfoException`
      See Also:
        `Connection.setClientInfo(java.util.Properties)`

    - #### setClientInfo

          void setClientInfo(java.sql.Connection conn,
                           java.lang.String name,
                           java.lang.String value)
                             throws java.sql.SQLClientInfoException

      Sets the client info for the connection that this provider instance belongs to. The connection instance is passed as an argument for convenience's sake. Providers can use the connection to communicate with the database, but it will be within the scope of any ongoing transactions, so therefore implementations should not attempt to change isolation level, autocommit settings or call rollback() or commit() on the connection.
      Parameters:
        `conn` -
      Throws:
        `java.sql.SQLException`
        `java.sql.SQLClientInfoException`
      See Also:
        `Connection.setClientInfo(java.lang.String,java.lang.String)`