package railo.runtime.format;
import java.text.DateFormatSymbols;
import java.util.Locale;
public abstract class BaseFormat implements Format {
private Locale locale;
public BaseFormat(Locale locale) {
this.locale=locale;
}
protected final String getMonthAsString(int month) {
if(getLocale().equals(Locale.US)) {
switch(month) {
case 1: return "January";
case 2: return "February";
case 3: return "March";
case 4: return "April";
case 5: return "May";
case 6: return "June";
case 7: return "July";
case 8: return "August";
case 9: return "September";
case 10: return "October";
case 11: return "November";
case 12: return "December";
default: return null;
}
}
return new DateFormatSymbols(locale).getMonths()[month-1];
}
protected final String getMonthShortAsString(int month) {
if(getLocale().equals(Locale.US)) {
switch(month) {
case 1: return "Jan";
case 2: return "Feb";
case 3: return "Mar";
case 4: return "Apr";
case 5: return "May";
case 6: return "Jun";
case 7: return "Jul";
case 8: return "Aug";
case 9: return "Sep";
case 10: return "Oct";
case 11: return "Nov";
case 12: return "Dec";
default: return null;
}
}
return new DateFormatSymbols(locale).getShortMonths()[month-1];
}
protected final String getDayOfWeekAsString(int dayOfWeek) {
if(getLocale().equals(Locale.US)) {
switch(dayOfWeek) {
case 1: return "Sunday";
case 2: return "Monday";
case 3: return "Tuesday";
case 4: return "Wednesday";
case 5: return "Thursday";
case 6: return "Friday";
case 7: return "Saturday";
default: return null;
}
}
return new DateFormatSymbols(locale).getWeekdays()[dayOfWeek];
}
protected final String getDayOfWeekShortAsString(int dayOfWeek) {
if(getLocale().equals(Locale.US)) {
switch(dayOfWeek) {
case 1: return "Sun";
case 2: return "Mon";
case 3: return "Tue";
case 4: return "Wed";
case 5: return "Thu";
case 6: return "Fri";
case 7: return "Sat";
default: return null;
}
}
return new DateFormatSymbols(locale).getShortWeekdays()[dayOfWeek];
}
protected final Locale getLocale() {
return locale==null?Locale.US:locale;
}
}