package de.jollyday.parameter;
import java.net.URL;
import java.util.Properties;
import de.jollyday.util.ResourceUtil;
public class CalendarPartManagerParameter extends BaseManagerParameter {
/**
* prefix of the config files.
*/
private static final String FILE_PREFIX = "holidays/Holidays";
/**
* suffix of the config files.
*/
private static final String FILE_SUFFIX = ".xml";
/**
* The utility to load resources.
*/
private final ResourceUtil resourceUtil = new ResourceUtil();
private final String calendarPart;
public CalendarPartManagerParameter(String calendarPart,
Properties properties) {
super(properties);
this.calendarPart = calendarPart;
}
@Override
public String createCacheKey() {
return calendarPart;
}
@Override
public String getDisplayName() {
return calendarPart;
}
@Override
public URL createResourceUrl() {
String configurationFileName = getConfigurationFileName(calendarPart);
return resourceUtil.getResource(configurationFileName);
}
@Override
public String getManangerImplClassName() {
String className = getProperty(MANAGER_IMPL_CLASS_PREFIX + "."
+ calendarPart);
if (className == null) {
className = super.getManangerImplClassName();
}
return className;
}
/**
* Returns the configuration file name for the country.
*
* @param country
* a {@link java.lang.String} object.
* @return file name
*/
public static String getConfigurationFileName(final String country) {
return FILE_PREFIX + "_" + country + FILE_SUFFIX;
}
@Override
public String toString() {
return this.getClass().getSimpleName() + " - " + this.calendarPart;
}
}