package admin; /** * This class provides the functionality for the administrative user * upon accessing the application. */ abstract class MainUI { enum ViewOptions {List, Calendar, Filter}; enum DatabaseSelection {Classes, Classrooms, Instructors}; /** * GenerateOrViewSchedule brings up the interface for general schedule * handling. */ public abstract void generateOrViewSchedule(); /** * ViewOrEditDatabases brings up the interface for general database * handling. */ public abstract void viewOrEditDatabases(); /** * CreateSchedule brings up the interface that allows the administrative * user to make a new schedule. */ public abstract void createSchedule(); /** * EditSchedule brings up the interface that allows the administrative * user to make any changes to existing schedules. */ public abstract void editSchedule(); /** * ViewSchedule allows the administrative user to view existing schedules * in a variety of ways, specified by the 'options' parameter. * @param options */ public abstract void viewSchedule(ViewOptions options); /** * AccessDatabase allows the administrative user to access, update, and modify * a selected database, as specified by 'selection'. * @param selection */ public abstract void accessDatabase(DatabaseSelection selection); }