## org.apache.commons.configuration
Class DatabaseConfiguration

    java.lang.Object
      org.apache.commons.configuration.event.EventSource
          org.apache.commons.configuration.AbstractConfiguration
              org.apache.commons.configuration.DatabaseConfiguration

All Implemented Interfaces:
  Configuration

    public class DatabaseConfiguration

extends AbstractConfiguration

Configuration stored in a database.

Since:
  1.0
Version:
  $Revision: 439648 $, $Date: 2006-09-02 22:42:10 +0200 (Sa, 02 Sep 2006) $
Author:
  Emmanuel Bourg

Field Summary

Fields inherited from class org.apache.commons.configuration.AbstractConfiguration
`END_TOKEN, EVENT_ADD_PROPERTY, EVENT_CLEAR, EVENT_CLEAR_PROPERTY, EVENT_SET_PROPERTY, START_TOKEN`

Constructor Summary
`DatabaseConfiguration(DataSource datasource, String table, String keyColumn, String valueColumn)` Build a configuration from a table
`DatabaseConfiguration(DataSource datasource, String table, String nameColumn, String keyColumn, String valueColumn, String name)` Build a configuration from a table containing multiple configurations.

Method Summary
`protected void` `addPropertyDirect(String key, Object obj)` Adds a key/value pair to the Configuration.
`void` `clear()` Remove all properties from the configuration.
`void` `clearProperty(String key)` Removes the specified property from this configuration.
`boolean` `containsKey(String key)` Check if the configuration contains the specified key.

`Iterator`

`getKeys()`
Get the list of the keys contained in the configuration. The returned iterator can be used to obtain all defined keys. Note that the exact behavior of the iterator's `remove()` method is specific to a concrete implementation. It may remove the corresponding property from the configuration, but this is not guaranteed. In any case it is no replacement for calling ``Configuration.clearProperty(String)`` for this property. So it is highly recommended to avoid using the iterator's `remove()` method.

`Object` `getProperty(String key)` Gets a property from the configuration.
`boolean` `isEmpty()` Check if the configuration is empty.

Methods inherited from class org.apache.commons.configuration.AbstractConfiguration

`addProperty, clearPropertyDirect, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getDefaultListDelimiter, getDelimiter, getDouble, getDouble, getDouble, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getKeys, getList, getList, getListDelimiter, getLong, getLong, getLong, getProperties, getProperties, getShort, getShort, getShort, getString, getString, getStringArray, interpolate, interpolate, interpolateHelper, isDelimiterParsingDisabled, isThrowExceptionOnMissing, resolveContainerStore, setDefaultListDelimiter, setDelimiter, setDelimiterParsingDisabled, setListDelimiter, setProperty, setThrowExceptionOnMissing, subset`

Methods inherited from class org.apache.commons.configuration.event.EventSource
`addConfigurationListener, clearConfigurationListeners, createEvent, fireEvent, getConfigurationListeners, isDetailEvents, removeConfigurationListener, setDetailEvents`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### DatabaseConfiguration

    public DatabaseConfiguration(DataSource datasource,
                                 String table,
                                 String nameColumn,
                                 String keyColumn,
                                 String valueColumn,
                                 String name)

  Build a configuration from a table containing multiple configurations.

  Parameters:
    `datasource` - the datasource to connect to the database
    `table` - the name of the table containing the configurations
    `nameColumn` - the column containing the name of the configuration
    `keyColumn` - the column containing the keys of the configuration
    `valueColumn` - the column containing the values of the configuration
    `name` - the name of the configuration

### DatabaseConfiguration

    public DatabaseConfiguration(DataSource datasource,
                                 String table,
                                 String keyColumn,
                                 String valueColumn)

  Build a configuration from a table.-

  Parameters:
    `datasource` - the datasource to connect to the database
    `table` - the name of the table containing the configurations
    `keyColumn` - the column containing the keys of the configuration
    `valueColumn` - the column containing the values of the configuration

Method Detail

### getProperty

    public Object getProperty(String key)

  Gets a property from the configuration. This is the most basic get method for retrieving values of properties. In a typical implementation of the `Configuration` interface the other get methods (that return specific data types) will internally make use of this method. On this level variable substitution is not yet performed. The returned object is an internal representation of the property value for the passed in key. It is owned by the `Configuration` object. So a caller should not modify this object. It cannot be guaranteed that this object will stay constant over time (i.e. further update operations on the configuration may change its internal state).

  Parameters:
    `key` - property to retrieve
  Returns:
    the value to which this configuration maps the specified key, or null if the configuration contains no mapping for this key.

### addPropertyDirect

    protected void addPropertyDirect(String key,
                                     Object obj)

  Adds a key/value pair to the Configuration. Override this method to provide write acces to underlying Configuration store.

  Specified by:
    `addPropertyDirect` in class `AbstractConfiguration`
  Parameters:
    `key` - key to use for mapping
    `obj` - object to store

### isEmpty

    public boolean isEmpty()

  Check if the configuration is empty.

  Specified by:
    `isEmpty` in interface `Configuration`
  Specified by:
    `isEmpty` in class `AbstractConfiguration`
  Returns:
    `true` if the configuration contains no property, `false` otherwise.

### containsKey

    public boolean containsKey(String key)

  Check if the configuration contains the specified key.

  Specified by:
    `containsKey` in interface `Configuration`
  Specified by:
    `containsKey` in class `AbstractConfiguration`
  Parameters:
    `key` - the key whose presence in this configuration is to be tested
  Returns:
    `true` if the configuration contains a value for this key, `false` otherwise

### clearProperty

    public void clearProperty(String key)

  Removes the specified property from this configuration. This implementation performs some preparations and then delegates to `clearPropertyDirect()`, which will do the real work.

  Specified by:
    `clearProperty` in interface `Configuration`
  Overrides:
    `clearProperty` in class `AbstractConfiguration`
  Parameters:
    `key` - the key to be removed

### clear

    public void clear()

  Remove all properties from the configuration.

  Specified by:
    `clear` in interface `Configuration`
  Overrides:
    `clear` in class `AbstractConfiguration`

### getKeys

    public Iterator getKeys()

  Get the list of the keys contained in the configuration. The returned iterator can be used to obtain all defined keys. Note that the exact behavior of the iterator's `remove()` method is specific to a concrete implementation. It may remove the corresponding property from the configuration, but this is not guaranteed. In any case it is no replacement for calling ``Configuration.clearProperty(String)`` for this property. So it is highly recommended to avoid using the iterator's `remove()` method.

  Specified by:
    `getKeys` in interface `Configuration`
  Specified by:
    `getKeys` in class `AbstractConfiguration`
  Returns:
    An Iterator.

Copyright © 2001-2006 The Apache Software Foundation. All Rights Reserved.