Package jcckit.util
Class ConfigParameters
- java.lang.Object
-
- jcckit.util.ConfigParameters
-
public class ConfigParameters extends Object
Read-only class for hierarchically organized key-value pairs. The key is always a string. The following value types are supported:- String
- boolean
- int
- double
- double[]
- Color
- ConfigParameters
In accordance with the Strategy design pattern the retrieval of a key-value pair is delegated to an instance of
ConfigData
.- Author:
- Franz-Josef Elmer
-
-
Constructor Summary
Constructors Constructor Description ConfigParameters(ConfigData configData)
Creates an instance from the specified ConfigData object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
get(String key)
Returns the string value associated with the specified key.String
get(String key, String defaultValue)
Returns the string value associated with the specified key or defaultValue if undefined.boolean
getBoolean(String key)
Returns the boolean associated with the specified key.boolean
getBoolean(String key, boolean defaultValue)
Returns the boolean associated with the specified key.Color
getColor(String key)
Returns the color associated with the specified key.Color
getColor(String key, Color defaultValue)
Returns the color associated with the specified key or the specified default value if no key-value pair exists for the specified key.double
getDouble(String key)
Returns the double associated with the specified key.double
getDouble(String key, double defaultValue)
Returns the double associated with the specified key or defaultValue if no key-value pair exists for the specified key.double[]
getDoubleArray(String key)
Returns the array of doubles associated with the specified key.double[]
getDoubleArray(String key, double[] defaultValue)
Returns the array of doubles associated with the specified key or defaultValue if no key-value pair exists for the specified key.String
getFullKey(String key)
Returns the full key.int
getInt(String key)
Returns the integer associated with the specified key.int
getInt(String key, int defaultValue)
Returns the integer associated with the specified key or defaultValue if no key-value pair exists for the specified key.ConfigParameters
getNode(String key)
Returns the child node associated with the specified key.
-
-
-
Constructor Detail
-
ConfigParameters
public ConfigParameters(ConfigData configData)
Creates an instance from the specified ConfigData object.
-
-
Method Detail
-
getFullKey
public String getFullKey(String key)
Returns the full key.- Returns:
- the path concatenated with key.
- See Also:
ConfigData.getFullKey(java.lang.String)
-
get
public String get(String key)
Returns the string value associated with the specified key.- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the corresponding value. Will always be not null.
- Throws:
IllegalArgumentException
- if no value exists for key. The exception message is the full key.
-
get
public String get(String key, String defaultValue)
Returns the string value associated with the specified key or defaultValue if undefined.- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- the corresponding value or defaultValue.
-
getBoolean
public boolean getBoolean(String key)
Returns the boolean associated with the specified key.- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- true if the value is "true" otherwise false.
- Throws:
IllegalArgumentException
- if no value exists for key. The exception message is the full key.NumberFormatException
- if the value is neither "true" nor "false".
-
getBoolean
public boolean getBoolean(String key, boolean defaultValue)
Returns the boolean associated with the specified key.- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- true if the value is "true" otherwise false.
- Throws:
NumberFormatException
- if the value is neither "true" nor "false".
-
getInt
public int getInt(String key)
Returns the integer associated with the specified key. The value can be either- a decimal number (starting with a non-zero digit),
- a hexadecimal number (starting with 0x), or
- an octal number (starting with zero).
- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the integer value.
- Throws:
IllegalArgumentException
- if no value exists for key. The exception message is the full key.NumberFormatException
- if the value is not a number. The exception message contains the full key and the invalid value.
-
getInt
public int getInt(String key, int defaultValue)
Returns the integer associated with the specified key or defaultValue if no key-value pair exists for the specified key. The value can be either- a decimal number (starting with a non-zero digit),
- a hexadecimal number (starting with 0x), or
- an octal number (starting with zero).
- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- the integer value.
- Throws:
NumberFormatException
- if the value exists but is not a number. The exception message contains the full key and the invalid value.
-
getDouble
public double getDouble(String key)
Returns the double associated with the specified key.- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the double value.
- Throws:
IllegalArgumentException
- if no value exists for key. The exception message is the full key.NumberFormatException
- if the value is not a valid number. The exception message contains the full key and the invalid value.
-
getDouble
public double getDouble(String key, double defaultValue)
Returns the double associated with the specified key or defaultValue if no key-value pair exists for the specified key.- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- the double value.
- Throws:
NumberFormatException
- if the value exists but is not a valid number. The exception message contains the full key and the invalid value.
-
getDoubleArray
public double[] getDoubleArray(String key)
Returns the array of doubles associated with the specified key. The numbers are separated by whitespaces.- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the array of double values.
- Throws:
IllegalArgumentException
- if no value exists for key. The exception message is the full key.NumberFormatException
- if the value exists but is not a sequence of number. The exception message contains the full key and the invalid value.
-
getDoubleArray
public double[] getDoubleArray(String key, double[] defaultValue)
Returns the array of doubles associated with the specified key or defaultValue if no key-value pair exists for the specified key. The numbers are separated by whitespaces.- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- the array of double values.
- Throws:
NumberFormatException
- if the value exists but is not a sequence of number. The exception message contains the full key and the invalid value.
-
getColor
public Color getColor(String key)
Returns the color associated with the specified key. The color is coded as- a decimal number (starting with a non-zero digit),
- a hexadecimal number (starting with 0x), or
- an octal number (starting with zero).
- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the color.
- Throws:
NumberFormatException
- if the value exists but is not a number. The exception message contains the full key and the invalid value.
-
getColor
public Color getColor(String key, Color defaultValue)
Returns the color associated with the specified key or the specified default value if no key-value pair exists for the specified key. The color is coded as- a decimal number (starting with a non-zero digit),
- a hexadecimal number (starting with 0x), or
- an octal number (starting with zero).
- Parameters:
key
- The (relative) key. null is not allowed.defaultValue
- The default value. Can be null.- Returns:
- the color or null if the value is an empty string.
- Throws:
NumberFormatException
- if the value exists but is not a number. The exception message contains the full key and the invalid value.
-
getNode
public ConfigParameters getNode(String key)
Returns the child node associated with the specified key. This method returns in any case a non-null result.- Parameters:
key
- The (relative) key. null is not allowed.- Returns:
- the corresponding child node which may be empty.
-
-