org.sevensource.commons.configuration.jdbc.AbstractConfiguration Maven / Gradle / Ivy
package org.sevensource.commons.configuration.jdbc;
import javax.inject.Inject;
import org.sevensource.commons.configuration.jdbc.database.ExtendedCompositeConfiguration;
import org.springframework.core.env.Environment;
public abstract class AbstractConfiguration {
private final Environment env;
private final ExtendedCompositeConfiguration databaseConfiguration;
private T deploymentEnvironment;
private String serverName;
private String applicationName;
@Inject
public AbstractConfiguration(Environment environment, ExtendedCompositeConfiguration databaseConfiguration) {
this.env = environment;
this.databaseConfiguration = databaseConfiguration;
}
public T getDeploymentEnvironment() {
if(deploymentEnvironment == null) {
deploymentEnvironment = resolveConfigurationEnvironment();
}
return deploymentEnvironment;
}
public String getServerName() {
return serverName;
}
public void setServerName(String serverName) {
this.serverName = serverName;
}
public String getApplicationName() {
return applicationName;
}
public void setApplicationName(String applicationName) {
this.applicationName = applicationName;
}
public ExtendedCompositeConfiguration getConfig() {
return databaseConfiguration;
}
/**
* returns Spring's Environment
* @return
*/
protected Environment getEnvironment() {
return env;
}
protected abstract T resolveConfigurationEnvironment( );
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy