Class DefaultConfigurationBuilder.ConfigurationProvider

java.lang.Object
org.apache.commons.configuration.beanutils.DefaultBeanFactory
org.apache.commons.configuration.DefaultConfigurationBuilder.ConfigurationProvider
All Implemented Interfaces:
BeanFactory
Direct Known Subclasses:
DefaultConfigurationBuilder.FileConfigurationProvider
Enclosing class:
DefaultConfigurationBuilder

A base class for creating and initializing configuration sources.

Concrete sub classes of this base class are responsible for creating specific Configuration objects for the tags in the configuration definition file. The configuration factory will parse the definition file and try to find a matching ConfigurationProvider for each encountered tag. This provider is then asked to create a corresponding Configuration object. It is up to a concrete implementation how this object is created and initialized.

Note that at the moment only configuration classes derived from AbstractConfiguration are supported.

  • Constructor Details

    • ConfigurationProvider

      Creates a new uninitialized instance of ConfigurationProvider.
    • ConfigurationProvider

      public ConfigurationProvider(Class<?> configClass)
      Creates a new instance of ConfigurationProvider and sets the class of the configuration created by this provider.
      Parameters:
      configClass - the configuration class
    • ConfigurationProvider

      public ConfigurationProvider(String configClassName)
      Creates a new instance of ConfigurationProvider and sets the name of the class of the configuration created by this provider.
      Parameters:
      configClassName - the name of the configuration class
      Since:
      1.4
  • Method Details

    • getConfigurationClass

      Returns the class of the configuration returned by this provider.
      Returns:
      the class of the provided configuration
    • setConfigurationClass

      public void setConfigurationClass(Class<?> configurationClass)
      Sets the class of the configuration returned by this provider.
      Parameters:
      configurationClass - the configuration class
    • getConfigurationClassName

      Returns the name of the configuration class returned by this provider.
      Returns:
      the configuration class name
      Since:
      1.4
    • setConfigurationClassName

      public void setConfigurationClassName(String configurationClassName)
      Sets the name of the configuration class returned by this provider.
      Parameters:
      configurationClassName - the name of the configuration class
      Since:
      1.4
    • getConfiguration

      Returns the configuration. This method is called to fetch the configuration from the provider. This implementation will call the inherited createBean() method to create a new instance of the configuration class.
      Parameters:
      decl - the bean declaration with initialization parameters for the configuration
      Returns:
      the new configuration object
      Throws:
      Exception - if an error occurs
    • getEmptyConfiguration

      Returns an uninitialized configuration of the represented type. This method will be called for optional configurations when the getConfiguration() method caused an error and the forceCreate attribute is set. A concrete sub class can here try to create an uninitialized, empty configuration, which may be possible if the error was created during initialization. This base implementation just returns null.
      Parameters:
      decl - the bean declaration with initialization parameters for the configuration
      Returns:
      the new configuration object
      Throws:
      Exception - if an error occurs
      Since:
      1.4
    • fetchConfigurationClass

      protected Class<?> fetchConfigurationClass() throws Exception
      Returns the configuration class supported by this provider. If a class object was set, it is returned. Otherwise the method tries to resolve the class name.
      Returns:
      the class of the configuration to be created
      Throws:
      Exception
      Since:
      1.4
    • loadClass

      protected Class<?> loadClass(String className) throws ClassNotFoundException
      Loads the class with the specified name dynamically. If the class's name is null, null will also be returned.
      Parameters:
      className - the name of the class to be loaded
      Returns:
      the class object
      Throws:
      ClassNotFoundException - if class loading fails
      Since:
      1.4