package instructor;

import java.util.Collection;


/**
* This class contains the information from the database to populate the drop
*    down menu with current quarters to edit.
* @author celind
*/
abstract class QuarterSelect {
   public Collection<Quarter> quarters;
   public Quarter selectedQuarter;
   
   /**
    * Selects the specific quarter from the list of quarters
    */
    /*@
     requires   
      // 
      // The list of quarters is not empty
      //
      (quarters.size() != 0);
   
     ensures
      //
      // A schedule is selected from the available quarters
      //
      (quarters.contains(quarter) && selectedQuarter == quarter);
  
     @*/
   public abstract void selectQuarter(Quarter quarter);
   
   
   /**
   * Saves current schedule to be edited and ends QuarterSelectionGUI window
   */
    /*@
     requires   
      // 
      // The selected quarter is valid
      //
      quarters.contains(selectedQuarter);
   
     ensures
      //
      // A schedule is selected from the selected quarter
      //    and inputted for instructor preferences to be edited.
      //
      quarters.contains(selectedQuarter);
  
     @*/
   public abstract void submit();
}


/**
 * Object to keep track of the quarter information the administator has added
 */
abstract class Quarter {
   /**
   * quarter String is defined:
   * Fall
   * Winter
   * Spring
   * Summer
   */
   public String quarter;
   public int year;
}