package view;
import database.Instructor;
import java.util.Collection;

/**
 * Derived from Section 2.3.1.3 of the requirements
 * This is when Instructors and Admin are updating 
 * Instructor personal information.
 * @author jnpease
 */
abstract class EditPersonalInformationView {

    Collection<Instructor> iList;

    String lastName;
    String firstName;
    String title;
    String alias;
    String officeNumber;
    String phoneNumber;
    int WTU;
    String emplId;
    String notes;
	
    /**
     * "Cancel" button
     * Cancel editing information. This will clear
     * the "Edit Personal Information" box and
     * return to the "Instructor List" page.
     */
    abstract void confirmCancel();
    /**
     * "Save" button
     * Confirm changes. 
     * This will change the information for the Instructor
     * in the list.
     */
    abstract void confirmSave();
    
    /**
     * This is the Edit Personal Information
     * box with multiple text fields to update a 
     * particular instructor's person information.
     * @param inst is the instructor who the admin is editing. 
     */
     /*@
      requires
        //
        // The instructor the admin specifies must
        // exist already in the instructor database
        // to edit its personal information.
        //
        (iList.contains(inst));
      @*/
    abstract void updateInstructorPersonalInfo(Instructor inst);
    
}