Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

FileField.java

00001 package edu.virtualschool.jwaa.field;
00002 
00003 import java.io.BufferedReader;
00004 import java.io.File;
00005 import java.io.FileNotFoundException;
00006 import java.io.FileReader;
00007 
00008 import edu.virtualschool.jwaa.xml.FileNotFoundFault;
00009 
00015 public final class FileField 
00016   extends GenericField
00017 {
00018   public final File file;
00019   public long lastModified;
00020   
00021   public FileField(String directory, String name)
00022   {
00023     this(directory+"/"+name);
00024   }
00025   public FileField(File file)
00026   {
00027     this(file.toString());
00028   }
00029   public FileField(String path)
00030   {
00031     super(path, "");
00032     this.file = new File(path);
00033     this.lastModified = -1L;
00034     if (!file.exists())
00035       setValid(false, file+" not found");
00036   }
00037   public boolean isUpToDate()
00038   {
00039     long modTime = file.lastModified();
00040     boolean isUptodate = lastModified >= modTime;
00041     return isUptodate;
00042   }
00043   public void update()
00044   {
00045     this.lastModified = file.lastModified();
00046   }
00047   public BufferedReader getReader() throws FileNotFoundFault
00048   {
00049     try
00050     {
00051       FileReader fr = new FileReader(file);
00052       BufferedReader br = new BufferedReader(fr);
00053       return br;
00054     }
00055     catch (FileNotFoundException e)
00056     {
00057       throw new FileNotFoundFault(file+" not found");
00058     }
00059   }
00060 }