|
Directory |
|
1 // joi/5/jfiles/Directory.java 2 // 3 // 4 // Copyright 2003 Ethan Bolker and Bill Campbell 5 6 import java.util.*; 7 8 /** 9 * Directory of JFiles. 10 * 11 * A Directory is a JFile that maintains a 12 * table of the JFiles it contains 13 * 14 * @version 5 15 */ 16 17 public class Directory extends JFile 18 { 19 private TreeMap jfiles; // table for JFiles in this Directory 20 21 /** 22 * Construct a Directory. 23 * 24 * @param name the name for this Directory (in its parent Directory) 25 * @param creator the owner of this new Directory 26 * @param parent the Directory in which this Directory lives. 27 */ 28 29 public Directory( String name, String creator, Directory parent) 30 { 31 super( name, creator, parent ); 32 jfiles = new TreeMap(); 33 } 34 35 /** 36 * The size of a directory is the number of TextFiles it contains. 37 * 38 * @return the number of TextFiles. 39 */ 40 41 public int getSize() 42 { 43 return jfiles.size(); 44 } 45 46 /** 47 * Suffix used for printing Directory names; 48 * we define it as the (system dependent) 49 * name separator used in path names. 50 * 51 * @return the suffix for Directory names. 52 */ 53 54 public String getSuffix() 55 { 56 return JFile.separator; 57 } 58 59 /** 60 * Add a JFile to this Directory. Overwrite if a JFile 61 * of that name already exists. 62 * 63 * @param name the name under which this JFile is added. 64 * @param afile the JFile to add. 65 */ 66 67 public void addJFile(String name, JFile afile) 68 { 69 jfiles.put( name, afile ); 70 setModDate(); 71 } 72 73 /** 74 * Get a JFile in this Directory, by name . 75 * 76 * @param filename the name of the JFile to find. 77 * @return the JFile found. 78 */ 79 80 public JFile retrieveJFile( String filename ) 81 { 82 JFile aFile = (JFile)jfiles.get( filename ); 83 return aFile; 84 } 85 86 /** 87 * Get the contents of this Directory as an array of 88 * the file names, each of which is a String. 89 * 90 * @return the array of names. 91 */ 92 93 public String[] getFileNames() 94 { 95 return (String[])jfiles.keySet().toArray( new String[0] ); 96 } 97 } 98
|
Directory |
|