1 33 34 package edu.rice.cs.drjava.config; 35 36 import java.io.*; 37 38 41 public class FileOption extends Option<File> { 42 43 44 public static final File NULL_FILE = new File("") { 45 public boolean canRead() { return false; } 46 public boolean canWrite() { return false; } 47 public int compareTo(File f) { return (f == this) ? 0 : -1; } 48 public boolean createNewFile() { return false; } 49 public boolean delete() { return false; } 50 public void deleteOnExit() {} 51 public boolean equals(Object o) { return o == this; } 52 public boolean exists() { return true; } 53 public File getAbsoluteFile() { return this; } 54 public String getAbsolutePath() { return ""; } 55 public File getCanonicalFile() { return this; } 56 public String getCanonicalPath() { return ""; } 57 public String getName() { return ""; } 58 public String getParent() { return null; } 59 public File getParentFile() { return null; } 60 public String getPath() { return ""; } 61 public int hashCode() { return getClass().hashCode(); } 62 public boolean isAbsolute() { return false; } 63 public boolean isDirectory() { return false; } 64 public boolean isFile() { return false; } 65 public boolean isHidden() { return false; } 66 public long lastModified() { return 0L; } 67 public long length() { return 0L; } 68 public String [] list() { return null; } 69 public String [] list(FilenameFilter filter) { return null; } 70 public File[] listFiles() { return null; } 71 public File[] listFiles(FileFilter filter) { return null; } 72 public File[] listFiles(FilenameFilter filter) { return null; } 73 public boolean mkdir() { return false; } 74 public boolean mkdirs() { return false; } 75 public boolean renameTo(File dest) { return false; } 76 public boolean setLastModified(long time) { return false; } 77 public boolean setReadOnly() { return false; } 78 public String toString() { return ""; } 79 }; 82 83 84 public FileOption(String key, File def) { super(key,def); } 85 86 89 public File parse(String s) { 90 if (s.trim().equals("")) return NULL_FILE; 91 92 try { return new File(s).getAbsoluteFile(); } 93 catch (NullPointerException e) { throw new OptionParseException(name, s, "Must have a legal filename."); } 94 } 95 96 99 public String format(File f) { return f.getAbsolutePath(); } 100 } | Popular Tags |