# Package org.apache.commons.configuration2.builder

package org.apache.commons.configuration2.builder

This package contains the implementations of configuration builder classes used to create new `Configuration` objects.

In Commons Configuration, configuration builders are responsible for the creation and initialization of `Configuration` objects. The typical use case is that a builder is created and configured with initialization parameters defining specific settings for the configuration to be created. The builder can then be stored centrally. Each component requiring access to configuration information queries the builder for its managed `Configuration` and can read or write properties as its pleasure.

Important note

This package contains a number of interfaces that reflect the initialization parameters available for supported configuration implementations. These interfaces are not intended to be implemented by client code! When new features are added to the represented configuration classes corresponding new methods will be added to them. This can happen even in minor releases.

- Related Packages
  Package
  Description
  org.apache.commons.configuration2
  The Configuration main package.
  org.apache.commons.configuration2.builder.combined
  A package containing the implementation of the builder for combined configurations.
  org.apache.commons.configuration2.builder.fluent
  This package defines a fluent API for setting up fully configured configuration builders.
- Class
  Description
  BasicBuilderParameters
  An implementation of `BuilderParameters` which handles the parameters of a `ConfigurationBuilder` common to all concrete `Configuration` implementations.
  BasicBuilderProperties<T>
  Definition of a properties interface for basic parameters which are supported by all `ConfigurationBuilder` implementations derived from `BasicConfigurationBuilder`.
  BasicConfigurationBuilder<T extends ImmutableConfiguration>
  An implementation of the `ConfigurationBuilder` interface which is able to create different concrete `ImmutableConfiguration` implementations based on reflection.
  BuilderConfigurationWrapperFactory
  A class that allows the creation of configuration objects wrapping a `ConfigurationBuilder`.
  BuilderConfigurationWrapperFactory.EventSourceSupport
  Enumerates options for supporting the `EventSource` interface in generated `ImmutableConfiguration` proxies.
  BuilderParameters
  An interface to be implemented by objects which can be used to parameterize a `ConfigurationBuilder`.
  ConfigurationBuilder<T extends ImmutableConfiguration>
  Definition of an interface for objects that can create `ImmutableConfiguration` or `Configuration` objects of a specific type.
  ConfigurationBuilderEvent
  A base event class for events generated by a `ConfigurationBuilder`.
  ConfigurationBuilderResultCreatedEvent
  A specialized event class which is generated by a `ConfigurationBuilder` when a result configuration has been created.
  CopyObjectDefaultHandler
  A specialized implementation of `DefaultParametersHandler` that copies the properties of a `BuilderParameters` object (passed at construction time) onto the object to be initialized.
  DatabaseBuilderParametersImpl
  A specialized parameters object for database configurations.
  DatabaseBuilderProperties<T>
  Definition of a properties interface for parameters of a database configuration.
  DefaultParametersHandler<T>
  Definition of an interface for setting default values for specific configuration parameter objects.
  DefaultParametersManager
  A class for managing a set of `DefaultParametersHandler` objects.
  DefaultReloadingDetectorFactory
  A default implementation of the `ReloadingDetectorFactory` interface.
  EventListenerParameters
  A specialized parameters implementation for `BasicConfigurationBuilder` which allows for a convenient event listener initialization.
  EventListenerProvider
  Definition of an interface that is evaluated by a `ConfigurationBuilder` to initialize event listeners.
  FileBasedBuilderParametersImpl
  An implementation of `BuilderParameters` which contains parameters related to `Configuration` implementations that are loaded from files.
  FileBasedBuilderProperties<T>
  Definition of a properties interface for parameters of file-based configurations.
  FileBasedConfigurationBuilder<T extends FileBasedConfiguration>
  A specialized `ConfigurationBuilder` implementation which can handle configurations read from a `FileHandler`.
  HierarchicalBuilderParametersImpl
  A specialized parameters object for hierarchical configurations.
  HierarchicalBuilderProperties<T>
  Definition of a parameters interface for hierarchical configurations.
  INIBuilderParametersImpl
  A specialized parameters class for INI configuration.
  INIBuilderProperties<T>
  Definition of a parameters interface for INI configurations.
  JndiBuilderParametersImpl
  A specialized parameters object for JNDI configurations.
  JndiBuilderProperties<T>
  Definition of a properties interface for parameters of a JNDI configuration.
  PropertiesBuilderParametersImpl
  A specialized parameter class for configuring `PropertiesConfiguration` instances.
  PropertiesBuilderProperties<T>
  Definition of a parameters interface for properties configurations.
  ReloadingDetectorFactory
  Definition of an interface for objects which can create a `ReloadingDetector`.
  ReloadingFileBasedConfigurationBuilder<T extends FileBasedConfiguration>
  A specialized `ConfigurationBuilder` implementation which can handle configurations read from a `FileHandler` and supports reloading.
  XMLBuilderParametersImpl
  A specialized parameters class for XML configuration.
  XMLBuilderProperties<T>
  Definition of a parameters interface for XML configurations.