Package org.h2.engine

Class 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 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.
    • 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 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 NetworkConnectionInfo getNetworkConnectionInfo()
        Returns the network connection information, or null.
        Returns:
        the network connection information, or null
      • setNetworkConnectionInfo

        public void setNetworkConnectionInfo​(NetworkConnectionInfo networkConnectionInfo)
        Sets the network connection information.
        Parameters:
        networkConnectionInfo - the network connection information
      • getDbSettings

        public DbSettings getDbSettings()
      • cleanAuthenticationInfo

        public void cleanAuthenticationInfo()
        Clear authentication properties.