Class CombinedConfigurationBuilder.ConfigurationSourceData
- java.lang.Object
-
- org.apache.commons.configuration2.builder.combined.CombinedConfigurationBuilder.ConfigurationSourceData
-
- Enclosing class:
- CombinedConfigurationBuilder
private final class CombinedConfigurationBuilder.ConfigurationSourceData extends java.lang.Object
A data class for storing information about all configuration sources defined for a combined builder.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.Collection<ConfigurationBuilder<? extends Configuration>>
allBuilders
A collection with all child builders.private EventListener<ConfigurationBuilderEvent>
changeListener
A listener for reacting on changes of sub builders.private java.util.Map<java.lang.String,ConfigurationBuilder<? extends Configuration>>
namedBuilders
A map for direct access to a builder by its name.private java.util.List<ConfigurationBuilder<? extends Configuration>>
overrideBuilders
A list with the builders for override configurations.private java.util.List<ConfigurationDeclaration>
overrideDeclarations
A list with data for all builders for override configurations.private java.util.List<ConfigurationBuilder<? extends Configuration>>
unionBuilders
A list with the builders for union configurations.private java.util.List<ConfigurationDeclaration>
unionDeclarations
A list with data for all builders for union configurations.
-
Constructor Summary
Constructors Constructor Description ConfigurationSourceData()
Creates a new instance ofConfigurationSourceData
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addChildConfiguration(CombinedConfiguration ccResult, ConfigurationDeclaration decl, ConfigurationBuilder<? extends Configuration> builder)
Creates a new configuration using the specified builder and adds it to the resulting combined configuration.java.util.Set<java.lang.String>
builderNames()
Returns a set with the names of all known named builders.void
cleanUp()
Frees resources used by this object and performs clean up.java.util.List<ConfigurationBuilder<? extends Configuration>>
createAndAddConfigurations(CombinedConfiguration ccResult, java.util.List<ConfigurationDeclaration> srcDecl, java.util.List<ConfigurationBuilder<? extends Configuration>> builders)
Processes the declaration of configuration builder providers, creates the corresponding builder if necessary, obtains configurations, and adds them to the specified result configuration.private EventListener<ConfigurationBuilderEvent>
createBuilderChangeListener()
Creates a listener for builder change events.private ConfigurationBuilder<? extends Configuration>
createConfigurationBuilder(ConfigurationDeclaration decl)
Creates a configuration builder based on a source declaration in the definition configuration.private java.util.List<? extends HierarchicalConfiguration<?>>
fetchTopLevelOverrideConfigs(HierarchicalConfiguration<?> config)
Finds the override configurations that are defined as top level elements in the configuration definition file.java.util.Collection<ConfigurationBuilder<? extends Configuration>>
getChildBuilders()
Gets a collection containing the builders for all child configuration sources.ConfigurationBuilder<? extends Configuration>
getNamedBuilder(java.lang.String name)
Gets theConfigurationBuilder
with the given name.java.util.List<ConfigurationDeclaration>
getOverrideSources()
Gets a collection with all configuration source declarations defined in the override section.java.util.List<ConfigurationDeclaration>
getUnionSources()
Gets a collection with all configuration source declarations defined in the union section.void
initFromDefinitionConfiguration(HierarchicalConfiguration<?> config)
Initializes this object from the specified definition configuration.
-
-
-
Field Detail
-
overrideDeclarations
private final java.util.List<ConfigurationDeclaration> overrideDeclarations
A list with data for all builders for override configurations.
-
unionDeclarations
private final java.util.List<ConfigurationDeclaration> unionDeclarations
A list with data for all builders for union configurations.
-
overrideBuilders
private final java.util.List<ConfigurationBuilder<? extends Configuration>> overrideBuilders
A list with the builders for override configurations.
-
unionBuilders
private final java.util.List<ConfigurationBuilder<? extends Configuration>> unionBuilders
A list with the builders for union configurations.
-
namedBuilders
private final java.util.Map<java.lang.String,ConfigurationBuilder<? extends Configuration>> namedBuilders
A map for direct access to a builder by its name.
-
allBuilders
private final java.util.Collection<ConfigurationBuilder<? extends Configuration>> allBuilders
A collection with all child builders.
-
changeListener
private final EventListener<ConfigurationBuilderEvent> changeListener
A listener for reacting on changes of sub builders.
-
-
Method Detail
-
addChildConfiguration
private void addChildConfiguration(CombinedConfiguration ccResult, ConfigurationDeclaration decl, ConfigurationBuilder<? extends Configuration> builder) throws ConfigurationException
Creates a new configuration using the specified builder and adds it to the resulting combined configuration.- Parameters:
ccResult
- the resulting combined configurationdecl
- the currentConfigurationDeclaration
builder
- the configuration builder- Throws:
ConfigurationException
- if an error occurs
-
builderNames
public java.util.Set<java.lang.String> builderNames()
Returns a set with the names of all known named builders.- Returns:
- the names of the available sub builders
-
cleanUp
public void cleanUp()
Frees resources used by this object and performs clean up. This method is called when the owning builder is reset.
-
createAndAddConfigurations
public java.util.List<ConfigurationBuilder<? extends Configuration>> createAndAddConfigurations(CombinedConfiguration ccResult, java.util.List<ConfigurationDeclaration> srcDecl, java.util.List<ConfigurationBuilder<? extends Configuration>> builders) throws ConfigurationException
Processes the declaration of configuration builder providers, creates the corresponding builder if necessary, obtains configurations, and adds them to the specified result configuration.- Parameters:
ccResult
- the result configuration.srcDecl
- the collection with the declarations of configuration sources to process.builders
- List of configuration builders.- Returns:
- a list with configuration builders.
- Throws:
ConfigurationException
- if an error occurs.
-
createBuilderChangeListener
private EventListener<ConfigurationBuilderEvent> createBuilderChangeListener()
Creates a listener for builder change events. This listener is registered at all builders for child configurations.
-
createConfigurationBuilder
private ConfigurationBuilder<? extends Configuration> createConfigurationBuilder(ConfigurationDeclaration decl) throws ConfigurationException
Creates a configuration builder based on a source declaration in the definition configuration.- Parameters:
decl
- the currentConfigurationDeclaration
- Returns:
- the newly created builder
- Throws:
ConfigurationException
- if an error occurs
-
fetchTopLevelOverrideConfigs
private java.util.List<? extends HierarchicalConfiguration<?>> fetchTopLevelOverrideConfigs(HierarchicalConfiguration<?> config)
Finds the override configurations that are defined as top level elements in the configuration definition file. This method fetches the child elements of the root node and removes the nodes that represent other configuration sections. The remaining nodes are treated as definitions for override configurations.- Parameters:
config
- the definition configuration- Returns:
- a list with sub configurations for the top level override configurations
-
getChildBuilders
public java.util.Collection<ConfigurationBuilder<? extends Configuration>> getChildBuilders()
Gets a collection containing the builders for all child configuration sources.- Returns:
- the child configuration builders
-
getNamedBuilder
public ConfigurationBuilder<? extends Configuration> getNamedBuilder(java.lang.String name)
Gets theConfigurationBuilder
with the given name. If no such builder is defined in the definition configuration, result is null.- Parameters:
name
- the name of the builder in question- Returns:
- the builder with this name or null
-
getOverrideSources
public java.util.List<ConfigurationDeclaration> getOverrideSources()
Gets a collection with all configuration source declarations defined in the override section.- Returns:
- the override configuration builders
-
getUnionSources
public java.util.List<ConfigurationDeclaration> getUnionSources()
Gets a collection with all configuration source declarations defined in the union section.- Returns:
- the union configuration builders
-
initFromDefinitionConfiguration
public void initFromDefinitionConfiguration(HierarchicalConfiguration<?> config) throws ConfigurationException
Initializes this object from the specified definition configuration.- Parameters:
config
- the definition configuration- Throws:
ConfigurationException
- if an error occurs
-
-