public enum ScheduleType { RUN_ONCE(0, MSGS.runOnce()), SECONDS(1, MSGS.seconds()), MINUTES(2, MSGS.minutes()), HOURS(3, MSGS.hours()), DAILY(4, MSGS.daily()), WEEKLY(5, MSGS.weekly()), MONTHLY(6, MSGS.monthly()), YEARLY(7, MSGS.yearly()), CRON(8, MSGS.cron()); private ScheduleType(int value, String name) { this.value = value; this.name = name; } private final int value; private final String name; private static ScheduleType[] scheduleValue = { RUN_ONCE, SECONDS, MINUTES, HOURS, DAILY, WEEKLY, MONTHLY, YEARLY, CRON }; public int value() { return value; } public String toString() { return name; } public static ScheduleType get(int idx) { return scheduleValue[idx]; } public static int length() { return scheduleValue.length; } public static ScheduleType stringToScheduleType(String strSchedule) throws EnumException { for (ScheduleType v : EnumSet.range(ScheduleType.RUN_ONCE, ScheduleType.CRON)) { if (v.toString().equals(strSchedule)) { return v; } } throw new EnumException(MSGS.invalidTemporalValue(scheduleValue.toString())); } } /* end enum */