Class MultiFileConfigurationBuilderProvider
- All Implemented Interfaces:
ConfigurationBuilderProvider
A specialized ConfigurationBuilderProvider
implementation for integrating
MultiFileConfigurationBuilder
with CombinedConfigurationBuilder
.
When using a configuration source managed by MultiFileConfigurationBuilder
it is not sufficient to store the
configuration once obtained from the builder in the resulting combined configuration. Rather, it has to be ensured
that each access to this configuration queries the builder anew so that it can evaluate its file pattern and return a
different configuration if necessary. Therefore, this class returns a specialized wrapper over a
MultiFileConfigurationBuilder
which returns a configuration wrapping the builder; so accessing the
configuration's properties actually calls back to the builder. This constellation is compatible with the way
DynamicCombinedConfiguration
manages its data.
- Since:
- 2.0
-
Constructor Summary
ConstructorDescriptionMultiFileConfigurationBuilderProvider
(String configCls, String paramCls) Creates a new instance ofMultiFileConfigurationBuilderProvider
and sets the name of the configuration class to be returned byMultiFileConfigurationBuilder
. -
Method Summary
Modifier and TypeMethodDescriptionConfigurationBuilder<? extends Configuration>
Gets the builder for the configuration source managed by this provider.Methods inherited from class org.apache.commons.configuration2.builder.combined.BaseConfigurationBuilderProvider
configureBuilder, createBuilder, createParameterObjects, determineBuilderClass, determineConfigurationClass, getBuilderClass, getConfigurationClass, getParameterClasses, getReloadingBuilderClass, inheritParentBuilderProperties, initializeParameterObjects, isAllowFailOnInit
-
Constructor Details
-
MultiFileConfigurationBuilderProvider
Creates a new instance ofMultiFileConfigurationBuilderProvider
and sets the name of the configuration class to be returned byMultiFileConfigurationBuilder
.- Parameters:
configCls
- the name of the managed configuration classparamCls
- the name of the class of the parameters object to configure the managed configuration
-
-
Method Details
-
getConfigurationBuilder
public ConfigurationBuilder<? extends Configuration> getConfigurationBuilder(ConfigurationDeclaration decl) throws ConfigurationException Gets the builder for the configuration source managed by this provider. This method is called during processing of the combined configuration definition file. This implementation delegates to some protected methods to create a new builder instance using reflection and to configure it with parameter values defined by the passed inBeanDeclaration
. This implementation lets the super class create a fully configured builder. Then it returns a special wrapper around it.- Specified by:
getConfigurationBuilder
in interfaceConfigurationBuilderProvider
- Overrides:
getConfigurationBuilder
in classBaseConfigurationBuilderProvider
- Parameters:
decl
- the bean declaration with initialization parameters for the configuration builder- Returns:
- the
ConfigurationBuilder
object created by this provider - Throws:
ConfigurationException
- if an error occurs
-