Class ExtendedProperties
- All Implemented Interfaces:
Serializable,Cloneable,Map
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
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.Creates an empty extended properties object.ExtendedProperties(String file) Deprecated.Creates and loads the extended properties from the specified file.ExtendedProperties(String file, String defaultFile) Deprecated.Creates and loads the extended properties from the specified file. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddProperty(String key, Object value) Deprecated.Add a property to the configuration.voidclearProperty(String key) Deprecated.Clear a property in the configuration.voidcombine(ExtendedProperties props) Deprecated.Combines an existing Hashtable with this Hashtable.static ExtendedPropertiesconvertProperties(Properties props) Deprecated.Convert a standard properties class into a configuration class.voiddisplay()Deprecated.Display the configuration for debugging purposes to System.out.booleangetBoolean(String key) Deprecated.Get a boolean associated with the given configuration key.booleangetBoolean(String key, boolean defaultValue) Deprecated.Get a boolean associated with the given configuration key.getBoolean(String key, Boolean defaultValue) Deprecated.Get a boolean associated with the given configuration key.byteDeprecated.Get a byte associated with the given configuration key.byteDeprecated.Get a byte associated with the given configuration key.Deprecated.Get a byte associated with the given configuration key.doubleDeprecated.Get a double associated with the given configuration key.doubleDeprecated.Get a double associated with the given configuration key.Deprecated.Get a double associated with the given configuration key.floatDeprecated.Get a float associated with the given configuration key.floatDeprecated.Get a float associated with the given configuration key.Deprecated.Get a float associated with the given configuration key.Deprecated.Gets the property value for including other properties files.intDeprecated.The purpose of this method is to get the configuration resource with the given name as an integer.intDeprecated.The purpose of this method is to get the configuration resource with the given name as an integer, or a default value.intgetInteger(String key) Deprecated.Get a int associated with the given configuration key.intgetInteger(String key, int defaultValue) Deprecated.Get a int associated with the given configuration key.getInteger(String key, Integer defaultValue) Deprecated.Get a int associated with the given configuration key.getKeys()Deprecated.Get the list of the keys contained in the configuration repository.Deprecated.Get the list of the keys contained in the configuration repository that match the specified prefix.Deprecated.Get a List of strings associated with the given configuration key.Deprecated.Get a List of strings associated with the given configuration key.longDeprecated.Get a long associated with the given configuration key.longDeprecated.Get a long associated with the given configuration key.Deprecated.Get a long associated with the given configuration key.getProperties(String key) Deprecated.Get a list of properties associated with the given configuration key.getProperties(String key, Properties defaults) Deprecated.Get a list of properties associated with the given configuration key.getProperty(String key) Deprecated.Gets a property from the configuration.shortDeprecated.Get a short associated with the given configuration key.shortDeprecated.Get a short associated with the given configuration key.Deprecated.Get a short associated with the given configuration key.Deprecated.Get a string associated with the given configuration key.Deprecated.Get a string associated with the given configuration key.String[]getStringArray(String key) Deprecated.Get an array of strings associated with the given configuration key.Deprecated.Get a Vector of strings associated with the given configuration key.Deprecated.Get a Vector of strings associated with the given configuration key.booleanDeprecated.Indicate to client code whether property resources have been initialized or not.voidload(InputStream input) Deprecated.Load the properties from the given input stream.voidload(InputStream input, String enc) Deprecated.Load the properties from the given input stream and using the specified encoding.voidsave(OutputStream output, String header) Deprecated.Save the properties to the given output stream.voidsetInclude(String inc) Deprecated.Sets the property value for including other properties files.voidsetProperty(String key, Object value) Deprecated.Set a property, this will replace any previously set values.Deprecated.Create an ExtendedProperties object that is a subset of this one.testBoolean(String value) Deprecated.Test whether the string represent by value maps to a boolean value or not.Methods inherited from class java.util.Hashtable
clear, clone, compute, computeIfAbsent, computeIfPresent, contains, containsKey, containsValue, elements, entrySet, equals, forEach, get, getOrDefault, hashCode, isEmpty, keys, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, toString, values
-
Constructor Details
-
ExtendedProperties
public ExtendedProperties()Deprecated.Creates an empty extended properties object. -
ExtendedProperties
Deprecated.Creates and loads the extended properties from the specified file.- Parameters:
file- the filename to load- Throws:
IOException- if a file error occurs
-
ExtendedProperties
Deprecated.Creates and loads the extended properties from the specified file.- Parameters:
file- the filename to loaddefaultFile- a second filename to load default values from- Throws:
IOException- if a file error occurs
-
-
Method Details
-
isInitialized
public boolean isInitialized()Deprecated.Indicate to client code whether property resources have been initialized or not. -
getInclude
Deprecated.Gets the property value for including other properties files. By default it is "include".- Returns:
- A String.
-
setInclude
Deprecated.Sets the property value for including other properties files. By default it is "include".- Parameters:
inc- A String.
-
load
Deprecated.Load the properties from the given input stream.- Parameters:
input- the InputStream to load from- Throws:
IOException- if an IO error occurs
-
load
Deprecated.Load the properties from the given input stream and using the specified encoding.- Parameters:
input- the InputStream to load fromenc- the encoding to use- Throws:
IOException- if an IO error occurs
-
getProperty
Deprecated.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
Deprecated.Add a property to the configuration. If it already exists then the value stated here will be added to the configuration entry. For example, ifresource.loader = fileis already present in the configuration and youaddProperty("resource.loader", "classpath")Then you will end up with a Vector like the following:["file", "classpath"]- Parameters:
key- the key to addvalue- the value to add
-
setProperty
Deprecated.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 setvalue- the value to set
-
save
Deprecated.Save the properties to the given output stream.The stream is not closed, but it is flushed.
- Parameters:
output- an OutputStream, may be nullheader- a textual comment to act as a file header- Throws:
IOException- if an IO error occurs
-
combine
Deprecated.Combines an existing Hashtable with this Hashtable.Warning: It will overwrite previous entries without warning.
- Parameters:
props- the properties to combine
-
clearProperty
Deprecated.Clear a property in the configuration.- Parameters:
key- the property key to remove along with corresponding value
-
getKeys
Deprecated.Get the list of the keys contained in the configuration repository.- Returns:
- an Iterator over the keys
-
getKeys
Deprecated.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
Deprecated.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()Deprecated.Display the configuration for debugging purposes to System.out. -
getString
Deprecated.Get a string associated with the given configuration key.- 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.
-
getString
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a String.
-
getProperties
Deprecated.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:
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).
-
getProperties
Deprecated.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:
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).
-
getStringArray
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a String/List.
-
getVector
Deprecated.Get a Vector of strings associated with the given configuration key.- 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.
-
getVector
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a Vector.
-
getList
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a List.- Since:
- Commons Collections 3.2
-
getList
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a List.- Since:
- Commons Collections 3.2
-
getBoolean
Deprecated.Get a boolean associated with the given configuration key.- 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.
-
getBoolean
Deprecated.Get a boolean associated with the given configuration key.- 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.
-
getBoolean
Deprecated.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:
ClassCastException- is thrown if the key maps to an object that is not a Boolean.
-
testBoolean
Deprecated.Test whether the string represent by value maps to a boolean value or not. We will allowtrue,on, andyesfor atrueboolean value, andfalse,off, andnoforfalseboolean values. Case of value to test for boolean status is ignored.- Parameters:
value- the value to test for boolean state- Returns:
trueorfalseif the supplied text maps to a boolean value, ornullotherwise.
-
getByte
Deprecated.Get a byte associated with the given configuration key.- 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.
-
getByte
Deprecated.Get a byte associated with the given configuration key.- 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.
-
getByte
Deprecated.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:
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.
-
getShort
Deprecated.Get a short associated with the given configuration key.- 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.
-
getShort
Deprecated.Get a short associated with the given configuration key.- 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.
-
getShort
Deprecated.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:
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.
-
getInt
Deprecated.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
Deprecated.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 namedef- The default value of the resource.- Returns:
- The value of the resource as an integer.
-
getInteger
Deprecated.Get a int associated with the given configuration key.- 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.
-
getInteger
Deprecated.Get a int associated with the given configuration key.- 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.
-
getInteger
Deprecated.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:
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.
-
getLong
Deprecated.Get a long associated with the given configuration key.- 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.
-
getLong
Deprecated.Get a long associated with the given configuration key.- 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.
-
getLong
Deprecated.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:
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.
-
getFloat
Deprecated.Get a float associated with the given configuration key.- 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.
-
getFloat
Deprecated.Get a float associated with the given configuration key.- 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.
-
getFloat
Deprecated.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:
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.
-
getDouble
Deprecated.Get a double associated with the given configuration key.- 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.
-
getDouble
Deprecated.Get a double associated with the given configuration key.- 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.
-
getDouble
Deprecated.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:
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.
-
convertProperties
Deprecated.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
-