package jfxtras.internal.scene.control.skin.agenda.icalendar.base24hour;
import java.time.DayOfWeek;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
import java.util.Map;
import java.util.ResourceBundle;
import jfxtras.icalendarfx.properties.component.recurrence.rrule.FrequencyType;
import jfxtras.scene.control.agenda.icalendar.editors.ChangeDialogOption;
/**
* This class contains text values for controls. It contains default values and, when the {@link #setup(ResourceBundle)}
* method is executed, replaces those default values with those from a ResourceBundle
*
* @author David Bal
*
*/
public final class Settings
{
private Settings() {}
public static DateTimeFormatter DATE_FORMAT = DateTimeFormatter.ofPattern("EEE, MMMM d, yyyy");
public static DateTimeFormatter DATE_FORMAT_AGENDA_DATEONLY = DateTimeFormatter.ofPattern("MMM d, yyyy");
public static DateTimeFormatter DATE_FORMAT_AGENDA_EXCEPTION = DateTimeFormatter.ofPattern("MMM d, yyyy h:mm a");
public static DateTimeFormatter DATE_FORMAT_AGENDA_EXCEPTION_DATEONLY = DateTimeFormatter.ofPattern("EEE, MMMM d, yyyy");
public static DateTimeFormatter DATE_TIME_FORMAT = DateTimeFormatter.ofPattern("EEE, MMMM d, yyyy h:mm a");
public static DateTimeFormatter DATE_FORMAT_AGENDA_MONTHDAY = DateTimeFormatter.ofPattern("MMMM d"); // for yearly summary
public static DateTimeFormatter TIME_FORMAT_END = DateTimeFormatter.ofPattern("hh:mm a");
public static final Map<FrequencyType, String> REPEAT_FREQUENCIES = defaultRepeatFrequenciesMap();
private static Map<FrequencyType, String> defaultRepeatFrequenciesMap()
{
Map<FrequencyType, String> map = new HashMap<>();
map.put(FrequencyType.DAILY, "Daily");
map.put(FrequencyType.WEEKLY, "Weekly");
map.put(FrequencyType.MONTHLY, "Monthly");
map.put(FrequencyType.YEARLY, "Yearly");
return map;
}
public static final Map<FrequencyType, String> REPEAT_FREQUENCIES_PLURAL = defaultRepeatFrequenciesPluralMap();
private static Map<FrequencyType, String> defaultRepeatFrequenciesPluralMap()
{
Map<FrequencyType, String> map = new HashMap<>();
map.put(FrequencyType.DAILY, "days");
map.put(FrequencyType.WEEKLY, "weeks");
map.put(FrequencyType.MONTHLY, "months");
map.put(FrequencyType.YEARLY, "years");
return map;
}
public static final Map<FrequencyType, String> REPEAT_FREQUENCIES_SINGULAR = defaultRepeatFrequenciesSingluarMap();
private static Map<FrequencyType, String> defaultRepeatFrequenciesSingluarMap()
{
Map<FrequencyType, String> map = new HashMap<>();
map.put(FrequencyType.DAILY, "day");
map.put(FrequencyType.WEEKLY, "week");
map.put(FrequencyType.MONTHLY, "month");
map.put(FrequencyType.YEARLY, "year");
return map;
}
public static final Map<ChangeDialogOption, String> REPEAT_CHANGE_CHOICES = defaultRepeatChangeChoicesMap();
private static Map<ChangeDialogOption, String> defaultRepeatChangeChoicesMap()
{
Map<ChangeDialogOption, String> map = new HashMap<>();
map.put(ChangeDialogOption.ONE, "This event only");
map.put(ChangeDialogOption.ALL, "All events");
// map.put(ChangeDialogOption.SEGMENT, "This segment of events");
map.put(ChangeDialogOption.THIS_AND_FUTURE, "This and future events");
// map.put(ChangeDialogOption.THIS_AND_FUTURE_SEGMENT, "This and future events in its segment");
// map.put(ChangeDialogOption.THIS_AND_FUTURE_ALL, "This and future events in whole series");
return map;
}
public static final Map<Integer, String> ORDINALS = defaultOrdinalsMap();
private static Map<Integer, String> defaultOrdinalsMap()
{
Map<Integer, String> map = new HashMap<>();
map.put(1, "first");
map.put(2, "second");
map.put(3, "third");
map.put(4, "fourth");
map.put(5, "fifth");
return map;
}
public static final Map<DayOfWeek, String> DAYS_OF_WEEK_MAP = defaultDaysOfWeekMap();
private static Map<DayOfWeek, String> defaultDaysOfWeekMap()
{
Map<DayOfWeek, String> map = new HashMap<>();
map.put(DayOfWeek.MONDAY, "Monday");
map.put(DayOfWeek.TUESDAY, "Tuesday");
map.put(DayOfWeek.WEDNESDAY, "Wednesday");
map.put(DayOfWeek.THURSDAY, "Thursday");
map.put(DayOfWeek.FRIDAY, "Friday");
map.put(DayOfWeek.SATURDAY, "Saturday");
map.put(DayOfWeek.SUNDAY, "Sunday");
return map;
}
public static ResourceBundle resources;
public static void setup(ResourceBundle resourcesIn)
{
resources = resourcesIn;
DATE_FORMAT = DateTimeFormatter.ofPattern(resourcesIn.getString("date.format"));
DATE_FORMAT_AGENDA_EXCEPTION = DateTimeFormatter.ofPattern(resourcesIn.getString("date.format.agenda.exception"));
DATE_FORMAT_AGENDA_EXCEPTION_DATEONLY = DateTimeFormatter.ofPattern(resources.getString("date.format.agenda.exception.dateonly"));
DATE_FORMAT_AGENDA_DATEONLY = DateTimeFormatter.ofPattern(resourcesIn.getString("date.format.agenda.dateonly"));
DATE_FORMAT_AGENDA_MONTHDAY = DateTimeFormatter.ofPattern(resourcesIn.getString("date.format.agenda.monthday"));
DATE_TIME_FORMAT = DateTimeFormatter.ofPattern(resourcesIn.getString("date.time.format"));
TIME_FORMAT_END = DateTimeFormatter.ofPattern(resourcesIn.getString("time.format"));
REPEAT_FREQUENCIES.put(FrequencyType.DAILY, resourcesIn.getString("daily"));
REPEAT_FREQUENCIES.put(FrequencyType.WEEKLY, resourcesIn.getString("weekly"));
REPEAT_FREQUENCIES.put(FrequencyType.MONTHLY, resourcesIn.getString("monthly"));
REPEAT_FREQUENCIES.put(FrequencyType.YEARLY, resourcesIn.getString("yearly"));
REPEAT_FREQUENCIES_PLURAL.put(FrequencyType.DAILY, resourcesIn.getString("days"));
REPEAT_FREQUENCIES_PLURAL.put(FrequencyType.WEEKLY, resourcesIn.getString("weeks"));
REPEAT_FREQUENCIES_PLURAL.put(FrequencyType.MONTHLY, resourcesIn.getString("months"));
REPEAT_FREQUENCIES_PLURAL.put(FrequencyType.YEARLY, resourcesIn.getString("years"));
REPEAT_FREQUENCIES_SINGULAR.put(FrequencyType.DAILY, resourcesIn.getString("day"));
REPEAT_FREQUENCIES_SINGULAR.put(FrequencyType.WEEKLY, resourcesIn.getString("week"));
REPEAT_FREQUENCIES_SINGULAR.put(FrequencyType.MONTHLY, resourcesIn.getString("month"));
REPEAT_FREQUENCIES_SINGULAR.put(FrequencyType.YEARLY, resourcesIn.getString("year"));
REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.ONE, resourcesIn.getString("dialog.one"));
REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.ALL, resourcesIn.getString("dialog.all"));
REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.THIS_AND_FUTURE, resourcesIn.getString("dialog.future"));
// REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.SEGMENT, resources.getString("dialog.repeat.change.segment"));
// REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.THIS_AND_FUTURE_SEGMENT, resources.getString("dialog.repeat.change.future.segment"));
// REPEAT_CHANGE_CHOICES.put(ChangeDialogOption.THIS_AND_FUTURE_ALL, resources.getString("dialog.repeat.change.future.all"));
ORDINALS.put(1, resourcesIn.getString("first"));
ORDINALS.put(2, resourcesIn.getString("second"));
ORDINALS.put(3, resourcesIn.getString("third"));
ORDINALS.put(4, resourcesIn.getString("fourth"));
ORDINALS.put(5, resourcesIn.getString("fifth"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.MONDAY, resourcesIn.getString("monday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.TUESDAY, resourcesIn.getString("tuesday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.WEDNESDAY, resourcesIn.getString("wednesday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.THURSDAY, resourcesIn.getString("thursday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.FRIDAY, resourcesIn.getString("friday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.SATURDAY, resourcesIn.getString("saturday"));
DAYS_OF_WEEK_MAP.put(DayOfWeek.SUNDAY, resourcesIn.getString("sunday"));
}
}