Module org.hsqldb
Package org.hsqldb.jdbc

## Class JDBCCommonDataSource

- java.lang.Object
- - org.hsqldb.jdbc.JDBCCommonDataSource

- All Implemented Interfaces:
    `java.io.Serializable`, `javax.sql.CommonDataSource`
  Direct Known Subclasses:
    `JDBCDataSource`, `JDBCPooledDataSource`, `JDBCXADataSource`

      public abstract class JDBCCommonDataSource
      extends java.lang.Object
      implements javax.sql.CommonDataSource, java.io.Serializable

  Common base for DataSource implementations. This class implements the methods used for setting the properties for new connections. The setUrl() or setDatabase() methods are used to set the URL. It is possible to set all the rest of required properties in a Properties file and use the setProperties() method. Alternatively, the setXXX() methods for user and password can be used. It is best to use only one method for setting the properties. If setXXX() methods are used, the values override the values set in a call made to setProperties() before or after calling setXXX().
  Since:
    JDK 1.2, HSQLDB 2.0
  Author:
    Fred Toussi (fredt@users dot sourceforge.net)
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `JDBCCommonDataSource()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getDatabase()` | Synonym for getUrl().
    `java.lang.String` | `getDatabaseName()` | Synonym for getUrl().
    `java.lang.String` | `getDataSourceName()` | Retrieves the name of the data source.
    `java.lang.String` | `getDescription()` | Retrieves the description of the data source.
    `int` | `getLoginTimeout()` | Gets the maximum time in seconds that this data source can wait while attempting to connect to a database.
    `java.io.PrintWriter` | `getLogWriter()` | Retrieves the log writer for this `DataSource` object.
    `java.lang.String` | `getNetworkProtocol()` | Retrieves the network protocol of the data source.
    `java.util.logging.Logger` | `getParentLogger()` | Return the parent Logger of all the Loggers used by this data source.
    `java.lang.String` | `getServerName()` | Retrieves the server name attribute.
    `java.lang.String` | `getUrl()` | Retrieves the jdbc database connection url attribute.
    `java.lang.String` | `getURL()` | Retrieves the jdbc database connection url attribute.
    `java.lang.String` | `getUser()` | Retrieves the user name for the connection.
    `void` | `setDatabase​(java.lang.String database)` | Synonym for setUrl(String).
    `void` | `setDatabaseName​(java.lang.String databaseName)` | Synonym for setUrl(String).
    `void` | `setLoginTimeout​(int seconds)` | Sets the maximum time in seconds that this data source will wait while attempting to connect to a database.
    `void` | `setLogWriter​(java.io.PrintWriter out)` | Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.
    `void` | `setPassword​(java.lang.String password)` | Sets the password for the user name.
    `void` | `setProperties​(java.util.Properties props)` | Sets connection properties.
    `void` | `setUrl​(java.lang.String url)` | Sets the jdbc database URL.
    `void` | `setURL​(java.lang.String url)` | Sets the jdbc database URL.
    `void` | `setUser​(java.lang.String user)` | Sets the user name.

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

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

    - ### Methods inherited from interface javax.sql.CommonDataSource

      `createShardingKeyBuilder`

- - ### Constructor Detail

    - #### JDBCCommonDataSource

          public JDBCCommonDataSource()

  - ### Method Detail

    - #### getLogWriter

          public java.io.PrintWriter getLogWriter()
                                           throws java.sql.SQLException

      Retrieves the log writer for this `DataSource` object.

      The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source specific log writer are not printed to the log writer associated with the `java.sql.DriverManager` class. When a `DataSource` object is created, the log writer is initially null; in other words, the default is for logging to be disabled.

      Specified by:
        `getLogWriter` in interface `javax.sql.CommonDataSource`
      Returns:
        the log writer for this data source or null if logging is disabled
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.4
      See Also:
        `setLogWriter(java.io.PrintWriter)`

    - #### setLogWriter

          public void setLogWriter​(java.io.PrintWriter out)
                            throws java.sql.SQLException

      Sets the log writer for this `DataSource` object to the given `java.io.PrintWriter` object.

      The log writer is a character output stream to which all logging and tracing messages for this data source will be printed. This includes messages printed by the methods of this object, messages printed by methods of other objects manufactured by this object, and so on. Messages printed to a data source- specific log writer are not printed to the log writer associated with the `java.sql.DriverManager` class. When a `DataSource` object is created the log writer is initially null; in other words, the default is for logging to be disabled.

      Specified by:
        `setLogWriter` in interface `javax.sql.CommonDataSource`
      Parameters:
        `out` - the new log writer; to disable logging, set to null
      Throws:
        `java.sql.SQLException` - if a database access error occurs
      Since:
        1.4
      See Also:
        `getLogWriter()`

    - #### setLoginTimeout

          public void setLoginTimeout​(int seconds)
                               throws java.sql.SQLException

      Sets the maximum time in seconds that this data source will wait while attempting to connect to a database. A value of zero specifies that the timeout is the default system timeout if there is one; otherwise, it specifies that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.

      Specified by:
        `setLoginTimeout` in interface `javax.sql.CommonDataSource`
      Parameters:
        `seconds` - the data source login time limit
      Throws:
        `java.sql.SQLException` - if a database access error occurs.
      Since:
        1.4
      See Also:
        `getLoginTimeout()`

    - #### getLoginTimeout

          public int getLoginTimeout()
                              throws java.sql.SQLException

      Gets the maximum time in seconds that this data source can wait while attempting to connect to a database. A value of zero means that the timeout is the default system timeout if there is one; otherwise, it means that there is no timeout. When a `DataSource` object is created, the login timeout is initially zero.
      Specified by:
        `getLoginTimeout` in interface `javax.sql.CommonDataSource`
      Returns:
        the data source login time limit
      Throws:
        `java.sql.SQLException` - if a database access error occurs.
      Since:
        1.4
      See Also:
        `setLoginTimeout(int)`

    - #### getDescription

          public java.lang.String getDescription()

      Retrieves the description of the data source.

      Returns:
        the description

    - #### getDataSourceName

          public java.lang.String getDataSourceName()

      Retrieves the name of the data source.

      Returns:
        the description

    - #### getNetworkProtocol

          public java.lang.String getNetworkProtocol()

      Retrieves the network protocol of the data source.

      Returns:
        the network protocol

    - #### getServerName

          public java.lang.String getServerName()

      Retrieves the server name attribute.

      Returns:
        the server name attribute

    - #### getDatabaseName

          public java.lang.String getDatabaseName()

      Synonym for getUrl().
      Returns:
        the jdbc database connection url attribute

    - #### getDatabase

          public java.lang.String getDatabase()

      Synonym for getUrl().
      Returns:
        the jdbc database connection url attribute

    - #### getUrl

          public java.lang.String getUrl()

      Retrieves the jdbc database connection url attribute.

      Returns:
        the jdbc database connection url attribute

    - #### getURL

          public java.lang.String getURL()

      Retrieves the jdbc database connection url attribute.

      Returns:
        the jdbc database connection url attribute

    - #### getUser

          public java.lang.String getUser()

      Retrieves the user name for the connection.

      Returns:
        the username for the connection

    - #### setDatabaseName

          public void setDatabaseName​(java.lang.String databaseName)

      Synonym for setUrl(String).

      Parameters:
        `databaseName` - the new value for the attribute

    - #### setDatabase

          public void setDatabase​(java.lang.String database)

      Synonym for setUrl(String).

      Parameters:
        `database` - the new value for the attribute

    - #### setUrl

          public void setUrl​(java.lang.String url)

      Sets the jdbc database URL.

      Parameters:
        `url` - the new value of this object's jdbc database connection url attribute

    - #### setURL

          public void setURL​(java.lang.String url)

      Sets the jdbc database URL.

      Parameters:
        `url` - the new value of this object's jdbc database connection url attribute

    - #### setPassword

          public void setPassword​(java.lang.String password)

      Sets the password for the user name.
      Parameters:
        `password` - the password

    - #### setUser

          public void setUser​(java.lang.String user)

      Sets the user name.
      Parameters:
        `user` - the user id

    - #### setProperties

          public void setProperties​(java.util.Properties props)

      Sets connection properties. If user / password / loginTimeout has been set with one of the setXXX() methods it will be added to the Properties object.
      Parameters:
        `props` - properties. If null, then existing properties will be cleared/replaced.

    - #### getParentLogger

          public java.util.logging.Logger getParentLogger()
                                                   throws java.sql.SQLFeatureNotSupportedException

      Return the parent Logger of all the Loggers used by this data source. This should be the Logger farthest from the root Logger that is still an ancestor of all of the Loggers used by this data source. Configuring this Logger will affect all of the log messages generated by the data source. In the worst case, this may be the root Logger.
      Specified by:
        `getParentLogger` in interface `javax.sql.CommonDataSource`
      Returns:
        the parent Logger for this data source
      Throws:
        `java.sql.SQLFeatureNotSupportedException` - if the data source does not use `java.util.logging`.
      Since:
        JDK 1.7 M11 2010/09/10 (b123), HSQLDB 2.0.1