Package jcckit.util

Class ConfigParameters


  • public class ConfigParameters
    extends java.lang.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
      java.lang.String get​(java.lang.String key)
      Returns the string value associated with the specified key.
      java.lang.String get​(java.lang.String key, java.lang.String defaultValue)
      Returns the string value associated with the specified key or defaultValue if undefined.
      boolean getBoolean​(java.lang.String key)
      Returns the boolean associated with the specified key.
      boolean getBoolean​(java.lang.String key, boolean defaultValue)
      Returns the boolean associated with the specified key.
      java.awt.Color getColor​(java.lang.String key)
      Returns the color associated with the specified key.
      java.awt.Color getColor​(java.lang.String key, java.awt.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​(java.lang.String key)
      Returns the double associated with the specified key.
      double getDouble​(java.lang.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​(java.lang.String key)
      Returns the array of doubles associated with the specified key.
      double[] getDoubleArray​(java.lang.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.
      java.lang.String getFullKey​(java.lang.String key)
      Returns the full key.
      int getInt​(java.lang.String key)
      Returns the integer associated with the specified key.
      int getInt​(java.lang.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​(java.lang.String key)
      Returns the child node associated with the specified key.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConfigParameters

        public ConfigParameters​(ConfigData configData)
        Creates an instance from the specified ConfigData object.
    • Method Detail

      • get

        public java.lang.String get​(java.lang.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:
        java.lang.IllegalArgumentException - if no value exists for key. The exception message is the full key.
      • get

        public java.lang.String get​(java.lang.String key,
                                    java.lang.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​(java.lang.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:
        java.lang.IllegalArgumentException - if no value exists for key. The exception message is the full key.
        java.lang.NumberFormatException - if the value is neither "true" nor "false".
      • getBoolean

        public boolean getBoolean​(java.lang.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:
        java.lang.NumberFormatException - if the value is neither "true" nor "false".
      • getInt

        public int getInt​(java.lang.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:
        java.lang.IllegalArgumentException - if no value exists for key. The exception message is the full key.
        java.lang.NumberFormatException - if the value is not a number. The exception message contains the full key and the invalid value.
      • getInt

        public int getInt​(java.lang.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:
        java.lang.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​(java.lang.String key)
        Returns the double associated with the specified key.
        Parameters:
        key - The (relative) key. null is not allowed.
        Returns:
        the double value.
        Throws:
        java.lang.IllegalArgumentException - if no value exists for key. The exception message is the full key.
        java.lang.NumberFormatException - if the value is not a valid number. The exception message contains the full key and the invalid value.
      • getDouble

        public double getDouble​(java.lang.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:
        java.lang.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​(java.lang.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:
        java.lang.IllegalArgumentException - if no value exists for key. The exception message is the full key.
        java.lang.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​(java.lang.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:
        java.lang.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 java.awt.Color getColor​(java.lang.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:
        java.lang.NumberFormatException - if the value exists but is not a number. The exception message contains the full key and the invalid value.
      • getColor

        public java.awt.Color getColor​(java.lang.String key,
                                       java.awt.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:
        java.lang.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​(java.lang.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.