org.apache.commons.collections
public class ExtendedProperties extends Hashtable
Please consider using the PropertiesConfiguration
class in
Commons-Configuration as soon as it is released.
The Extended Properties syntax is explained here:
key = value
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: 405927 $ $Date: 2006-05-12 23:57:03 +0100 (Fri, 12 May 2006) $
Field Summary | |
---|---|
protected String | basePath
Base path of the configuration file used to create
this ExtendedProperties object. |
protected static String | END_TOKEN |
protected String | file
The file connected to this repository (holding comments and
such).
|
protected String | fileSeparator
File separator. |
protected static 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 ArrayList | keysAsListed
These are the keys in the order they listed
in the configuration file. |
protected static String | START_TOKEN |
Constructor Summary | |
---|---|
ExtendedProperties()
Creates an empty extended properties object. | |
ExtendedProperties(String file)
Creates and loads the extended properties from the specified file.
| |
ExtendedProperties(String file, String defaultFile)
Creates and loads the extended properties from the specified file.
|
Method Summary | |
---|---|
void | addProperty(String key, Object value)
Add a property to the configuration. |
void | clearProperty(String key)
Clear a property in the configuration.
|
void | combine(ExtendedProperties props)
Combines an existing Hashtable with this Hashtable.
|
static ExtendedProperties | convertProperties(Properties props)
Convert a standard properties class into a configuration class.
|
void | display()
Display the configuration for debugging purposes to System.out. |
boolean | getBoolean(String key)
Get a boolean associated with the given configuration key.
|
boolean | getBoolean(String key, boolean defaultValue)
Get a boolean associated with the given configuration key.
|
Boolean | getBoolean(String key, Boolean defaultValue)
Get a boolean associated with the given configuration key.
|
byte | getByte(String key)
Get a byte associated with the given configuration key.
|
byte | getByte(String key, byte defaultValue)
Get a byte associated with the given configuration key.
|
Byte | getByte(String key, Byte defaultValue)
Get a byte associated with the given configuration key.
|
double | getDouble(String key)
Get a double associated with the given configuration key.
|
double | getDouble(String key, double defaultValue)
Get a double associated with the given configuration key.
|
Double | getDouble(String key, Double defaultValue)
Get a double associated with the given configuration key.
|
float | getFloat(String key)
Get a float associated with the given configuration key.
|
float | getFloat(String key, float defaultValue)
Get a float associated with the given configuration key.
|
Float | getFloat(String key, Float defaultValue)
Get a float associated with the given configuration key.
|
String | getInclude()
Gets the property value for including other properties files.
|
int | getInt(String name)
The purpose of this method is to get the configuration resource
with the given name as an integer.
|
int | getInt(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(String key)
Get a int associated with the given configuration key.
|
int | getInteger(String key, int defaultValue)
Get a int associated with the given configuration key.
|
Integer | getInteger(String key, Integer defaultValue)
Get a int associated with the given configuration key.
|
Iterator | getKeys()
Get the list of the keys contained in the configuration
repository.
|
Iterator | getKeys(String prefix)
Get the list of the keys contained in the configuration
repository that match the specified prefix.
|
List | getList(String key)
Get a List of strings associated with the given configuration key.
|
List | getList(String key, List defaultValue)
Get a List of strings associated with the given configuration key.
|
long | getLong(String key)
Get a long associated with the given configuration key.
|
long | getLong(String key, long defaultValue)
Get a long associated with the given configuration key.
|
Long | getLong(String key, Long defaultValue)
Get a long associated with the given configuration key.
|
Properties | getProperties(String key)
Get a list of properties associated with the given
configuration key.
|
Properties | getProperties(String key, Properties defaults)
Get a list of properties associated with the given
configuration key.
|
Object | getProperty(String key)
Gets a property from the configuration.
|
short | getShort(String key)
Get a short associated with the given configuration key.
|
short | getShort(String key, short defaultValue)
Get a short associated with the given configuration key.
|
Short | getShort(String key, Short defaultValue)
Get a short associated with the given configuration key.
|
String | getString(String key)
Get a string associated with the given configuration key.
|
String | getString(String key, String defaultValue)
Get a string associated with the given configuration key.
|
String[] | getStringArray(String key)
Get an array of strings associated with the given configuration
key.
|
Vector | getVector(String key)
Get a Vector of strings associated with the given configuration
key.
|
Vector | getVector(String key, Vector defaultValue)
Get a Vector of strings associated with the given configuration key.
|
protected String | interpolate(String base)
Interpolate key names to handle ${key} stuff
|
protected String | interpolateHelper(String base, 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(InputStream input)
Load the properties from the given input stream.
|
void | load(InputStream input, String enc)
Load the properties from the given input stream
and using the specified encoding.
|
void | save(OutputStream output, String header)
Save the properties to the given output stream.
|
void | setInclude(String inc)
Sets the property value for including other properties files.
|
void | setProperty(String key, Object value)
Set a property, this will replace any previously
set values. |
ExtendedProperties | subset(String prefix)
Create an ExtendedProperties object that is a subset
of this one. |
String | testBoolean(String value)
Test whether the string represent by value maps to a boolean
value or not. |
Serial:
Parameters: file the filename to load
Throws: IOException if a file error occurs
Parameters: file the filename to load defaultFile a second filename to load default values from
Throws: IOException if a file error occurs
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
Parameters: key the property key to remove along with corresponding value
Warning: It will overwrite previous entries without warning.
Parameters: props the properties to combine
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
Parameters: key The configuration key.
Returns: The associated boolean.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Boolean.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated boolean.
Throws: ClassCastException is thrown if the key maps to an object that is not a Boolean.
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: ClassCastException is thrown if the key maps to an object that is not a Boolean.
Parameters: key The configuration key.
Returns: The associated byte.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Byte. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated byte.
Throws: ClassCastException is thrown if the key maps to an object that is not a Byte. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Byte. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key.
Returns: The associated double.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Double. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated double.
Throws: ClassCastException is thrown if the key maps to an object that is not a Double. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Double. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key.
Returns: The associated float.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Float. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated float.
Throws: ClassCastException is thrown if the key maps to an object that is not a Float. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Float. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Returns: A String.
Parameters: name The resource name.
Returns: The value of the resource as an integer.
Parameters: name The resource name def The default value of the resource.
Returns: The value of the resource as an integer.
Parameters: key The configuration key.
Returns: The associated int.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Integer. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated int.
Throws: ClassCastException is thrown if the key maps to an object that is not a Integer. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Integer. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Returns: an Iterator over the keys
Parameters: prefix the prefix to match
Returns: an Iterator of keys that match the prefix
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: ClassCastException is thrown if the key maps to an object that is not a List.
Since: Commons Collections 3.2
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: ClassCastException is thrown if the key maps to an object that is not a List.
Since: Commons Collections 3.2
Parameters: key The configuration key.
Returns: The associated long.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Long. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated long.
Throws: ClassCastException is thrown if the key maps to an object that is not a Long. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Long. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key.
Returns: The associated properties if key is found.
Throws: ClassCastException is thrown if the key maps to an object that is not a String/List. IllegalArgumentException if one of the tokens is malformed (does not contain an equals sign).
Parameters: key The configuration key.
Returns: The associated properties if key is found.
Throws: ClassCastException is thrown if the key maps to an object that is not a String/List. IllegalArgumentException if one of the tokens is malformed (does not contain an equals sign).
Parameters: key property to retrieve
Returns: value as object. Will return user value if exists, if not then default value if exists, otherwise null
Parameters: key The configuration key.
Returns: The associated short.
Throws: NoSuchElementException is thrown if the key doesn't map to an existing object. ClassCastException is thrown if the key maps to an object that is not a Short. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated short.
Throws: ClassCastException is thrown if the key maps to an object that is not a Short. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
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: ClassCastException is thrown if the key maps to an object that is not a Short. NumberFormatException is thrown if the value mapped by the key has not a valid number format.
Parameters: key The configuration key.
Returns: The associated string.
Throws: ClassCastException is thrown if the key maps to an object that is not a String.
Parameters: key The configuration key. defaultValue The default value.
Returns: The associated string if key is found, default value otherwise.
Throws: ClassCastException is thrown if the key maps to an object that is not a String.
Parameters: key The configuration key.
Returns: The associated string array if key is found.
Throws: ClassCastException is thrown if the key maps to an object that is not a String/List.
Parameters: key The configuration key.
Returns: The associated Vector.
Throws: ClassCastException is thrown if the key maps to an object that is not a Vector.
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: ClassCastException is thrown if the key maps to an object that is not a Vector.
Parameters: base string to interpolate
Returns: returns the key name with the ${key} substituted
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
Parameters: input the InputStream to load from
Throws: IOException if an IO error occurs
Parameters: input the InputStream to load from enc the encoding to use
Throws: IOException if an IO error occurs
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: IOException if an IO error occurs
Parameters: inc A String.
Parameters: key the key to set value the value to set
Parameters: prefix the prefix to get a subset for
Returns: a new independent ExtendedProperties
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.