org.apache.commons.configuration
Class DatabaseConfiguration

java.lang.Object
  extended byorg.apache.commons.configuration.event.EventSource
      extended byorg.apache.commons.configuration.AbstractConfiguration
          extended byorg.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. Override this method to provide write acces to underlying Configuration store.
 void clear()
          Remove all properties from the configuration.
 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.
 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. 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).
 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

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

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


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