package grader.GradingScheme;


import java.util.Collection;

/**
 *
 * 
      A GradingScheme is a collection of grade ranges.  Together these grad
 *e 
      ranges map symbolic grades to numeric grades.  GradeScheme applies to the 
      whole grade book.  
       * 
 * @author 
 * @version 
 *
 **/

public class GradingScheme {

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

     }

     /** 
      AddMarkItem takes the current MarkSet and adds a Mark Item to it  **/
     protected MarkSet addMarkItem(MarkItem ms, MarkSet[] mi) {
          return null;
     }

     /** 
      AddMarkSet takes the current MarkSets and adds a Mark Set to it  **/
     protected MarkSets addMarkSet(MarkSet[] ms, MarkSets[] mss) {
          return null;
     }

     /** 
      DeleteMarkItem takes the current MarkSet and deletes the Mark Item from it  **/
     protected MarkSet deleteMarkItem(MarkItem ms, MarkSet[] mi) {
          return null;
     }

     /** 
      Edit Grade Scheme takes the current Grade Scheme, and an edited grade 
      range and outputs the new Grade Scheme.   **/
     protected GradingScheme editGradeScheme(GradeRange gs, GradeRange ngr, 
               GradingScheme[] ogr) {
          return null;
     }

     /** 
      Edit MarkSet takes an old MarkSet, a new MarkSet and a MarkSet
        * list and replaces 
	  the old MarkSet with the new MarkSet and returns an updated MarksSet list  **/
     protected MarkSets editMarkSet(MarkSet[] mso, MarkSet[] msn, MarkSets[] msl) {
          return null;
     }

     protected Collection<GradeRange> data;

}