package de.tum.in.tumcampusapp.tumonline; import de.tum.in.tumcampusapp.managers.CacheManager; import de.tum.in.tumcampusapp.models.tumo.AccessToken; import de.tum.in.tumcampusapp.models.tumo.CalendarRowSet; import de.tum.in.tumcampusapp.models.tumo.Employee; import de.tum.in.tumcampusapp.models.tumo.ExamList; import de.tum.in.tumcampusapp.models.tumo.IdentitySet; import de.tum.in.tumcampusapp.models.tumo.LectureAppointmentsRowSet; import de.tum.in.tumcampusapp.models.tumo.LectureDetailsRowSet; import de.tum.in.tumcampusapp.models.tumo.LecturesSearchRowSet; import de.tum.in.tumcampusapp.models.tumo.OrgDetailItemList; import de.tum.in.tumcampusapp.models.tumo.OrgItemList; import de.tum.in.tumcampusapp.models.tumo.PersonList; import de.tum.in.tumcampusapp.models.tumo.TokenConfirmation; import de.tum.in.tumcampusapp.models.tumo.TuitionList; /** * Enum for all TUMOnline access possibilities */ public final class TUMOnlineConst<T> { public static final TUMOnlineConst<CalendarRowSet> CALENDER = new TUMOnlineConst<>("kalender", CacheManager.VALIDITY_FIFE_DAYS, CalendarRowSet.class); public static final TUMOnlineConst<TuitionList> TUITION_FEE_STATUS = new TUMOnlineConst<>("studienbeitragsstatus", CacheManager.VALIDITY_TWO_DAYS, TuitionList.class); public static final TUMOnlineConst<LecturesSearchRowSet> LECTURES_PERSONAL = new TUMOnlineConst<>("veranstaltungenEigene", CacheManager.VALIDITY_FIFE_DAYS, LecturesSearchRowSet.class); public static final TUMOnlineConst<LectureDetailsRowSet> LECTURES_DETAILS = new TUMOnlineConst<>("veranstaltungenDetails", CacheManager.VALIDITY_TEN_DAYS, LectureDetailsRowSet.class); public static final TUMOnlineConst<LectureAppointmentsRowSet> LECTURES_APPOINTMENTS = new TUMOnlineConst<>("veranstaltungenTermine", CacheManager.VALIDITY_TEN_DAYS, LectureAppointmentsRowSet.class); public static final TUMOnlineConst<LecturesSearchRowSet> LECTURES_SEARCH = new TUMOnlineConst<>("veranstaltungenSuche", CacheManager.VALIDITY_DO_NOT_CACHE, LecturesSearchRowSet.class); public static final TUMOnlineConst<OrgItemList> ORG_TREE = new TUMOnlineConst<>("orgBaum", CacheManager.VALIDITY_ONE_MONTH, OrgItemList.class); public static final TUMOnlineConst<OrgDetailItemList> ORG_DETAILS = new TUMOnlineConst<>("orgDetails", CacheManager.VALIDITY_ONE_MONTH, OrgDetailItemList.class); public static final TUMOnlineConst<Employee> PERSON_DETAILS = new TUMOnlineConst<>("personenDetails", CacheManager.VALIDITY_FIFE_DAYS, Employee.class); public static final TUMOnlineConst<PersonList> PERSON_SEARCH = new TUMOnlineConst<>("personenSuche", CacheManager.VALIDITY_DO_NOT_CACHE, PersonList.class); public static final TUMOnlineConst<ExamList> EXAMS = new TUMOnlineConst<>("noten", CacheManager.VALIDITY_TEN_DAYS, ExamList.class); public static final TUMOnlineConst<TokenConfirmation> TOKEN_CONFIRMED = new TUMOnlineConst<>("isTokenConfirmed", CacheManager.VALIDITY_DO_NOT_CACHE, TokenConfirmation.class); public static final TUMOnlineConst<AccessToken> REQUEST_TOKEN = new TUMOnlineConst<>("requestToken", CacheManager.VALIDITY_DO_NOT_CACHE, AccessToken.class); public static final TUMOnlineConst<IdentitySet> IDENTITY = new TUMOnlineConst<>("id", CacheManager.VALIDITY_DO_NOT_CACHE, IdentitySet.class); public static final TUMOnlineConst<TokenConfirmation> SECRET_UPLOAD = new TUMOnlineConst<>("secretUpload", CacheManager.VALIDITY_DO_NOT_CACHE, TokenConfirmation.class); private final String webservice; private final int validity; private final Class<T> response; private TUMOnlineConst(final String s, final int v, final Class<T> r) { webservice = s; validity = v; response = r; } public int getValidity() { return validity; } public Class<T> getResponse() { return response; } @Override public String toString() { return webservice; } }