package net.dev123.mblog.conf;
import net.dev123.commons.Constants;
import net.dev123.commons.ServiceProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ApiConfigurationFactory {
private static final String CLASS_NAME_FORMAT = "net.dev123.mblog.%1$s.%2$sApiConfiguration";
private static Logger logger = LoggerFactory.getLogger(ApiConfigurationFactory.class.getSimpleName());
public static synchronized ApiConfiguration getApiConfiguration(ServiceProvider serviceProvider) {
ApiConfiguration conf = null;
try {
String className =
String.format(
CLASS_NAME_FORMAT,
serviceProvider.toString().toLowerCase(),
serviceProvider.toString()
);
conf = (ApiConfiguration) Class.forName(className).newInstance();
} catch (Exception e) {
if (Constants.DEBUG) {
logger.debug("Get ApiConfiguration instance for {}", serviceProvider, e);
}
}
return conf;
}
}