package de.jollyday; import java.net.URL; import java.util.Locale; import java.util.Properties; import de.jollyday.parameter.CalendarPartManagerParameter; import de.jollyday.parameter.UrlManagerParameter; public final class ManagerParameters { private ManagerParameters(){ } public static ManagerParameter create(String calendarPart){ return create(calendarPart, null); } public static ManagerParameter create(Locale lc) { return create(lc.getCountry().toLowerCase(), null); } public static ManagerParameter create(HolidayCalendar calendar){ return create(calendar, null); } public static ManagerParameter create(HolidayCalendar calendar, Properties properties){ return create(calendar.getId(), properties); } public static ManagerParameter create(URL calendarFileUrl){ return create(calendarFileUrl, null); } public static ManagerParameter create(String calendarPart, Properties properties){ return new CalendarPartManagerParameter(prepareCalendarName(calendarPart), properties); } public static ManagerParameter create(URL calendarFileUrl, Properties properties){ return new UrlManagerParameter(calendarFileUrl, properties); } private static String prepareCalendarName(String calendar) { if (calendar == null || "".equals(calendar.trim())) { calendar = Locale.getDefault().getCountry().toLowerCase(); } else { calendar = calendar.trim().toLowerCase(); } return calendar; } }