com.wassilak.configuration_service.configuration.ConfigurationFactory Maven / Gradle / Ivy
Show all versions of configuration-service Show documentation
package com.wassilak.configuration_service.configuration;
/**
* The ConfigurationFactory class gives users the ability to create
* Configuration objects.
*
* Copyright (C) 2014 John Wassilak ([email protected])
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see http://www.gnu.org/licenses/.
*/
public final class ConfigurationFactory {
/**
* The ConfigurationFactory constructor ensures that the
* ConfigurationFactory class cannot be instantiated. It is package
* private to allow testing.
*/
ConfigurationFactory() {
throw new IllegalStateException(
"This class should not be instantiated."
);
}
/**
* The createConfiguration method creates a Configuration object with the
* given parameters.
*
* @param applicationName The name of the application that this
* configuration is for. This must be provided.
* @param applicationVersion The version of the application that this
* configuration is for. This must be provided.
* @return A configuration object created with the given parameters.
* @throws ConfigurationException If the Configuration is being created
* with invalid parameters.
*/
public static Configuration createConfiguration(
String applicationName,
String applicationVersion)
throws ConfigurationException {
return new ConfigurationImpl(applicationName, applicationVersion);
}
}