Package org.apache.commons.configuration2.builder

# Interface ConfigurationBuilder<T extends ImmutableConfiguration>

Type Parameters:
  `T` - the concrete type of the `ImmutableConfiguration` class produced by this builder

All Superinterfaces:
  `EventSource`

All Known Implementing Classes:
  `BasicConfigurationBuilder`, `CombinedConfigurationBuilder`, `FileBasedConfigurationBuilder`, `MultiFileConfigurationBuilder`, `ReloadingCombinedConfigurationBuilder`, `ReloadingFileBasedConfigurationBuilder`, `ReloadingMultiFileConfigurationBuilder`

public interface ConfigurationBuilder<T extends ImmutableConfiguration> extends EventSource

Definition of an interface for objects that can create `ImmutableConfiguration` or `Configuration` objects of a specific type.

This interface defines an abstract way of creating a `ImmutableConfiguration` object. It does not assume any specific way of how this is done; this is completely in the responsibility of an implementation class. There is just a single method that returns the configuration constructed by this builder.

Note: `ImmutableConfiguration` is just the base interface for all configuration objects. So that the return type of the `getConfiguration()` method is `ImmutableConfiguration` does not mean that only immutable configurations can be created.

Since:
  2.0

- ## Method Summary

  Modifier and Type
  Method
  Description
  `T`
  `getConfiguration()`
  Gets the configuration provided by this builder.

  ### Methods inherited from interface org.apache.commons.configuration2.event.EventSource

  `addEventListener, removeEventListener`

- ## Method Details

  - ### getConfiguration

    T getConfiguration() throws ConfigurationException
    Gets the configuration provided by this builder. An implementation has to perform all necessary steps for creating and initializing a `ImmutableConfiguration` object.
    Returns:
      the configuration
    Throws:
      `ConfigurationException` - if an error occurs