1
2
3
4
5 package xjavadoc.filesystem;
6
7 import java.io.IOException;
8 import java.io.UnsupportedEncodingException;
9 import java.io.Writer;
10 import java.io.Reader;
11 import java.io.OutputStream;
12 import java.io.FileNotFoundException;
13
14 /***
15 * An interface that allows XJavadoc to read and write from any
16 * source/destination and not just files.
17 *
18 * @author <a href="dim@bigpond.net.au">Dmitri Colebatch</a>
19 * @created September 25, 2002
20 */
21 public interface AbstractFile
22 {
23
24 /***
25 * Obtain a reader for the file.
26 *
27 * @return
28 * @exception IOException
29 */
30 Reader getReader() throws IOException;
31
32 /***
33 * Obtain a writer for the file.
34 *
35 * @return
36 * @exception IOException
37 */
38 Writer getWriter() throws IOException;
39
40 /***
41 * Determine if the file is writeable or not.
42 *
43 * @return
44 */
45 boolean isWriteable();
46
47 /***
48 * Get the last modified timestamp of the file, or 0 if not available.
49 *
50 * @return
51 */
52 long lastModified();
53
54 /***
55 * Get an outputstream for the file.
56 *
57 * @return
58 * @exception IOException
59 */
60 OutputStream getOutputStream() throws IOException;
61
62 String getPath();
63
64 /***
65 * @param encoding
66 * @return
67 */
68 public Reader getReader(String enc) throws UnsupportedEncodingException, FileNotFoundException;
69 }