Class Configurations
Complex initializations of configuration builders can be done in a pretty straight-forward way by making use of the provided fluent API. However, if only default settings are used (and maybe a configuration file to be loaded has to be specified), this approach tends to become a bit verbose. This class was introduced to simplify the creation of configuration objects in such cases. It offers a bunch of methods which allow the creation of some standard configuration classes with default settings passing in only a minimum required parameters.
An an example consider the creation of a PropertiesConfiguration object from a file. Using a builder, code
like the following one would have to be written:
Parameters params = new Parameters();
FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
new FileBasedConfigurationBuilder<PropertiesConfiguration>(PropertiesConfiguration.class)
.configure(params.fileBased().setFile(new File("config.properties")));
PropertiesConfiguration config = builder.getConfiguration();
With a convenience method of Configurations the same can be achieved with the following:
Configurations configurations = new Configurations();
PropertiesConfiguration config = configurations.properties(new File("config.properties"));
There are similar methods for constructing builder objects from which configurations can then be obtained.
This class is thread-safe. A single instance can be created by an application and used in a central way to create
configuration objects. When an instance is created a Parameters instance can be passed in. Otherwise, a
default instance is created. In any case, the Parameters instance associated with a Configurations
object can be used to define default settings for the configurations to be created.
- Since:
- 2.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a newConfigurationsinstance with default settings.Configurations(Parameters params) Creates a new instance ofConfigurationsand initializes it with the specifiedParametersobject. -
Method Summary
Modifier and TypeMethodDescriptionCreates aCombinedConfigurationinstance from the content of the given file.Creates aCombinedConfigurationinstance from the content of the file identified by the given path.Creates aCombinedConfigurationinstance from the content of the given URL.combinedBuilder(File file) Creates a builder for aCombinedConfigurationand initializes it with the given file to be loaded.combinedBuilder(String path) Creates a builder for aCombinedConfigurationand initializes it with the given path to the file to be loaded.combinedBuilder(URL url) Creates a builder for aCombinedConfigurationand initializes it with the given URL to be loaded.<T extends FileBasedConfiguration>
TCreates an instance of the specified file-based configuration class from the content of the given file.<T extends FileBasedConfiguration>
TCreates an instance of the specified file-based configuration class from the content of the file identified by the given path.<T extends FileBasedConfiguration>
TCreates an instance of the specified file-based configuration class from the content of the given URL.<T extends FileBasedConfiguration>
FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, File file) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the file to be loaded.<T extends FileBasedConfiguration>
FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, String path) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the path to the file to be loaded.<T extends FileBasedConfiguration>
FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, URL url) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the URL to the file to be loaded.Gets theParametersinstance associated with this object.Creates aINIConfigurationinstance from the content of the given file.Creates aINIConfigurationinstance from the content of the file identified by the given path.Creates aINIConfigurationinstance from the content of the given URL.iniBuilder(File file) Creates a builder for aINIConfigurationand initializes it with the given file to be loaded.iniBuilder(String path) Creates a builder for aINIConfigurationand initializes it with the file file identified by the given path.iniBuilder(URL url) Creates a builder for aINIConfigurationand initializes it with the given URL to be loaded.properties(File file) Creates aPropertiesConfigurationinstance from the content of the given file.properties(String path) Creates aPropertiesConfigurationinstance from the content of the file identified by the given path.properties(URL url) Creates aPropertiesConfigurationinstance from the content of the given URL.Creates a builder for aPropertiesConfiguration.propertiesBuilder(File file) Creates a builder for aPropertiesConfigurationand initializes it with the given file to be loaded.propertiesBuilder(String path) Creates a builder for aPropertiesConfigurationand initializes it with the given path to the file to be loaded.propertiesBuilder(URL url) Creates a builder for aPropertiesConfigurationand initializes it with the given URL to be loaded.propertiesBuilder(PropertiesBuilderParameters parameters) Creates a builder for aPropertiesConfigurationand initializes it with the given parameters to be loaded.Creates aXMLConfigurationinstance from the content of the given file.Creates aXMLConfigurationinstance from the content of the file identified by the given path.Creates aXMLConfigurationinstance from the content of the given URL.xmlBuilder(File file) Creates a builder for aXMLConfigurationand initializes it with the given file to be loaded.xmlBuilder(String path) Creates a builder for aXMLConfigurationand initializes it with the given path to the file to be loaded.xmlBuilder(URL url) Creates a builder for aXMLConfigurationand initializes it with the given URL to be loaded.
-
Constructor Details
-
Configurations
public Configurations()Creates a newConfigurationsinstance with default settings. -
Configurations
Creates a new instance ofConfigurationsand initializes it with the specifiedParametersobject.- Parameters:
params- theParameters(may be null, then a default instance is created)
-
-
Method Details
-
combined
Creates aCombinedConfigurationinstance from the content of the given file. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
file- the file to be loaded- Returns:
- a
CombinedConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
combined
Creates aCombinedConfigurationinstance from the content of the file identified by the given path. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
path- the path to the file to be loaded- Returns:
- a
CombinedConfigurationobject initialized from this URL - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
combined
Creates aCombinedConfigurationinstance from the content of the given URL. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
url- the URL to be loaded- Returns:
- a
CombinedConfigurationobject initialized from this URL - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
combinedBuilder
Creates a builder for aCombinedConfigurationand initializes it with the given file to be loaded.- Parameters:
file- the file to be loaded- Returns:
- the newly created
CombinedConfigurationBuilder
-
combinedBuilder
Creates a builder for aCombinedConfigurationand initializes it with the given path to the file to be loaded.- Parameters:
path- the path to the file to be loaded- Returns:
- the newly created
CombinedConfigurationBuilder
-
combinedBuilder
Creates a builder for aCombinedConfigurationand initializes it with the given URL to be loaded.- Parameters:
url- the URL to be loaded- Returns:
- the newly created
CombinedConfigurationBuilder
-
fileBased
public <T extends FileBasedConfiguration> T fileBased(Class<T> configClass, File file) throws ConfigurationException Creates an instance of the specified file-based configuration class from the content of the given file. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classfile- the file to be loaded- Returns:
- a
FileBasedConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
fileBased
public <T extends FileBasedConfiguration> T fileBased(Class<T> configClass, String path) throws ConfigurationException Creates an instance of the specified file-based configuration class from the content of the file identified by the given path. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classpath- the path to the file to be loaded- Returns:
- a
FileBasedConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
fileBased
public <T extends FileBasedConfiguration> T fileBased(Class<T> configClass, URL url) throws ConfigurationException Creates an instance of the specified file-based configuration class from the content of the given URL. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classurl- the URL to be loaded- Returns:
- a
FileBasedConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
fileBasedBuilder
public <T extends FileBasedConfiguration> FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, File file) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the file to be loaded.- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classfile- the file to be loaded- Returns:
- the new
FileBasedConfigurationBuilder
-
fileBasedBuilder
public <T extends FileBasedConfiguration> FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, String path) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the path to the file to be loaded.- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classpath- the path to the file to be loaded- Returns:
- the new
FileBasedConfigurationBuilder
-
fileBasedBuilder
public <T extends FileBasedConfiguration> FileBasedConfigurationBuilder<T> fileBasedBuilder(Class<T> configClass, URL url) Creates aFileBasedConfigurationBuilderfor the specified configuration class and initializes it with the URL to the file to be loaded.- Type Parameters:
T- the type of the configuration to be constructed- Parameters:
configClass- the configuration classurl- the URL to be loaded- Returns:
- the new
FileBasedConfigurationBuilder
-
getParameters
Gets theParametersinstance associated with this object.- Returns:
- the associated
Parametersobject
-
ini
Creates aINIConfigurationinstance from the content of the given file. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
file- the file to be loaded- Returns:
- a
INIConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
ini
Creates aINIConfigurationinstance from the content of the file identified by the given path. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
path- the path to the file to be loaded- Returns:
- a
INIConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
ini
Creates aINIConfigurationinstance from the content of the given URL. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
url- the URL to be loaded- Returns:
- a
INIConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
iniBuilder
Creates a builder for aINIConfigurationand initializes it with the given file to be loaded.- Parameters:
file- the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
iniBuilder
Creates a builder for aINIConfigurationand initializes it with the file file identified by the given path.- Parameters:
path- the path to the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
iniBuilder
Creates a builder for aINIConfigurationand initializes it with the given URL to be loaded.- Parameters:
url- the URL to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
properties
Creates aPropertiesConfigurationinstance from the content of the given file. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
file- the file to be loaded- Returns:
- a
PropertiesConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
properties
Creates aPropertiesConfigurationinstance from the content of the file identified by the given path. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
path- the path to the file to be loaded- Returns:
- a
PropertiesConfigurationobject initialized from this path - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
properties
Creates aPropertiesConfigurationinstance from the content of the given URL. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
url- the URL to be loaded- Returns:
- a
PropertiesConfigurationobject initialized from this URL - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
propertiesBuilder
Creates a builder for aPropertiesConfiguration.- Returns:
- the newly created
FileBasedConfigurationBuilder - Since:
- 2.6
-
propertiesBuilder
Creates a builder for aPropertiesConfigurationand initializes it with the given file to be loaded.- Parameters:
file- the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
propertiesBuilder
public FileBasedConfigurationBuilder<PropertiesConfiguration> propertiesBuilder(PropertiesBuilderParameters parameters) Creates a builder for aPropertiesConfigurationand initializes it with the given parameters to be loaded.- Parameters:
parameters- the parameters to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder - Since:
- 2.6
-
propertiesBuilder
Creates a builder for aPropertiesConfigurationand initializes it with the given path to the file to be loaded.- Parameters:
path- the path to the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
propertiesBuilder
Creates a builder for aPropertiesConfigurationand initializes it with the given URL to be loaded.- Parameters:
url- the URL to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
xml
Creates aXMLConfigurationinstance from the content of the given file. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
file- the file to be loaded- Returns:
- a
XMLConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
xml
Creates aXMLConfigurationinstance from the content of the file identified by the given path. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
path- the path to the file to be loaded- Returns:
- a
XMLConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
xml
Creates aXMLConfigurationinstance from the content of the given URL. This is a convenience method which can be used if no builder is needed for managing the configuration object. (Although, behind the scenes a builder is created).- Parameters:
url- the URL to be loaded- Returns:
- a
XMLConfigurationobject initialized from this file - Throws:
ConfigurationException- if an error occurred when loading the configuration
-
xmlBuilder
Creates a builder for aXMLConfigurationand initializes it with the given file to be loaded.- Parameters:
file- the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
xmlBuilder
Creates a builder for aXMLConfigurationand initializes it with the given path to the file to be loaded.- Parameters:
path- the path to the file to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-
xmlBuilder
Creates a builder for aXMLConfigurationand initializes it with the given URL to be loaded.- Parameters:
url- the URL to be loaded- Returns:
- the newly created
FileBasedConfigurationBuilder
-