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 }