package scheduler.ViewSchedule;

import scheduler.Database.*;
import scheduler.InstructorDB.*;
import scheduler.CourseDB.*;
import scheduler.LocationDB.*;
import scheduler.Conflict.*;
import scheduler.ScheduleQuality.*;
import scheduler.Generate.*;

import java.util.Collection;

/**
 *
 *  Home object for derived methods. 
 *    Derived from an FMSL opaque type.
 * 
 * @author 
 * @version 
 *
 **/

public class ViewSchedule {

     /** Default Constructor **/
     public ViewSchedule() {

     }

     /** Change the AdvancedFilter of the View and regenerate a schedule view to correspond with the new AdvancedFilter options **/
     protected View advancingFilter(AdvancedFilter v, View af) {
          return null;
     }

     /** Display a course schedule view for the given courses with the given
        * information specified in the ViewSetting, FilterOption, and AdvancedFilter **/
     protected View viewing(AdvancedFilter vs, ConstraintViolationList[] items, 
               PreferenceViolationList[] af, Schedule[] cvList, 
               ViewSetting pvList) {
          return null;
     }

     /** Display available instructors and locations for a class specified in the ScheduleItem during the time specified in the ScheduleItem **/
     protected Location viewingAvailability(ScheduleItem si) {
          return null;
     }

     /** Displaying the given ScheduleItem's full information on the dialog window **/
     protected ViewInfoDialog viewingInfoDialog(ConstraintViolationList[] si, 
               FilterOption fo, PreferenceViolationList[] cvList, 
               ScheduleItem pvList) {
          return null;
     }

     /** Display the given ScheduleItem(s)' information based on the FilterOption on a small popup window **/
     protected PopupView viewingPopup(FilterOption si, ScheduleItem fo) {
          return null;
     }

}