## org.apache.commons.collections
Class ExtendedProperties

    java.lang.Object
      java.util.Dictionary
          java.util.Hashtable
              org.apache.commons.collections.ExtendedProperties

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable, java.util.Map

    public class ExtendedProperties

extends java.util.Hashtable

This class extends normal Java properties by adding the possibility to use the same key many times concatenating the value strings instead of overwriting them.

Please consider using the `PropertiesConfiguration` class in Commons-Configuration as soon as it is released.

The Extended Properties syntax is explained here:

- Each property has the syntax `key = value`
- The key may use any character but the equal sign '='.
- value may be separated on different lines if a backslash is placed at the end of the line that continues below.
- If value is a list of strings, each token is separated by a comma ','.
- Commas in each token are escaped placing a backslash right before the comma.
- Backslashes are escaped by using two consecutive backslashes i.e. \\
- If a key is used more than once, the values are appended as if they were on the same line separated with commas.
- Blank lines and lines starting with character '#' are skipped.
- If a property is named "include" (or whatever is defined by setInclude() and getInclude() and the value of that property is the full path to a file on disk, that file will be included into the ConfigurationsRepository. You can also pull in files relative to the parent configuration file. So if you have something like the following: include = additional.properties Then "additional.properties" is expected to be in the same directory as the parent configuration file. Duplicate name values will be replaced, so be careful.

Here is an example of a valid extended properties file:

          # lines starting with # are comments

          # This is the simplest property
          key = value

          # A long property may be separated on multiple lines
          longvalue = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa \
                      aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

          # This is a property with many tokens
          tokens_on_a_line = first token, second token

          # This sequence generates exactly the same result
          tokens_on_multiple_lines = first token
          tokens_on_multiple_lines = second token

          # commas may be escaped in tokens
          commas.escaped = Hi\, what'up?

NOTE: this class has not been written for performance nor low memory usage. In fact, it's way slower than it could be and generates too much memory garbage. But since performance is not an issue during intialization (and there is not much time to improve it), I wrote it this way. If you don't like it, go ahead and tune it up!

Since:
  Commons Collections 1.0
Version:
  $Revision: 646777 $ $Date: 2008-04-10 13:33:15 +0100 (Thu, 10 Apr 2008) $
Author:
  Stefano Mazzocchi, Jon S. Stevens, Dave Bryson, Jason van Zyl, Geir Magnusson Jr., Leon Messerschmidt, Kent Johnson, Daniel Rall, Ilkka Priha, Janek Bogucki, Mohan Kishore, Stephen Colebourne, Shinobu Kawai, Henning P. Schmiedehausen
See Also:
  Serialized Form

Field Summary
`protected java.lang.String` `basePath` Base path of the configuration file used to create this ExtendedProperties object.
`protected static java.lang.String` `END_TOKEN`
`protected java.lang.String` `file` The file connected to this repository (holding comments and such).
`protected java.lang.String` `fileSeparator` File separator.
`protected static java.lang.String` `include` This is the name of the property that can point to other properties file for including other properties files.
`protected boolean` `isInitialized` Has this configuration been intialized.
`protected java.util.ArrayList` `keysAsListed` These are the keys in the order they listed in the configuration file.
`protected static java.lang.String` `START_TOKEN`

Constructor Summary
`ExtendedProperties()` Creates an empty extended properties object.
`ExtendedProperties(java.lang.String file)` Creates and loads the extended properties from the specified file.
`ExtendedProperties(java.lang.String file, java.lang.String defaultFile)` Creates and loads the extended properties from the specified file.

Method Summary
`void` `addProperty(java.lang.String key, java.lang.Object value)` Add a property to the configuration.
`void` `clearProperty(java.lang.String key)` Clear a property in the configuration.
`void` `combine(ExtendedProperties props)` Combines an existing Hashtable with this Hashtable.
`static ExtendedProperties` `convertProperties(java.util.Properties props)` Convert a standard properties class into a configuration class.
`void` `display()` Display the configuration for debugging purposes to System.out.
`boolean` `getBoolean(java.lang.String key)` Get a boolean associated with the given configuration key.
`boolean` `getBoolean(java.lang.String key, boolean defaultValue)` Get a boolean associated with the given configuration key.
`java.lang.Boolean` `getBoolean(java.lang.String key, java.lang.Boolean defaultValue)` Get a boolean associated with the given configuration key.
`byte` `getByte(java.lang.String key)` Get a byte associated with the given configuration key.
`byte` `getByte(java.lang.String key, byte defaultValue)` Get a byte associated with the given configuration key.
`java.lang.Byte` `getByte(java.lang.String key, java.lang.Byte defaultValue)` Get a byte associated with the given configuration key.
`double` `getDouble(java.lang.String key)` Get a double associated with the given configuration key.
`double` `getDouble(java.lang.String key, double defaultValue)` Get a double associated with the given configuration key.
`java.lang.Double` `getDouble(java.lang.String key, java.lang.Double defaultValue)` Get a double associated with the given configuration key.
`float` `getFloat(java.lang.String key)` Get a float associated with the given configuration key.
`float` `getFloat(java.lang.String key, float defaultValue)` Get a float associated with the given configuration key.
`java.lang.Float` `getFloat(java.lang.String key, java.lang.Float defaultValue)` Get a float associated with the given configuration key.
`java.lang.String` `getInclude()` Gets the property value for including other properties files.
`int` `getInt(java.lang.String name)` The purpose of this method is to get the configuration resource with the given name as an integer.
`int` `getInt(java.lang.String name, int def)` The purpose of this method is to get the configuration resource with the given name as an integer, or a default value.
`int` `getInteger(java.lang.String key)` Get a int associated with the given configuration key.
`int` `getInteger(java.lang.String key, int defaultValue)` Get a int associated with the given configuration key.
`java.lang.Integer` `getInteger(java.lang.String key, java.lang.Integer defaultValue)` Get a int associated with the given configuration key.
`java.util.Iterator` `getKeys()` Get the list of the keys contained in the configuration repository.
`java.util.Iterator` `getKeys(java.lang.String prefix)` Get the list of the keys contained in the configuration repository that match the specified prefix.
`java.util.List` `getList(java.lang.String key)` Get a List of strings associated with the given configuration key.
`java.util.List` `getList(java.lang.String key, java.util.List defaultValue)` Get a List of strings associated with the given configuration key.
`long` `getLong(java.lang.String key)` Get a long associated with the given configuration key.
`long` `getLong(java.lang.String key, long defaultValue)` Get a long associated with the given configuration key.
`java.lang.Long` `getLong(java.lang.String key, java.lang.Long defaultValue)` Get a long associated with the given configuration key.
`java.util.Properties` `getProperties(java.lang.String key)` Get a list of properties associated with the given configuration key.
`java.util.Properties` `getProperties(java.lang.String key, java.util.Properties defaults)` Get a list of properties associated with the given configuration key.
`java.lang.Object` `getProperty(java.lang.String key)` Gets a property from the configuration.
`short` `getShort(java.lang.String key)` Get a short associated with the given configuration key.
`short` `getShort(java.lang.String key, short defaultValue)` Get a short associated with the given configuration key.
`java.lang.Short` `getShort(java.lang.String key, java.lang.Short defaultValue)` Get a short associated with the given configuration key.
`java.lang.String` `getString(java.lang.String key)` Get a string associated with the given configuration key.
`java.lang.String` `getString(java.lang.String key, java.lang.String defaultValue)` Get a string associated with the given configuration key.
`java.lang.String[]` `getStringArray(java.lang.String key)` Get an array of strings associated with the given configuration key.
`java.util.Vector` `getVector(java.lang.String key)` Get a Vector of strings associated with the given configuration key.
`java.util.Vector` `getVector(java.lang.String key, java.util.Vector defaultValue)` Get a Vector of strings associated with the given configuration key.
`protected java.lang.String` `interpolate(java.lang.String base)` Interpolate key names to handle ${key} stuff
`protected java.lang.String` `interpolateHelper(java.lang.String base, java.util.List priorVariables)` Recursive handler for multiple levels of interpolation.
`boolean` `isInitialized()` Indicate to client code whether property resources have been initialized or not.
`void` `load(java.io.InputStream input)` Load the properties from the given input stream.
`void` `load(java.io.InputStream input, java.lang.String enc)` Load the properties from the given input stream and using the specified encoding.
`void` `save(java.io.OutputStream output, java.lang.String header)` Save the properties to the given output stream.
`void` `setInclude(java.lang.String inc)` Sets the property value for including other properties files.
`void` `setProperty(java.lang.String key, java.lang.Object value)` Set a property, this will replace any previously set values.
`ExtendedProperties` `subset(java.lang.String prefix)` Create an ExtendedProperties object that is a subset of this one.
`java.lang.String` `testBoolean(java.lang.String value)` Test whether the string represent by value maps to a boolean value or not.

Methods inherited from class java.util.Hashtable
`clear, clone, contains, containsKey, containsValue, elements, entrySet, equals, get, hashCode, isEmpty, keys, keySet, put, putAll, rehash, remove, size, toString, values`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### file

    protected java.lang.String file

  The file connected to this repository (holding comments and such).

### basePath

    protected java.lang.String basePath

  Base path of the configuration file used to create this ExtendedProperties object.

### fileSeparator

    protected java.lang.String fileSeparator

  File separator.

### isInitialized

    protected boolean isInitialized

  Has this configuration been intialized.

### include

    protected static java.lang.String include

  This is the name of the property that can point to other properties file for including other properties files.

### keysAsListed

    protected java.util.ArrayList keysAsListed

  These are the keys in the order they listed in the configuration file. This is useful when you wish to perform operations with configuration information in a particular order.

### START_TOKEN

    protected static final java.lang.String START_TOKEN

See Also:
  Constant Field Values

### END_TOKEN

    protected static final java.lang.String END_TOKEN

See Also:
  Constant Field Values

Constructor Detail

### ExtendedProperties

    public ExtendedProperties()

  Creates an empty extended properties object.

### ExtendedProperties

    public ExtendedProperties(java.lang.String file)
                       throws java.io.IOException

  Creates and loads the extended properties from the specified file.

  Parameters:
    `file` - the filename to load
  Throws:
    `java.io.IOException` - if a file error occurs

### ExtendedProperties

    public ExtendedProperties(java.lang.String file,
                              java.lang.String defaultFile)
                       throws java.io.IOException

  Creates and loads the extended properties from the specified file.

  Parameters:
    `file` - the filename to load
    `defaultFile` - a second filename to load default values from
  Throws:
    `java.io.IOException` - if a file error occurs

Method Detail

### interpolate

    protected java.lang.String interpolate(java.lang.String base)

  Interpolate key names to handle ${key} stuff

  Parameters:
    `base` - string to interpolate
  Returns:
    returns the key name with the ${key} substituted

### interpolateHelper

    protected java.lang.String interpolateHelper(java.lang.String base,
                                                 java.util.List priorVariables)

  Recursive handler for multiple levels of interpolation. When called the first time, priorVariables should be null.

  Parameters:
    `base` - string with the ${key} variables
    `priorVariables` - serves two purposes: to allow checking for loops, and creating a meaningful exception message should a loop occur. It's 0'th element will be set to the value of base from the first call. All subsequent interpolated variables are added afterward.
  Returns:
    the string with the interpolation taken care of

### isInitialized

    public boolean isInitialized()

  Indicate to client code whether property resources have been initialized or not.

### getInclude

    public java.lang.String getInclude()

  Gets the property value for including other properties files. By default it is "include".

  Returns:
    A String.

### setInclude

    public void setInclude(java.lang.String inc)

  Sets the property value for including other properties files. By default it is "include".

  Parameters:
    `inc` - A String.

### load

    public void load(java.io.InputStream input)
              throws java.io.IOException

  Load the properties from the given input stream.

  Parameters:
    `input` - the InputStream to load from
  Throws:
    `java.io.IOException` - if an IO error occurs

### load

    public void load(java.io.InputStream input,
                     java.lang.String enc)
              throws java.io.IOException

  Load the properties from the given input stream and using the specified encoding.

  Parameters:
    `input` - the InputStream to load from
    `enc` - the encoding to use
  Throws:
    `java.io.IOException` - if an IO error occurs

### getProperty

    public java.lang.Object getProperty(java.lang.String key)

  Gets a property from the configuration.

  Parameters:
    `key` - property to retrieve
  Returns:
    value as object. Will return user value if exists, if not then default value if exists, otherwise null

### addProperty

    public void addProperty(java.lang.String key,
                            java.lang.Object value)

  Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, if `resource.loader = file` is already present in the configuration and you `addProperty("resource.loader", "classpath")` Then you will end up with a Vector like the following: `["file", "classpath"]`

  Parameters:
    `key` - the key to add
    `value` - the value to add

### setProperty

    public void setProperty(java.lang.String key,
                            java.lang.Object value)

  Set a property, this will replace any previously set values. Set values is implicitly a call to clearProperty(key), addProperty(key,value).

  Parameters:
    `key` - the key to set
    `value` - the value to set

### save

    public void save(java.io.OutputStream output,
                     java.lang.String header)
              throws java.io.IOException

  Save the properties to the given output stream.

  The stream is not closed, but it is flushed.

  Parameters:
    `output` - an OutputStream, may be null
    `header` - a textual comment to act as a file header
  Throws:
    `java.io.IOException` - if an IO error occurs

### combine

    public void combine(ExtendedProperties props)

  Combines an existing Hashtable with this Hashtable.

  Warning: It will overwrite previous entries without warning.

  Parameters:
    `props` - the properties to combine

### clearProperty

    public void clearProperty(java.lang.String key)

  Clear a property in the configuration.

  Parameters:
    `key` - the property key to remove along with corresponding value

### getKeys

    public java.util.Iterator getKeys()

  Get the list of the keys contained in the configuration repository.

  Returns:
    an Iterator over the keys

### getKeys

    public java.util.Iterator getKeys(java.lang.String prefix)

  Get the list of the keys contained in the configuration repository that match the specified prefix.

  Parameters:
    `prefix` - the prefix to match
  Returns:
    an Iterator of keys that match the prefix

### subset

    public ExtendedProperties subset(java.lang.String prefix)

  Create an ExtendedProperties object that is a subset of this one. Take into account duplicate keys by using the setProperty() in ExtendedProperties.

  Parameters:
    `prefix` - the prefix to get a subset for
  Returns:
    a new independent ExtendedProperties

### display

    public void display()

  Display the configuration for debugging purposes to System.out.

### getString

    public java.lang.String getString(java.lang.String key)

  Get a string associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated string.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a String.

### getString

    public java.lang.String getString(java.lang.String key,
                                      java.lang.String defaultValue)

  Get a string associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated string if key is found, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a String.

### getProperties

    public java.util.Properties getProperties(java.lang.String key)

  Get a list of properties associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated properties if key is found.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a String/List.
    `java.lang.IllegalArgumentException` - if one of the tokens is malformed (does not contain an equals sign).

### getProperties

    public java.util.Properties getProperties(java.lang.String key,
                                              java.util.Properties defaults)

  Get a list of properties associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated properties if key is found.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a String/List.
    `java.lang.IllegalArgumentException` - if one of the tokens is malformed (does not contain an equals sign).

### getStringArray

    public java.lang.String[] getStringArray(java.lang.String key)

  Get an array of strings associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated string array if key is found.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a String/List.

### getVector

    public java.util.Vector getVector(java.lang.String key)

  Get a Vector of strings associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated Vector.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Vector.

### getVector

    public java.util.Vector getVector(java.lang.String key,
                                      java.util.Vector defaultValue)

  Get a Vector of strings associated with the given configuration key.

  The list is a copy of the internal data of this object, and as such you may alter it freely.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated Vector.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Vector.

### getList

    public java.util.List getList(java.lang.String key)

  Get a List of strings associated with the given configuration key.

  The list is a copy of the internal data of this object, and as such you may alter it freely.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated List object.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a List.
  Since:
    Commons Collections 3.2

### getList

    public java.util.List getList(java.lang.String key,
                                  java.util.List defaultValue)

  Get a List of strings associated with the given configuration key.

  The list is a copy of the internal data of this object, and as such you may alter it freely.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated List.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a List.
  Since:
    Commons Collections 3.2

### getBoolean

    public boolean getBoolean(java.lang.String key)

  Get a boolean associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated boolean.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Boolean.

### getBoolean

    public boolean getBoolean(java.lang.String key,
                              boolean defaultValue)

  Get a boolean associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated boolean.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Boolean.

### getBoolean

    public java.lang.Boolean getBoolean(java.lang.String key,
                                        java.lang.Boolean defaultValue)

  Get a boolean associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated boolean if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Boolean.

### testBoolean

    public java.lang.String testBoolean(java.lang.String value)

  Test whether the string represent by value maps to a boolean value or not. We will allow `true`, `on`, and `yes` for a `true` boolean value, and `false`, `off`, and `no` for `false` boolean values. Case of value to test for boolean status is ignored.

  Parameters:
    `value` - the value to test for boolean state
  Returns:
    `true` or `false` if the supplied text maps to a boolean value, or `null` otherwise.

### getByte

    public byte getByte(java.lang.String key)

  Get a byte associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated byte.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Byte.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getByte

    public byte getByte(java.lang.String key,
                        byte defaultValue)

  Get a byte associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated byte.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Byte.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getByte

    public java.lang.Byte getByte(java.lang.String key,
                                  java.lang.Byte defaultValue)

  Get a byte associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated byte if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Byte.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getShort

    public short getShort(java.lang.String key)

  Get a short associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated short.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Short.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getShort

    public short getShort(java.lang.String key,
                          short defaultValue)

  Get a short associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated short.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Short.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getShort

    public java.lang.Short getShort(java.lang.String key,
                                    java.lang.Short defaultValue)

  Get a short associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated short if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Short.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getInt

    public int getInt(java.lang.String name)

  The purpose of this method is to get the configuration resource with the given name as an integer.

  Parameters:
    `name` - The resource name.
  Returns:
    The value of the resource as an integer.

### getInt

    public int getInt(java.lang.String name,
                      int def)

  The purpose of this method is to get the configuration resource with the given name as an integer, or a default value.

  Parameters:
    `name` - The resource name
    `def` - The default value of the resource.
  Returns:
    The value of the resource as an integer.

### getInteger

    public int getInteger(java.lang.String key)

  Get a int associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated int.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Integer.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getInteger

    public int getInteger(java.lang.String key,
                          int defaultValue)

  Get a int associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated int.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Integer.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getInteger

    public java.lang.Integer getInteger(java.lang.String key,
                                        java.lang.Integer defaultValue)

  Get a int associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated int if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Integer.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getLong

    public long getLong(java.lang.String key)

  Get a long associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated long.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Long.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getLong

    public long getLong(java.lang.String key,
                        long defaultValue)

  Get a long associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated long.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Long.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getLong

    public java.lang.Long getLong(java.lang.String key,
                                  java.lang.Long defaultValue)

  Get a long associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated long if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Long.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getFloat

    public float getFloat(java.lang.String key)

  Get a float associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated float.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Float.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getFloat

    public float getFloat(java.lang.String key,
                          float defaultValue)

  Get a float associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated float.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Float.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getFloat

    public java.lang.Float getFloat(java.lang.String key,
                                    java.lang.Float defaultValue)

  Get a float associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated float if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Float.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getDouble

    public double getDouble(java.lang.String key)

  Get a double associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
  Returns:
    The associated double.
  Throws:
    `java.util.NoSuchElementException` - is thrown if the key doesn't map to an existing object.
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Double.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getDouble

    public double getDouble(java.lang.String key,
                            double defaultValue)

  Get a double associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated double.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Double.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### getDouble

    public java.lang.Double getDouble(java.lang.String key,
                                      java.lang.Double defaultValue)

  Get a double associated with the given configuration key.

  Parameters:
    `key` - The configuration key.
    `defaultValue` - The default value.
  Returns:
    The associated double if key is found and has valid format, default value otherwise.
  Throws:
    `java.lang.ClassCastException` - is thrown if the key maps to an object that is not a Double.
    `java.lang.NumberFormatException` - is thrown if the value mapped by the key has not a valid number format.

### convertProperties

    public static ExtendedProperties convertProperties(java.util.Properties props)

  Convert a standard properties class into a configuration class.

  NOTE: From Commons Collections 3.2 this method will pick up any default parent Properties of the specified input object.

  Parameters:
    `props` - the properties object to convert
  Returns:
    new ExtendedProperties created from props

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