package Proctor; import java.util.Collection; /** A class which contains core functionality for proctor users * * @author Matthew Morris * @version 1 Build 1 Oct 25, 2013. */ public abstract class ProctorView{ /** A list of all tests which are launchable*/ protected Collection launchableTests; /** Allows a teacher to void a student's test if they are caught cheating * @param s The student whose test is being voided * @param t The test the student is (or was) taking **/ abstract void voidTest(Student s, Test t); //post: CompletedTest score is 0; /** Allows a teacher to send announcements to students * @param s The message that is to be sent * @param t The test to send the announcement to **/ abstract void sendAnnouncement(String s, Test t); /** Allows a teacher to extend the time allowed on a test * @param s The amount of minutes to extend the test by * @param t The test to extend **/ /*@ requires // // Amount of time is valid // (s > 0); ensures // // Test time is extended by s minutes // (old(t.closes.getMinutes()) + s == t.closes.getMinutes()); @*/ abstract void extendTime(int s, Test t); /** Allows a teacher to remove questions from a test * @param s The question to be removed * @param t The test to remove the question from **/ /*@ requires // // Test contains question to be removed // (t.questions.contains(s)); ensures // // The test no longer contains the question // (!t.questions.contains(s)); @*/ abstract void removeQuestions(Question s, Test t); }