Package com.mckoi.database.control

## Class DefaultDBConfig

- java.lang.Object
- - com.mckoi.database.control.AbstractDBConfig
  - - com.mckoi.database.control.DefaultDBConfig

All Implemented Interfaces:
  `DBConfig`

    public class DefaultDBConfig
    extends AbstractDBConfig

Implements a default database configuration that is useful for setting up a database. This configuration object is mutable. Configuration properties can be set by calling the 'setxxx' methods.

Author:
  Tobias Downer

### Constructor Summary

Constructors
`DefaultDBConfig()` Constructs the configuration with the current system path as the configuration path.
`DefaultDBConfig​(java.io.File current_path)` Constructs the configuration.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected java.lang.String` `getDefaultValue​(java.lang.String property_key)` Gets the default value for the given property value.
`void` `loadFromFile​(java.io.File configuration_file)` Loads all the configuration settings from a configuration file.
`void` `loadFromStream​(java.io.InputStream input)` Loads all the configuration values from the given InputStream.
`void` `loadFromURL​(java.net.URL configuration_url)` Loads all the configuration values from the given URL.
`void` `setDatabasePath​(java.lang.String path)` Sets the path of the database.
`void` `setIgnoreIdentifierCase​(boolean status)` Sets that the engine ignores case for identifiers.
`void` `setLogPath​(java.lang.String path)` Sets the path of the log.
`void` `setMinimumDebugLevel​(int debug_level)` Sets the minimum debug level for output to the debug log file.
`void` `setReadOnly​(boolean status)` Sets that the database is read only.
`void` `setValue​(java.lang.String property_key, java.lang.String value)` Overwrites the configuration key with the given value.

### Methods inherited from class com.mckoi.database.control.AbstractDBConfig

`currentPath, getValue, immutableCopy`

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

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

### Constructor Detail

#### DefaultDBConfig

    public DefaultDBConfig​(java.io.File current_path)

Constructs the configuration.

Parameters:
  `the` - current path of the configuration in the file system. This is useful if the configuration is based on a file with relative paths set in it.

#### DefaultDBConfig

    public DefaultDBConfig()

Constructs the configuration with the current system path as the configuration path.

### Method Detail

#### getDefaultValue

    protected java.lang.String getDefaultValue​(java.lang.String property_key)

Gets the default value for the given property value.

Overrides:
  `getDefaultValue` in class `AbstractDBConfig`

#### setValue

    public void setValue​(java.lang.String property_key,
                         java.lang.String value)

Overwrites the configuration key with the given value.

Overrides:
  `setValue` in class `AbstractDBConfig`

#### loadFromStream

    public void loadFromStream​(java.io.InputStream input)
                        throws java.io.IOException

Loads all the configuration values from the given InputStream. The input stream must be formatted in a standard properties format.

Throws:
  `java.io.IOException`

#### loadFromFile

    public void loadFromFile​(java.io.File configuration_file)
                      throws java.io.IOException

Loads all the configuration settings from a configuration file. Useful if you want to load a default configuration from a 'db.conf' file. The file must be formatted in a standard properties format.

Throws:
  `java.io.IOException`

#### loadFromURL

    public void loadFromURL​(java.net.URL configuration_url)
                     throws java.io.IOException

Loads all the configuration values from the given URL. The file must be formatted in a standard properties format.

Throws:
  `java.io.IOException`

#### setDatabasePath

    public void setDatabasePath​(java.lang.String path)

Sets the path of the database.

#### setLogPath

    public void setLogPath​(java.lang.String path)

Sets the path of the log.

#### setIgnoreIdentifierCase

    public void setIgnoreIdentifierCase​(boolean status)

Sets that the engine ignores case for identifiers.

#### setReadOnly

    public void setReadOnly​(boolean status)

Sets that the database is read only.

#### setMinimumDebugLevel

    public void setMinimumDebugLevel​(int debug_level)

Sets the minimum debug level for output to the debug log file.