package carpool.configurations; import java.util.Calendar; import carpool.common.DateUtility; public class EnumConfig { public static enum MessageType{ ask(0),help(1), both(2); public int code; MessageType(int code){ this.code = code; } private final static MessageType[] map = MessageType.values(); public static MessageType fromInt(int n){ return map[n]; } } public static enum Gender{ male(0),female(1),both(2); public int code; Gender(int code){ this.code = code; } private final static Gender[] map = Gender.values(); public static Gender fromInt(int n){ return map[n]; } } public static enum PaymentMethod{ offline(0),paypal(1),all(2); public int code; PaymentMethod(int code){ this.code = code; } private final static PaymentMethod[] map = PaymentMethod.values(); public static PaymentMethod fromInt(int n){ return map[n]; } } //notifications and transactions are more time-sensitive, their states are more related to time and user interactions, event states will be used for their states public static enum TransactionState{ init(0), cancelled(1), aboutToStart(2), finished(3), underInvestigation(4), invalid(5); public int code; TransactionState(int code){ this.code = code; } private final static TransactionState[] map = TransactionState.values(); public static TransactionState fromInt(int n){ return map[n]; } } public static enum TransactionStateChangeAction{ init(0), cancel(1), report(2), evaluate(3); public int code; TransactionStateChangeAction(int code){ this.code = code; } private final static TransactionStateChangeAction[] map = TransactionStateChangeAction.values(); public static TransactionStateChangeAction fromInt(int n){ return map[n]; } } public static enum NotificationEvent{ transactionInit(0), transactionCancelled(1), transactionAboutToStart(2), transactionEvaluated(3), tranasctionUnderInvestigation(4), transactionReleased(5), watched(6), newLetter(7); public int code; NotificationEvent(int code){ this.code = code; } private final static NotificationEvent[] map = NotificationEvent.values(); public static NotificationEvent fromInt(int n){ return map[n]; } } public static enum NotificationState{ unread(0), read(1); public int code; NotificationState(int code){ this.code = code; } private final static NotificationState[] map = NotificationState.values(); public static NotificationState fromInt(int n){ return map[n]; } } public static enum NotificationStateChangeActon{ check(0), delete(1); public int code; NotificationStateChangeActon(int code){ this.code = code; } private final static NotificationStateChangeActon[] map = NotificationStateChangeActon.values(); public static NotificationStateChangeActon fromInt(int n){ return map[n]; } } //states of the user account, more states reserved for future uses public static enum UserState{ normal(0); public int code; UserState(int code){ this.code = code; } private final static UserState[] map = UserState.values(); public static UserState fromInt(int n){ return map[n]; } } public static enum UserSearchState{ universityAsk(0), universityHelp(1), regionAsk(2), regionHelp(3), universityGroupAsk(4), universityGroupHelp(5); public int code; UserSearchState(int code){ this.code = code; } private final static UserSearchState[] map = UserSearchState.values(); public static UserSearchState fromInt(int n){ return map[n]; } } //states of the message, more states reserved for future uses public static enum MessageState{ deleted(0),closed(1),open(2); public int code; MessageState(int code){ this.code = code; } private final static MessageState[] map = MessageState.values(); public static MessageState fromInt(int n){ return map[n]; } } public static enum TransactionType{ departure(0), arrival(1); public int code; TransactionType(int code){ this.code = code; } private final static TransactionType[] map = TransactionType.values(); public static TransactionType fromInt(int n){ return map[n]; } } public static enum DayTimeSlot{ n0(0), n1(1), n2(2), n3(3), n4(4), n5(5), n6(6), n7(7), n8(8), n9(9), n10(10), n11(11), n12(12), n13(13), n14(14), n15(15), n16(16), n17(17), n18(18), n19(19), n20(20), n21(21), n22(22), n23(23); public int code; DayTimeSlot(int code){ this.code = code; } private final static DayTimeSlot[] map = DayTimeSlot.values(); public static DayTimeSlot fromInt(int n){ return map[n]; } public boolean isHourAfter(Calendar cal){ long givenHourTime = (cal.getTimeInMillis() % DateUtility.milisecInDay)/DateUtility.milisecInHour; return this.code > givenHourTime; } } public static enum LetterType{ user(0), system(1); public int code; LetterType(int code){ this.code = code; } private final static LetterType[] map = LetterType.values(); public static LetterType fromInt(int n){ return map[n]; } } public static enum LetterState{ unread(0), read(1), invalid(2); public int code; LetterState(int code){ this.code = code; } private final static LetterState[] map = LetterState.values(); public static LetterState fromInt(int n){ return map[n]; } } public static enum LetterDirection{ inbound(0), outbound(1), both(2); public int code; LetterDirection(int code){ this.code = code; } private final static LetterDirection[] map = LetterDirection.values(); public static LetterDirection fromInt(int n){ return map[n]; } } public static enum EmailEvent{ activeateAccount(0), forgotPassword(1), notification(2); public int code; EmailEvent(int code){ this.code = code; } private final static EmailEvent[] map = EmailEvent.values(); public static EmailEvent fromInt(int n){ return map[n]; } } public static enum LicenseType{ idCard(0), driverLisence_a(1), driverLisence_b(2), driverLisence_c(3); public int code; LicenseType(int code){ this.code = code; } private final static LicenseType[] map = LicenseType.values(); public static LicenseType fromInt(int n){ return map[n]; } } public static enum VerificationType{ driver(0), passenger(1); public int code; VerificationType(int code){ this.code = code; } private final static VerificationType[] map = VerificationType.values(); public static VerificationType fromInt(int n){ return map[n]; } } public static enum VerificationState{ pending(0), rejected(1), verified(2), expired(3); public int code; VerificationState(int code){ this.code = code; } private final static VerificationState[] map = VerificationState.values(); public static VerificationState fromInt(int n){ return map[n]; } } public static enum PassengerVerificationOrigin{ passenger(0), driver(1); public int code; PassengerVerificationOrigin(int code){ this.code = code; } private final static PassengerVerificationOrigin[] map = PassengerVerificationOrigin.values(); public static PassengerVerificationOrigin frontInt(int n){ return map[n]; } } /** -------------------Administrator-------------------**/ //the temporary admin access code, admin access will be checked against this code instead of user cookies public static final String access_admin = "4rkozalh48z1"; public static enum AdminRoutineAction{ clearBothDatabase(0), messageClean(1), transactionMonitor(2), cleanAndMonitor(3), reloadLocation(4); public int code; AdminRoutineAction(int code){ this.code = code; } private final static AdminRoutineAction[] map = AdminRoutineAction.values(); public static AdminRoutineAction fromInt(int n){ return map[n]; } } }