// File.java // class that contains relevant information about created files import java.util.Vector; public class File { private String filename; // name of file private int characters; // number of characters in the file private boolean saved; // file is saved to disk or not private Vector < ListNode > sectorsUsed; // list of the sectors that the file occupies // constructor public File( String name ) { this ( name, 0, null, false ); } // end constructor // constructor public File( String name, int num) { this ( name, num, null, false ); } // end constructor // constructor public File( String name, int num, Vector sectors, boolean flag ) { setFileName( name ); setCharacters( num ); sectors = new Vector < ListNode > ( 0, 1 ); setSectorsUsed( sectors ); saved = flag; } // end constructor // set filename public void setFileName( String name ) { filename = name; } // end method setFileName // set number of characters public void setCharacters( int num ) { characters = ( num < 0 ? 0 : num ); } // end method setCharacters // set sector list public void setSectorsUsed( Vector sectors ) { sectorsUsed = sectors; } // end method setSectorList // get filename public String getFileName() { return filename; } // end method getFileName // get number of characters public int getCharacters() { return characters; } // end method getCharacters // get Sector list public Vector getSectorsUsed() { return sectorsUsed; } // end getSectorList // empty the vector of nodes public void clearSectorsUsed() { sectorsUsed.removeAllElements(); } // end method clearVector // return the number of sectors needed to store file public int getSectorsNeeded() { if ( characters % 4 == 0 ) return characters / 4; else return characters / 4 + 1; } // end method getSectorsNeeded // set saved variable public void setSaved( boolean flag ) { saved = flag; } // end method setSave // get save variable public boolean getSaved() { return saved; } // end method // print Sectors used to store a file public String printSectorsUsed() { Vector v = getSectorsUsed(); ListNode node; Sector sec; String string = ""; for( int i = 0; i < v.size(); i++ ) { node = ( ListNode ) v.get(i); sec = ( Sector ) node.getObject(); if ( i == v.size() - 1 ) string += sec.toString(); else string += sec.toString() + ", "; } // end for return string; } // end method // toString public String toString() { return String.format( "%s ", filename ); } // end method toString } // end class FileData