##### Configuration

- Home
- Download
- User's Guide
- Howtos (Release 1.2)
- Runtime Dependencies
- Building
- Roadmap
- Javadoc (Release 1.3)
- Javadoc (Release 1.2)
- Javadoc (Release 1.1)
- Javadoc (Release 1.0)
- SVN

##### Extensions

- Avalon Component

##### Project Documentation

- About
- Downloads
- Project Info
- Project Reports
- Development Process

##### Commons

- Home
- Components
- Sandbox
- Dormant
- Volunteering
- Contributing Patches
- Building Components
- Releasing Components
- Wiki

##### Legend

- External Link
- Opens in a new window

## About this document

This document describes the features of the Commons Configuration component starting with the very basics and up to the more advanced topics. If you read it in a linear way, you should get a sound understanding of the provided classes and the possibilities they offer. But you can also skip sections and jump directly to the topics you are most interested in.

Note that many features described in this guide are only available since the 1.3 release of Commons Configuration. If you are using a 1.2 version, have a look at the older Howtos documents, which specifically deal with this version.

## Table of contents

- Using Configuration

- Configuration Sources
- Mixing Configuration Sources
- The Configuration interface

- Properties files

- Using PropertiesConfiguration
- Includes
- Lists and arrays
- Variable Interpolation
- Saving
- Special Characters
- Layout Objects

- File-based Configurations

- Specifying the file
- Loading
- Saving
- Automatic Saving
- Automatic Reloading

- Hierarchical properties

- Accessing properties defined in XML documents
- Structured XML
- Accessing structured properties
- Adding new properties
- Escaping dot characters in XML tags

- Expression engines

- The default expression engine
- The XPATH expression engine

- Validation of XML configuration files
- Composite Configuration Details

- Setting Up Defaults
- Saving Changes

- Combined Configuration

- How it works
- Node combiners
- Constructing a CombinedConfiguration
- Dealing with changes

- Declaring and Creating Beans

- Basic Concepts
- An Example
- Extending the Basic Mechanism

- Using a Configuration Factory

- The configuration definition file
- Setting up a ConfigurationFactory
- Accessing properties

- Multiple configuration sources

- Overriding properties
- Optional configuration sources

- Union configuration
- Configuration definition file reference

- Setting further options
- Referencing system properties

- Using DefaultConfigurationBuilder

- Differences to ConfigurationFactory
- Enhancements of the configuration definition file
- An example
- Extending the configuration definition file format

- Configuration Events

- Configuration listeners
- An example