Provides classes to deal with software configuration.

Configuration variables

Configuration data is stored as a set of variables organised in sections. A typical variable name is: section.subsection.name where:

Configuration data is stored in instances of {@link com.mucommander.conf.Configuration}, which offers a set of methods manipulate variables:

Loading and storing configuration

The com.mucommander.conf package offers various ways of loading and storing configuration.
The most obvious way is by using the {@link com.mucommander.conf.Configuration#read(InputStream) read} and {@link com.mucommander.conf.Configuration#write(OutputStream) write} methods, but this has the disadvantage of forcing application writers to manage streams themselves.
The preferred method is to create a dedicated {@link com.mucommander.conf.ConfigurationSource} class and register it through {@link com.mucommander.conf.Configuration#setSource(ConfigurationSource) setSource}. This allows an instance of {@link com.mucommander.conf.Configuration} to know how to read from and write to its configuration file (or socket or any other medium that provides input and output streams).

Changing the default configuration format

The default configuration format is described in {@link com.mucommander.conf.XmlConfigurationReader}. Application writers who wish to change this can do so by:

Listening to the configuration

Classes that need to be notified when the configuration has changed can do so by: