org.h2.engine

## Class ConnectionInfo

- java.lang.Object
- - org.h2.engine.ConnectionInfo

- All Implemented Interfaces:
    java.lang.Cloneable

      public class ConnectionInfo
      extends java.lang.Object
      implements java.lang.Cloneable

  Encapsulates the connection settings, including user name and password.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ConnectionInfo(java.lang.String name)` Create a connection info object.
    `ConnectionInfo(java.lang.String u, java.util.Properties info, java.lang.String user, java.lang.Object password)` Create a connection info object.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `cleanAuthenticationInfo()` Clear authentication properties.
    `ConnectionInfo` | `clone()`
    `DbSettings` | `getDbSettings()`
    `byte[]` | `getFilePasswordHash()` Get the file password hash if it is set.
    `java.lang.String` | `getName()` Get the unique and normalized database name (excluding settings).
    `org.h2.util.NetworkConnectionInfo` | `getNetworkConnectionInfo()` Returns the network connection information, or `null`.
    `java.lang.String` | `getOriginalURL()` Get the complete original database URL.
    `boolean` | `getProperty(java.lang.String key, boolean defaultValue)` Get a boolean property if it is set and return the value.
    `java.lang.String` | `getProperty(java.lang.String key, java.lang.String defaultValue)` Get the value of the given property.
    `org.h2.util.TimeZoneProvider` | `getTimeZone()` Returns the time zone.
    `java.lang.String` | `getURL()` Get the database URL.
    `java.lang.String` | `getUserName()` Get the name of the user.
    `static boolean` | `isIgnoredByParser(java.lang.String name)` Returns whether setting with the specified name should be ignored by parser.
    `boolean` | `isPersistent()` Check if the referenced database is persistent.
    `boolean` | `isRemote()` Check if this is a remote connection.
    `boolean` | `removeProperty(java.lang.String key, boolean defaultValue)` Remove a boolean property if it is set and return the value.
    `void` | `setBaseDir(java.lang.String dir)` Set the base directory of persistent databases, unless the database is in the user home folder (~).
    `void` | `setFileEncryptionKey(byte[] key)`
    `void` | `setFilePasswordHash(byte[] hash)` Set the file password hash.
    `void` | `setNetworkConnectionInfo(org.h2.util.NetworkConnectionInfo networkConnectionInfo)` Sets the network connection information.
    `void` | `setOriginalURL(java.lang.String url)` Set the original database URL.
    `void` | `setProperty(java.lang.String key, java.lang.String value)` Overwrite a property.
    `void` | `setServerKey(java.lang.String serverKey)` Switch to server mode, and set the server name and database key.
    `void` | `setUserName(java.lang.String name)` Overwrite the user name.
    `void` | `setUserPasswordHash(byte[] hash)` Set the user password hash.

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

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

- - ### Constructor Detail

    - #### ConnectionInfo

          public ConnectionInfo(java.lang.String name)

      Create a connection info object.
      Parameters:
        `name` - the database name (including tags), but without the "jdbc:h2:" prefix

    - #### ConnectionInfo

          public ConnectionInfo(java.lang.String u,
                                java.util.Properties info,
                                java.lang.String user,
                                java.lang.Object password)

      Create a connection info object.
      Parameters:
        `u` - the database URL (must start with jdbc:h2:)
        `info` - the connection properties or `null`
        `user` - the user name or `null`
        `password` - the password as `String` or `char[]`, or `null`

  - ### Method Detail

    - #### isIgnoredByParser

          public static boolean isIgnoredByParser(java.lang.String name)

      Returns whether setting with the specified name should be ignored by parser.
      Parameters:
        `name` - the name of the setting
      Returns:
        whether setting with the specified name should be ignored by parser

    - #### clone

          public ConnectionInfo clone()
                               throws java.lang.CloneNotSupportedException

      Overrides:
        `clone` in class `java.lang.Object`
      Throws:
        `java.lang.CloneNotSupportedException`

    - #### setBaseDir

          public void setBaseDir(java.lang.String dir)

      Set the base directory of persistent databases, unless the database is in the user home folder (~).
      Parameters:
        `dir` - the new base directory

    - #### isRemote

          public boolean isRemote()

      Check if this is a remote connection.
      Returns:
        true if it is

    - #### isPersistent

          public boolean isPersistent()

      Check if the referenced database is persistent.
      Returns:
        true if it is

    - #### getProperty

          public boolean getProperty(java.lang.String key,
                                     boolean defaultValue)

      Get a boolean property if it is set and return the value.
      Parameters:
        `key` - the property name
        `defaultValue` - the default value
      Returns:
        the value

    - #### removeProperty

          public boolean removeProperty(java.lang.String key,
                                        boolean defaultValue)

      Remove a boolean property if it is set and return the value.
      Parameters:
        `key` - the property name
        `defaultValue` - the default value
      Returns:
        the value

    - #### getName

          public java.lang.String getName()

      Get the unique and normalized database name (excluding settings).
      Returns:
        the database name

    - #### getFilePasswordHash

          public byte[] getFilePasswordHash()

      Get the file password hash if it is set.
      Returns:
        the password hash or null

    - #### getUserName

          public java.lang.String getUserName()

      Get the name of the user.
      Returns:
        the user name

    - #### getProperty

          public java.lang.String getProperty(java.lang.String key,
                                              java.lang.String defaultValue)

      Get the value of the given property.
      Parameters:
        `key` - the property key
        `defaultValue` - the default value
      Returns:
        the value as a String

    - #### setUserName

          public void setUserName(java.lang.String name)

      Overwrite the user name. The user name is case-insensitive and stored in uppercase. English conversion is used.
      Parameters:
        `name` - the user name

    - #### setUserPasswordHash

          public void setUserPasswordHash(byte[] hash)

      Set the user password hash.
      Parameters:
        `hash` - the new hash value

    - #### setFilePasswordHash

          public void setFilePasswordHash(byte[] hash)

      Set the file password hash.
      Parameters:
        `hash` - the new hash value

    - #### setFileEncryptionKey

          public void setFileEncryptionKey(byte[] key)

    - #### setProperty

          public void setProperty(java.lang.String key,
                                  java.lang.String value)

      Overwrite a property.
      Parameters:
        `key` - the property name
        `value` - the value

    - #### getURL

          public java.lang.String getURL()

      Get the database URL.
      Returns:
        the URL

    - #### getOriginalURL

          public java.lang.String getOriginalURL()

      Get the complete original database URL.
      Returns:
        the database URL

    - #### setOriginalURL

          public void setOriginalURL(java.lang.String url)

      Set the original database URL.
      Parameters:
        `url` - the database url

    - #### getTimeZone

          public org.h2.util.TimeZoneProvider getTimeZone()

      Returns the time zone.
      Returns:
        the time zone

    - #### setServerKey

          public void setServerKey(java.lang.String serverKey)

      Switch to server mode, and set the server name and database key.
      Parameters:
        `serverKey` - the server name, '/', and the security key

    - #### getNetworkConnectionInfo

          public org.h2.util.NetworkConnectionInfo getNetworkConnectionInfo()

      Returns the network connection information, or `null`.
      Returns:
        the network connection information, or `null`

    - #### setNetworkConnectionInfo

          public void setNetworkConnectionInfo(org.h2.util.NetworkConnectionInfo networkConnectionInfo)

      Sets the network connection information.
      Parameters:
        `networkConnectionInfo` - the network connection information

    - #### getDbSettings

          public DbSettings getDbSettings()

    - #### cleanAuthenticationInfo

          public void cleanAuthenticationInfo()

      Clear authentication properties.