package Assignments; import Visual.*; import Grades.*; import Info.*; import Prediction.*; import Reports.*; import java.util.Collection; /** * AssignmentsView represents the "Assignments Tab" in the grader project. */ abstract public class AssignmentsView{ /** * A collection of all the assignments created by the instructor to date. */ Collection assignments; /** * A collection of top level categories, which each contain subcategories. */ Collection categories; /** * Represents which column (name, points, etc.) is currently being sorted. */ int sortedColumn; /** * Adds an assignment to the assignments collection. */ /*@ requires //assignment is not already present in assignments. ! assignments.contains(assignment); ensures //assignment is now present in assignments. assignments.contains(assignment); @*/ abstract void addAssignment(Assignment assignment); /** * Removes and assignment from the assignments collection. */ /*@ requires //assignment is present in assignments. assignments.contains(assignment); ensures //assignment is now not present in assignments. ! assignments.contains(assignment); @*/ abstract void removeAssignment(Assignment assignment); /** * Switches out the old assignment with the new one. */ /*@ requires //oldA is present in assignments. assignments.contains(oldA) && //newA is different from oldA. ! newA.equals(oldA); ensures //If oldA was present in assignments, oldA is no longer present in assignments and newA is now present in assignments. \old(assignments).contains(oldA) ==> (!assignments.contains(oldA) && assignments.contains(newA)); @*/ abstract void changeAssignment(Assignment oldA, Assignment newA); /** * Sorts the assignment list by a certain column. */ abstract void sort(int column, boolean ascending); }