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.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method 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.