Package org.h2.engine

# Class ConnectionInfo

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

All Implemented Interfaces:
  `Cloneable`

public class ConnectionInfo extends Object implements Cloneable
Encapsulates the connection settings, including user name and password.

## Constructor Summary

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

## Method Summary

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.
`String`
`getName()`
Get the unique and normalized database name (excluding settings).
`NetworkConnectionInfo`
`getNetworkConnectionInfo()`
Returns the network connection information, or `null`.
`String`
`getOriginalURL()`
Get the complete original database URL.
`boolean`
`getProperty(String key, boolean defaultValue)`
Get a boolean property if it is set and return the value.
`String`
`getProperty(String key, String defaultValue)`
Get the value of the given property.
`TimeZoneProvider`
`getTimeZone()`
Returns the time zone.
`String`
`getURL()`
Get the database URL.
`String`
`getUserName()`
Get the name of the user.
`static boolean`
`isIgnoredByParser(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(String key, boolean defaultValue)`
Remove a boolean property if it is set and return the value.
`void`
`setBaseDir(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(NetworkConnectionInfo networkConnectionInfo)`
Sets the network connection information.
`void`
`setOriginalURL(String url)`
Set the original database URL.
`void`
`setProperty(String key, String value)`
Overwrite a property.
`void`
`setServerKey(String serverKey)`
Switch to server mode, and set the server name and database key.
`void`
`setUserName(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 Details

### ConnectionInfo

public ConnectionInfo(String name)
Create a connection info object.

Parameters:
  `name` - the database name (including tags), but without the "jdbc:h2:" prefix

### ConnectionInfo

public ConnectionInfo(String u, Properties info, String user, 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 Details

### isIgnoredByParser

public static boolean isIgnoredByParser(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 CloneNotSupportedException

Overrides:
  `clone` in class `Object`
Throws:
  `CloneNotSupportedException`

### setBaseDir

public void setBaseDir(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(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(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 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 String getUserName()
Get the name of the user.

Returns:
  the user name

### getProperty

public String getProperty(String key, 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(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(String key, String value)
Overwrite a property.

Parameters:
  `key` - the property name
  `value` - the value

### getURL

public String getURL()
Get the database URL.

Returns:
  the URL

### getOriginalURL

public String getOriginalURL()
Get the complete original database URL.

Returns:
  the database URL

### setOriginalURL

public void setOriginalURL(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(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.