package scheduler.File;

import scheduler.ScheduleDB.*;

import java.util.Collection;

/**
 *
 * 
        A File is an abstraction of a file stored in the file space.  It has
 * a
        name, permissions, type, and data.  These are the components
 * sufficient
        to specify the behavior of Schedule Tool file operations.
     * 
 * @author 
 * @version 
 *
 **/

public class File {

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

     }

     /** 
	      Close the current schedule if it does not require saving
     **/
     protected UserWorkspace fileClose(FileSpace[] fs, UserWorkspace uws) {
          return null;
     }

     /** 
                   This takes in the name of what the new schedule is
        * to be called and creates a schedule
                   with temp
        * databases layout allowing the user to add entries into the temp database.
     **/
     protected UserWorkspace fileNewFromScratch(String string_, FileSpace[] fileSpace, 
               String string_, int fs, UserWorkspace fn, int uws) {
          return null;
     }

     /** File Open opens a file from disk and populates all windows with the correct data **/
     protected UserWorkspace fileOpen(String fs, FileSpace[] fn, 
               UserWorkspace uws) {
          return null;
     }

     /** 
        If the schedule in the given workspace requires saving, save it in the
        given file space.
     **/
     protected UserWorkspace fileSave(FileSpace[] fs, UserWorkspace uws) {
          return null;
     }

     protected String name;

     protected FilePermissions permissions;

     protected boolean file_type;

     protected int size;

     protected UserSchedule data;

}