Package org.apache.commons.configuration2

# Class DataConfiguration

java.lang.Object
org.apache.commons.configuration2.event.BaseEventSource
org.apache.commons.configuration2.AbstractConfiguration
org.apache.commons.configuration2.DataConfiguration

All Implemented Interfaces:
  `Configuration`, `EventSource`, `ImmutableConfiguration`, `SynchronizerSupport`

public class DataConfiguration extends AbstractConfiguration
Decorator providing additional getters for any Configuration. This extended Configuration supports more types:

- `URL`
- `Locale`
- `Date`
- `Calendar`
- `Color`
- `InetAddress`
- `javax.mail.internet.InternetAddress` (requires Javamail in the classpath)
- `jakarta.mail.internet.InternetAddress` (requires Javamail 2.+ in the classpath)
- `Enum`

Lists and arrays are available for all types.
Note that this class is only a thin wrapper over functionality already provided by `AbstractConfiguration`. Basically, the generic `get()`, and `getCollection()` methods are used to actually perform data conversions.

Example

Configuration file `config.properties`:

     title.color = #0000FF
     remote.host = 192.168.0.53
     default.locales = fr,en,de
     email.contact = dev@test.org, tester@test.org

Usage:

     DataConfiguration config = new DataConfiguration(new PropertiesConfiguration("config.properties"));

     // retrieve a property using a specialized getter
     Color color = config.getColor("title.color");

     // retrieve a property using a generic getter
     InetAddress host = (InetAddress) config.get(InetAddress.class, "remote.host");
     Locale[] locales = (Locale[]) config.getArray(Locale.class, "default.locales");
     List contacts = config.getList(InternetAddress.class, "email.contact");

Dates

Date objects are expected to be formatted with the pattern `yyyy-MM-dd HH:mm:ss`. This default format can be changed by specifying another format in the getters, or by putting a date format in the configuration under the key `org.apache.commons.configuration.format.date`. Alternatively, the date format can also be specified via the `ConversionHandler` used by a configuration instance:

     DefaultConversionHandler handler = new DefaultConversionHandler();
     handler.setDateFormat("mm/dd/yyyy");
     config.setConversionHandler(handler);

Since:
  1.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final String`
  `DATE_FORMAT_KEY`
  The key of the property storing the user-defined date format.
  `static final String`
  `DEFAULT_DATE_FORMAT`
  The default format for dates.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `DataConfiguration(Configuration configuration)`
  Creates a new instance of `DataConfiguration` and sets the wrapped configuration.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `protected void`
  `addPropertyDirect(String key, Object value)`
  Adds a key/value pair to the Configuration.
  `protected void`
  `addPropertyInternal(String key, Object obj)`
  Actually adds a property to this configuration.
  `protected void`
  `clearPropertyDirect(String key)`
  Removes the specified property from this configuration.
  `protected boolean`
  `containsKeyInternal(String key)`
  Actually checks whether the specified key is contained in this configuration.
  `protected boolean`
  `containsValueInternal(Object value)`
  Tests whether this configuration contains one or more matches to this value.
  `BigDecimal[]`
  `getBigDecimalArray(String key)`
  Gets an array of BigDecimals associated with the given configuration key.
  `BigDecimal[]`
  `getBigDecimalArray(String key, BigDecimal... defaultValue)`
  Gets an array of BigDecimals associated with the given configuration key.
  `List<BigDecimal>`
  `getBigDecimalList(String key)`
  Gets a list of BigDecimals associated with the given configuration key.
  `List<BigDecimal>`
  `getBigDecimalList(String key, List<BigDecimal> defaultValue)`
  Gets a list of BigDecimals associated with the given configuration key.
  `BigInteger[]`
  `getBigIntegerArray(String key)`
  Gets an array of BigIntegers associated with the given configuration key.
  `BigInteger[]`
  `getBigIntegerArray(String key, BigInteger... defaultValue)`
  Gets an array of BigIntegers associated with the given configuration key.
  `List<BigInteger>`
  `getBigIntegerList(String key)`
  Gets a list of BigIntegers associated with the given configuration key.
  `List<BigInteger>`
  `getBigIntegerList(String key, List<BigInteger> defaultValue)`
  Gets a list of BigIntegers associated with the given configuration key.
  `boolean[]`
  `getBooleanArray(String key)`
  Gets an array of boolean primitives associated with the given configuration key.
  `boolean[]`
  `getBooleanArray(String key, boolean... defaultValue)`
  Gets an array of boolean primitives associated with the given configuration key.
  `List<Boolean>`
  `getBooleanList(String key)`
  Gets a list of Boolean objects associated with the given configuration key.
  `List<Boolean>`
  `getBooleanList(String key, List<Boolean> defaultValue)`
  Gets a list of Boolean objects associated with the given configuration key.
  `byte[]`
  `getByteArray(String key)`
  Gets an array of byte primitives associated with the given configuration key.
  `byte[]`
  `getByteArray(String key, byte... defaultValue)`
  Gets an array of byte primitives associated with the given configuration key.
  `List<Byte>`
  `getByteList(String key)`
  Gets a list of Byte objects associated with the given configuration key.
  `List<Byte>`
  `getByteList(String key, List<Byte> defaultValue)`
  Gets a list of Byte objects associated with the given configuration key.
  `Calendar`
  `getCalendar(String key)`
  Gets a Calendar associated with the given configuration key.
  `Calendar`
  `getCalendar(String key, String format)`
  Gets a Calendar associated with the given configuration key.
  `Calendar`
  `getCalendar(String key, Calendar defaultValue)`
  Gets a Calendar associated with the given configuration key.
  `Calendar`
  `getCalendar(String key, Calendar defaultValue, String format)`
  Gets a Calendar associated with the given configuration key.
  `Calendar[]`
  `getCalendarArray(String key)`
  Gets an array of Calendars associated with the given configuration key.
  `Calendar[]`
  `getCalendarArray(String key, String format)`
  Gets an array of Calendars associated with the given configuration key.
  `Calendar[]`
  `getCalendarArray(String key, Calendar... defaultValue)`
  Gets an array of Calendars associated with the given configuration key.
  `Calendar[]`
  `getCalendarArray(String key, Calendar[] defaultValue, String format)`
  Gets an array of Calendars associated with the given configuration key.
  `List<Calendar>`
  `getCalendarList(String key)`
  Gets a list of Calendars associated with the given configuration key.
  `List<Calendar>`
  `getCalendarList(String key, String format)`
  Gets a list of Calendars associated with the given configuration key.
  `List<Calendar>`
  `getCalendarList(String key, List<Calendar> defaultValue)`
  Gets a list of Calendars associated with the given configuration key.
  `List<Calendar>`
  `getCalendarList(String key, List<Calendar> defaultValue, String format)`
  Gets a list of Calendars associated with the given configuration key.
  `Color`
  `getColor(String key)`
  Gets a Color associated with the given configuration key.
  `Color`
  `getColor(String key, Color defaultValue)`
  Gets a Color associated with the given configuration key.
  `Color[]`
  `getColorArray(String key)`
  Gets an array of Colors associated with the given configuration key.
  `Color[]`
  `getColorArray(String key, Color... defaultValue)`
  Gets an array of Colors associated with the given configuration key.
  `List<Color>`
  `getColorList(String key)`
  Gets a list of Colors associated with the given configuration key.
  `List<Color>`
  `getColorList(String key, List<Color> defaultValue)`
  Gets a list of Colors associated with the given configuration key.
  `Configuration`
  `getConfiguration()`
  Gets the configuration decorated by this DataConfiguration.
  `ConversionHandler`
  `getConversionHandler()`
  Gets the `ConversionHandler` used by this instance.
  `Date`
  `getDate(String key)`
  Gets a Date associated with the given configuration key.
  `Date`
  `getDate(String key, String format)`
  Gets a Date associated with the given configuration key.
  `Date`
  `getDate(String key, Date defaultValue)`
  Gets a Date associated with the given configuration key.
  `Date`
  `getDate(String key, Date defaultValue, String format)`
  Gets a Date associated with the given configuration key.
  `Date[]`
  `getDateArray(String key)`
  Gets an array of Dates associated with the given configuration key.
  `Date[]`
  `getDateArray(String key, String format)`
  Gets an array of Dates associated with the given configuration key.
  `Date[]`
  `getDateArray(String key, Date... defaultValue)`
  Gets an array of Dates associated with the given configuration key.
  `Date[]`
  `getDateArray(String key, Date[] defaultValue, String format)`
  Gets an array of Dates associated with the given configuration key.
  `List<Date>`
  `getDateList(String key)`
  Gets a list of Dates associated with the given configuration key.
  `List<Date>`
  `getDateList(String key, String format)`
  Gets a list of Dates associated with the given configuration key.
  `List<Date>`
  `getDateList(String key, List<Date> defaultValue)`
  Gets a list of Dates associated with the given configuration key.
  `List<Date>`
  `getDateList(String key, List<Date> defaultValue, String format)`
  Gets a list of Dates associated with the given configuration key.
  `double[]`
  `getDoubleArray(String key)`
  Gets an array of double primitives associated with the given configuration key.
  `double[]`
  `getDoubleArray(String key, double... defaultValue)`
  Gets an array of double primitives associated with the given configuration key.
  `List<Double>`
  `getDoubleList(String key)`
  Gets a list of Double objects associated with the given configuration key.
  `List<Double>`
  `getDoubleList(String key, List<Double> defaultValue)`
  Gets a list of Double objects associated with the given configuration key.
  `float[]`
  `getFloatArray(String key)`
  Gets an array of float primitives associated with the given configuration key.
  `float[]`
  `getFloatArray(String key, float... defaultValue)`
  Gets an array of float primitives associated with the given configuration key.
  `List<Float>`
  `getFloatList(String key)`
  Gets a list of Float objects associated with the given configuration key.
  `List<Float>`
  `getFloatList(String key, List<Float> defaultValue)`
  Gets a list of Float objects associated with the given configuration key.
  `int[]`
  `getIntArray(String key)`
  Gets an array of int primitives associated with the given configuration key.
  `int[]`
  `getIntArray(String key, int... defaultValue)`
  Gets an array of int primitives associated with the given configuration key.
  `List<Integer>`
  `getIntegerList(String key)`
  Gets a list of Integer objects associated with the given configuration key.
  `List<Integer>`
  `getIntegerList(String key, List<Integer> defaultValue)`
  Gets a list of Integer objects associated with the given configuration key.
  `protected Iterator<String>`
  `getKeysInternal()`
  Actually creates an iterator for iterating over the keys in this configuration.
  `Locale`
  `getLocale(String key)`
  Gets a Locale associated with the given configuration key.
  `Locale`
  `getLocale(String key, Locale defaultValue)`
  Gets a Locale associated with the given configuration key.
  `Locale[]`
  `getLocaleArray(String key)`
  Gets an array of Locales associated with the given configuration key.
  `Locale[]`
  `getLocaleArray(String key, Locale... defaultValue)`
  Gets an array of Locales associated with the given configuration key.
  `List<Locale>`
  `getLocaleList(String key)`
  Gets a list of Locales associated with the given configuration key.
  `List<Locale>`
  `getLocaleList(String key, List<Locale> defaultValue)`
  Gets a list of Locales associated with the given configuration key.
  `long[]`
  `getLongArray(String key)`
  Gets an array of long primitives associated with the given configuration key.
  `long[]`
  `getLongArray(String key, long... defaultValue)`
  Gets an array of long primitives associated with the given configuration key.
  `List<Long>`
  `getLongList(String key)`
  Gets a list of Long objects associated with the given configuration key.
  `List<Long>`
  `getLongList(String key, List<Long> defaultValue)`
  Gets a list of Long objects associated with the given configuration key.
  `protected Object`
  `getPropertyInternal(String key)`
  Actually obtains the value of the specified property.
  `short[]`
  `getShortArray(String key)`
  Gets an array of short primitives associated with the given configuration key.
  `short[]`
  `getShortArray(String key, short... defaultValue)`
  Gets an array of short primitives associated with the given configuration key.
  `List<Short>`
  `getShortList(String key)`
  Gets a list of Short objects associated with the given configuration key.
  `List<Short>`
  `getShortList(String key, List<Short> defaultValue)`
  Gets a list of Short objects associated with the given configuration key.
  `URI`
  `getURI(String key)`
  Gets an URI associated with the given configuration key.
  `URI`
  `getURI(String key, URI defaultValue)`
  Gets an URI associated with the given configuration key.
  `URI[]`
  `getURIArray(String key)`
  Gets an array of URIs associated with the given configuration key.
  `URI[]`
  `getURIArray(String key, URI... defaultValue)`
  Gets an array of URIs associated with the given configuration key.
  `List<URI>`
  `getURIList(String key)`
  Gets a list of URIs associated with the given configuration key.
  `List<URI>`
  `getURIList(String key, List<URI> defaultValue)`
  Gets a list of URIs associated with the given configuration key.
  `URL`
  `getURL(String key)`
  Gets an URL associated with the given configuration key.
  `URL`
  `getURL(String key, URL defaultValue)`
  Gets an URL associated with the given configuration key.
  `URL[]`
  `getURLArray(String key)`
  Gets an array of URLs associated with the given configuration key.
  `URL[]`
  `getURLArray(String key, URL... defaultValue)`
  Gets an array of URLs associated with the given configuration key.
  `List<URL>`
  `getURLList(String key)`
  Gets a list of URLs associated with the given configuration key.
  `List<URL>`
  `getURLList(String key, List<URL> defaultValue)`
  Gets a list of URLs associated with the given configuration key.
  `protected boolean`
  `isEmptyInternal()`
  Actually checks whether this configuration contains data.
  `protected void`
  `setPropertyInternal(String key, Object value)`
  Actually sets the value of a property.

  ### Methods inherited from class org.apache.commons.configuration2.AbstractConfiguration

  `addErrorLogListener, addProperty, append, beginRead, beginWrite, clear, clearInternal, clearProperty, cloneInterpolator, contains, containsKey, containsValue, copy, endRead, endWrite, get, get, getArray, getArray, getBigDecimal, getBigDecimal, getBigInteger, getBigInteger, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getCollection, getCollection, getConfigurationDecoder, getDouble, getDouble, getDouble, getDuration, getDuration, getEncodedString, getEncodedString, getFloat, getFloat, getFloat, getInt, getInt, getInteger, getInterpolator, getKeys, getKeys, getKeys, getKeysInternal, getKeysInternal, getList, getList, getList, getList, getListDelimiterHandler, getLogger, getLong, getLong, getLong, getProperties, getProperties, getProperty, getShort, getShort, getShort, getString, getString, getStringArray, getSynchronizer, immutableSubset, initLogger, installInterpolator, interpolate, interpolate, interpolatedConfiguration, isEmpty, isScalarValue, isThrowExceptionOnMissing, lock, setConfigurationDecoder, setConversionHandler, setDefaultLookups, setInterpolator, setListDelimiterHandler, setLogger, setParentInterpolator, setPrefixLookups, setProperty, setSynchronizer, setThrowExceptionOnMissing, size, sizeInternal, subset, unlock`

  ### Methods inherited from class org.apache.commons.configuration2.event.BaseEventSource

  `addEventListener, clearErrorListeners, clearEventListeners, clone, copyEventListeners, createErrorEvent, createEvent, fireError, fireEvent, getEventListenerRegistrations, getEventListeners, isDetailEvents, removeEventListener, setDetailEvents`

  ### Methods inherited from class java.lang.Object

  `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface org.apache.commons.configuration2.ImmutableConfiguration

  `getEnum, getEnum`

- ## Field Details

  - ### DATE_FORMAT_KEY

    public static final String DATE_FORMAT_KEY
    The key of the property storing the user-defined date format.
    See Also:
      - Constant Field Values

  - ### DEFAULT_DATE_FORMAT

    public static final String DEFAULT_DATE_FORMAT
    The default format for dates.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### DataConfiguration

    public DataConfiguration(Configuration configuration)
    Creates a new instance of `DataConfiguration` and sets the wrapped configuration.
    Parameters:
      `configuration` - the wrapped configuration

- ## Method Details

  - ### addPropertyDirect

    protected void addPropertyDirect(String key, Object value)
    Description copied from class: `AbstractConfiguration`
    Adds a key/value pair to the Configuration. Override this method to provide write access to underlying Configuration store.
    Specified by:
      `addPropertyDirect` in class `AbstractConfiguration`
    Parameters:
      `key` - key to use for mapping
      `value` - object to store

  - ### addPropertyInternal

    protected void addPropertyInternal(String key, Object obj)
    Description copied from class: `AbstractConfiguration`
    Actually adds a property to this configuration. This method is called by `addProperty()`. It performs list splitting if necessary and delegates to `AbstractConfiguration.addPropertyDirect(String, Object)` for every single property value.
    Overrides:
      `addPropertyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key of the property to be added
      `obj` - the new property value

  - ### clearPropertyDirect

    protected void clearPropertyDirect(String key)
    Description copied from class: `AbstractConfiguration`
    Removes the specified property from this configuration. This method is called by `clearProperty()` after it has done some preparations. It must be overridden in sub classes.
    Specified by:
      `clearPropertyDirect` in class `AbstractConfiguration`
    Parameters:
      `key` - the key to be removed

  - ### containsKeyInternal

    protected boolean containsKeyInternal(String key)
    Description copied from class: `AbstractConfiguration`
    Actually checks whether the specified key is contained in this configuration. This method is called by `containsKey()`. It has to be defined by concrete subclasses.
    Specified by:
      `containsKeyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key in question
    Returns:
      true if this key is contained in this configuration, false otherwise

  - ### containsValueInternal

    protected boolean containsValueInternal(Object value)
    Tests whether this configuration contains one or more matches to this value. This operation stops at first match but may be more expensive than the containsKey method.
    Specified by:
      `containsValueInternal` in class `AbstractConfiguration`
    Parameters:
      `value` - the value in question
    Returns:
      `true` if and only if some key maps to the `value` argument in this configuration as determined by the `equals` method; `false` otherwise.
    Since:
      2.11.0

  - ### getBigDecimalArray

    public BigDecimal[] getBigDecimalArray(String key)
    Gets an array of BigDecimals associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated BigDecimal array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigDecimals.

  - ### getBigDecimalArray

    public BigDecimal[] getBigDecimalArray(String key, BigDecimal... defaultValue)
    Gets an array of BigDecimals associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated BigDecimal array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigDecimals.

  - ### getBigDecimalList

    public List<BigDecimal> getBigDecimalList(String key)
    Gets a list of BigDecimals associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated BigDecimal list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigDecimals.

  - ### getBigDecimalList

    public List<BigDecimal> getBigDecimalList(String key, List<BigDecimal> defaultValue)
    Gets a list of BigDecimals associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of BigDecimals.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigDecimals.

  - ### getBigIntegerArray

    public BigInteger[] getBigIntegerArray(String key)
    Gets an array of BigIntegers associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated BigInteger array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigIntegers.

  - ### getBigIntegerArray

    public BigInteger[] getBigIntegerArray(String key, BigInteger... defaultValue)
    Gets an array of BigIntegers associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated BigInteger array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigIntegers.

  - ### getBigIntegerList

    public List<BigInteger> getBigIntegerList(String key)
    Gets a list of BigIntegers associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated BigInteger list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigIntegers.

  - ### getBigIntegerList

    public List<BigInteger> getBigIntegerList(String key, List<BigInteger> defaultValue)
    Gets a list of BigIntegers associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of BigIntegers.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of BigIntegers.

  - ### getBooleanArray

    public boolean[] getBooleanArray(String key)
    Gets an array of boolean primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated boolean array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of booleans.

  - ### getBooleanArray

    public boolean[] getBooleanArray(String key, boolean... defaultValue)
    Gets an array of boolean primitives associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated boolean array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of booleans.

  - ### getBooleanList

    public List<Boolean> getBooleanList(String key)
    Gets a list of Boolean objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Boolean list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of booleans.

  - ### getBooleanList

    public List<Boolean> getBooleanList(String key, List<Boolean> defaultValue)
    Gets a list of Boolean objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Booleans.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of booleans.

  - ### getByteArray

    public byte[] getByteArray(String key)
    Gets an array of byte primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated byte array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of bytes.

  - ### getByteArray

    public byte[] getByteArray(String key, byte... defaultValue)
    Gets an array of byte primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated byte array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of bytes.

  - ### getByteList

    public List<Byte> getByteList(String key)
    Gets a list of Byte objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Byte list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of bytes.

  - ### getByteList

    public List<Byte> getByteList(String key, List<Byte> defaultValue)
    Gets a list of Byte objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Bytes.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of bytes.

  - ### getCalendar

    public Calendar getCalendar(String key)
    Gets a Calendar associated with the given configuration key. If the property is a String, it will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Calendar.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Calendar.

  - ### getCalendar

    public Calendar getCalendar(String key, Calendar defaultValue)
    Gets a Calendar associated with the given configuration key. If the property is a String, it will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Calendar.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Calendar.

  - ### getCalendar

    public Calendar getCalendar(String key, Calendar defaultValue, String format)
    Gets a Calendar associated with the given configuration key. If the property is a String, it will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Calendar.

  - ### getCalendar

    public Calendar getCalendar(String key, String format)
    Gets a Calendar associated with the given configuration key. If the property is a String, it will be parsed with the specified format pattern.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Calendar.

  - ### getCalendarArray

    public Calendar[] getCalendarArray(String key)
    Gets an array of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Calendar array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarArray

    public Calendar[] getCalendarArray(String key, Calendar... defaultValue)
    Gets an array of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated Calendar array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarArray

    public Calendar[] getCalendarArray(String key, Calendar[] defaultValue, String format)
    Gets an array of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarArray

    public Calendar[] getCalendarArray(String key, String format)
    Gets an array of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarList

    public List<Calendar> getCalendarList(String key)
    Gets a list of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Calendar list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarList

    public List<Calendar> getCalendarList(String key, List<Calendar> defaultValue)
    Gets a list of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Calendar list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarList

    public List<Calendar> getCalendarList(String key, List<Calendar> defaultValue, String format)
    Gets a list of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getCalendarList

    public List<Calendar> getCalendarList(String key, String format)
    Gets a list of Calendars associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Calendar list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Calendars.

  - ### getColor

    public Color getColor(String key)
    Gets a Color associated with the given configuration key.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Color.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Color.

  - ### getColor

    public Color getColor(String key, Color defaultValue)
    Gets a Color associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Color.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Color.

  - ### getColorArray

    public Color[] getColorArray(String key)
    Gets an array of Colors associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Color array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Colors.

  - ### getColorArray

    public Color[] getColorArray(String key, Color... defaultValue)
    Gets an array of Colors associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated Color array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Colors.

  - ### getColorList

    public List<Color> getColorList(String key)
    Gets a list of Colors associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Color list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Colors.

  - ### getColorList

    public List<Color> getColorList(String key, List<Color> defaultValue)
    Gets a list of Colors associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Colors.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Colors.

  - ### getConfiguration

    public Configuration getConfiguration()
    Gets the configuration decorated by this DataConfiguration.
    Returns:
      the wrapped configuration

  - ### getConversionHandler

    public ConversionHandler getConversionHandler()
    Gets the `ConversionHandler` used by this instance. This implementation returns the special conversion handler used by this configuration instance.
    Overrides:
      `getConversionHandler` in class `AbstractConfiguration`
    Returns:
      the `ConversionHandler`

  - ### getDate

    public Date getDate(String key)
    Gets a Date associated with the given configuration key. If the property is a String, it will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Date.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Date.

  - ### getDate

    public Date getDate(String key, Date defaultValue)
    Gets a Date associated with the given configuration key. If the property is a String, it will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Date.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Date.

  - ### getDate

    public Date getDate(String key, Date defaultValue, String format)
    Gets a Date associated with the given configuration key. If the property is a String, it will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Date.

  - ### getDate

    public Date getDate(String key, String format)
    Gets a Date associated with the given configuration key. If the property is a String, it will be parsed with the specified format pattern.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Date.

  - ### getDateArray

    public Date[] getDateArray(String key)
    Gets an array of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Date array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateArray

    public Date[] getDateArray(String key, Date... defaultValue)
    Gets an array of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated Date array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateArray

    public Date[] getDateArray(String key, Date[] defaultValue, String format)
    Gets an array of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateArray

    public Date[] getDateArray(String key, String format)
    Gets an array of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateList

    public List<Date> getDateList(String key)
    Gets a list of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object, a new list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Date list if the key is found. If the key doesn't map to an existing object, a new list is returned.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateList

    public List<Date> getDateList(String key, List<Date> defaultValue)
    Gets a list of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the format defined by the user in the `DATE_FORMAT_KEY` property, or if it's not defined with the `DEFAULT_DATE_FORMAT` pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Date list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateList

    public List<Date> getDateList(String key, List<Date> defaultValue, String format)
    Gets a list of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDateList

    public List<Date> getDateList(String key, String format)
    Gets a list of Dates associated with the given configuration key. If the property is a list of Strings, they will be parsed with the specified format pattern. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
      `format` - The non-localized `DateFormat` pattern.
    Returns:
      The associated Date list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Dates.

  - ### getDoubleArray

    public double[] getDoubleArray(String key)
    Gets an array of double primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated double array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of doubles.

  - ### getDoubleArray

    public double[] getDoubleArray(String key, double... defaultValue)
    Gets an array of double primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated double array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of doubles.

  - ### getDoubleList

    public List<Double> getDoubleList(String key)
    Gets a list of Double objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Double list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of doubles.

  - ### getDoubleList

    public List<Double> getDoubleList(String key, List<Double> defaultValue)
    Gets a list of Double objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Doubles.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of doubles.

  - ### getFloatArray

    public float[] getFloatArray(String key)
    Gets an array of float primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated float array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of floats.

  - ### getFloatArray

    public float[] getFloatArray(String key, float... defaultValue)
    Gets an array of float primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated float array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of floats.

  - ### getFloatList

    public List<Float> getFloatList(String key)
    Gets a list of Float objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Float list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of floats.

  - ### getFloatList

    public List<Float> getFloatList(String key, List<Float> defaultValue)
    Gets a list of Float objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Floats.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of floats.

  - ### getIntArray

    public int[] getIntArray(String key)
    Gets an array of int primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated int array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of integers.

  - ### getIntArray

    public int[] getIntArray(String key, int... defaultValue)
    Gets an array of int primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated int array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of integers.

  - ### getIntegerList

    public List<Integer> getIntegerList(String key)
    Gets a list of Integer objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Integer list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of integers.

  - ### getIntegerList

    public List<Integer> getIntegerList(String key, List<Integer> defaultValue)
    Gets a list of Integer objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Integers.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of integers.

  - ### getKeysInternal

    protected Iterator<String> getKeysInternal()
    Description copied from class: `AbstractConfiguration`
    Actually creates an iterator for iterating over the keys in this configuration. This method is called by `getKeys()`, it has to be defined by concrete subclasses.
    Specified by:
      `getKeysInternal` in class `AbstractConfiguration`
    Returns:
      an `Iterator` with all property keys in this configuration

  - ### getLocale

    public Locale getLocale(String key)
    Gets a Locale associated with the given configuration key.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Locale.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Locale.

  - ### getLocale

    public Locale getLocale(String key, Locale defaultValue)
    Gets a Locale associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated Locale.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a Locale.

  - ### getLocaleArray

    public Locale[] getLocaleArray(String key)
    Gets an array of Locales associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Locale array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Locales.

  - ### getLocaleArray

    public Locale[] getLocaleArray(String key, Locale... defaultValue)
    Gets an array of Locales associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated Locale array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Locales.

  - ### getLocaleList

    public List<Locale> getLocaleList(String key)
    Gets a list of Locales associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Locale list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Locales.

  - ### getLocaleList

    public List<Locale> getLocaleList(String key, List<Locale> defaultValue)
    Gets a list of Locales associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Locales.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of Locales.

  - ### getLongArray

    public long[] getLongArray(String key)
    Gets an array of long primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated long array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of longs.

  - ### getLongArray

    public long[] getLongArray(String key, long... defaultValue)
    Gets an array of long primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated long array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of longs.

  - ### getLongList

    public List<Long> getLongList(String key)
    Gets a list of Long objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Long list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of longs.

  - ### getLongList

    public List<Long> getLongList(String key, List<Long> defaultValue)
    Gets a list of Long objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Longs.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of longs.

  - ### getPropertyInternal

    protected Object getPropertyInternal(String key)
    Description copied from class: `AbstractConfiguration`
    Actually obtains the value of the specified property. This method is called by `getProperty()`. Concrete subclasses must define it to fetch the value of the desired property.
    Specified by:
      `getPropertyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the key of the property in question
    Returns:
      the (raw) value of this property

  - ### getShortArray

    public short[] getShortArray(String key)
    Gets an array of short primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated short array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of shorts.

  - ### getShortArray

    public short[] getShortArray(String key, short... defaultValue)
    Gets an array of short primitives associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated short array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of shorts.

  - ### getShortList

    public List<Short> getShortList(String key)
    Gets a list of Short objects associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated Short list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of shorts.

  - ### getShortList

    public List<Short> getShortList(String key, List<Short> defaultValue)
    Gets a list of Short objects associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of Shorts.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of shorts.

  - ### getURI

    public URI getURI(String key)
    Gets an URI associated with the given configuration key.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URI.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not an URI.

  - ### getURI

    public URI getURI(String key, URI defaultValue)
    Gets an URI associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated URI.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not an URI.

  - ### getURIArray

    public URI[] getURIArray(String key)
    Gets an array of URIs associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URI array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URIs.

  - ### getURIArray

    public URI[] getURIArray(String key, URI... defaultValue)
    Gets an array of URIs associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated URI array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URIs.

  - ### getURIList

    public List<URI> getURIList(String key)
    Gets a list of URIs associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URI list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URIs.

  - ### getURIList

    public List<URI> getURIList(String key, List<URI> defaultValue)
    Gets a list of URIs associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of URIs.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URIs.

  - ### getURL

    public URL getURL(String key)
    Gets an URL associated with the given configuration key.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URL.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not an URL.

  - ### getURL

    public URL getURL(String key, URL defaultValue)
    Gets an URL associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated URL.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not an URL.

  - ### getURLArray

    public URL[] getURLArray(String key)
    Gets an array of URLs associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URL array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URLs.

  - ### getURLArray

    public URL[] getURLArray(String key, URL... defaultValue)
    Gets an array of URLs associated with the given configuration key. If the key doesn't map to an existing object an empty array is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - the default value, which will be returned if the property is not found
    Returns:
      The associated URL array if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URLs.

  - ### getURLList

    public List<URL> getURLList(String key)
    Gets a list of URLs associated with the given configuration key. If the key doesn't map to an existing object an empty list is returned.
    Parameters:
      `key` - The configuration key.
    Returns:
      The associated URL list if the key is found.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URLs.

  - ### getURLList

    public List<URL> getURLList(String key, List<URL> defaultValue)
    Gets a list of URLs associated with the given configuration key. If the key doesn't map to an existing object, the default value is returned.
    Parameters:
      `key` - The configuration key.
      `defaultValue` - The default value.
    Returns:
      The associated List of URLs.
    Throws:
      `ConversionException` - is thrown if the key maps to an object that is not a list of URLs.

  - ### isEmptyInternal

    protected boolean isEmptyInternal()
    Description copied from class: `AbstractConfiguration`
    Actually checks whether this configuration contains data. This method is called by `isEmpty()`. It has to be defined by concrete subclasses.
    Specified by:
      `isEmptyInternal` in class `AbstractConfiguration`
    Returns:
      true if this configuration contains no data, false otherwise

  - ### setPropertyInternal

    protected void setPropertyInternal(String key, Object value)
    Description copied from class: `AbstractConfiguration`
    Actually sets the value of a property. This method is called by `setProperty()`. It provides a default implementation of this functionality by clearing the specified key and delegating to `addProperty()`. Subclasses should override this method if they can provide a more efficient algorithm for setting a property value.
    Overrides:
      `setPropertyInternal` in class `AbstractConfiguration`
    Parameters:
      `key` - the property key
      `value` - the new property value