View Javadoc

1   package twcsckernel.projectbase.common;
2   
3   import java.io.IOException;
4   import java.rmi.Remote;
5   import java.rmi.RemoteException;
6   
7   import twcsckernel.projectbase.io.FileDescriptor;
8   import twcsckernel.projectbase.io.ItemNotFoundException;
9   
10  /***
11   * Interfejs zdalny zawierający metody analogiczne do metod klasy
12   * <i>java.io.File</i>. Sposób ich działania, parametry, wyniki oraz wyjątki są
13   * również analogiczne do metod klasy File. Wspólne różnice między metodami z
14   * klasy File a metodami tego interfejsu są następujące:
15   * <ul>
16   * <li>każda metoda odwołuje się do pliku, który jest utworzony po stronie
17   * serwerowej i przechowywany w mapie, której kluczem jest identyfikator typu
18   * Integer.Pierwszym parametrem każdej metody jest zatem ten identyfikator,</li>
19   * <li>jesli metoda klasy File rzuca wyjatek
20   * <i>SecurityException,ItemNotFoundException</i>, to analogiczne metody
21   * rzucają wyjątek <i>RMISecurityException,ItemNotFoundException</i>,</li>
22   * <li>sciezka absolutna/kanoniczna jest podawana od katalogu root wskazanego w
23   * implementacji tego interfejsu (powinien być to katalog root zalogowanego
24   * użytkownika)</li>
25   * </ul>
26   * 
27   * @author VMD Group
28   * 
29   */
30  public interface FileFactory extends Remote {
31  	public boolean disposeFileHandle(int fileID) throws RemoteException,
32  			ItemNotFoundException;
33  
34  	public char getSeparatorChar() throws RemoteException;
35  
36  	public String getSeparator() throws RemoteException;
37  
38  	public char getPathSeparatorChar() throws RemoteException;
39  
40  	public String getPathSeparator() throws RemoteException;
41  
42  	public String getName(int fileID) throws RemoteException,
43  			SecurityException, ItemNotFoundException;
44  
45  	public String getParent(int fileID) throws RemoteException,
46  			SecurityException, ItemNotFoundException;
47  
48  	public String getPath(int fileID) throws RemoteException,
49  			SecurityException, ItemNotFoundException;
50  
51  	public boolean canRead(int fileID) throws RemoteException,
52  			SecurityException, ItemNotFoundException;
53  
54  	public boolean canWrite(int fileID) throws RemoteException,
55  			SecurityException, ItemNotFoundException;
56  
57  	public boolean exists(int fileID) throws RemoteException,
58  			SecurityException, ItemNotFoundException;
59  
60  	public boolean isDirectory(int fileID) throws RemoteException,
61  			SecurityException, ItemNotFoundException;
62  
63  	public boolean isFile(int fileID) throws RemoteException,
64  			SecurityException, ItemNotFoundException;
65  
66  	public boolean isHidden(int fileID) throws RemoteException,
67  			SecurityException, ItemNotFoundException;
68  
69  	public long lastModified(int fileID) throws RemoteException,
70  			SecurityException, ItemNotFoundException;
71  
72  	public long length(int fileID) throws RemoteException, SecurityException,
73  			ItemNotFoundException;
74  
75  	public boolean createNewFile(int fileID) throws RemoteException,
76  			SecurityException, ItemNotFoundException, IOException;
77  
78  	public boolean delete(int fileID) throws RemoteException,
79  			SecurityException, ItemNotFoundException;
80  
81  	public FileDescriptor[] list(int fileID) throws RemoteException,
82  			SecurityException, ItemNotFoundException;
83  
84  	public boolean mkdir(int fileID) throws RemoteException, SecurityException,
85  			ItemNotFoundException;
86  
87  	public boolean mkdirs(int fileID) throws RemoteException,
88  			SecurityException, ItemNotFoundException;
89  
90  	public boolean renameTo(int fileID, String dest) throws RemoteException,
91  			SecurityException, ItemNotFoundException;
92  
93  	public boolean setLastModified(int fileID, long time)
94  			throws RemoteException, SecurityException, ItemNotFoundException;
95  
96  	public boolean setReadOnly(int fileID) throws RemoteException,
97  			SecurityException, ItemNotFoundException;
98  
99  	public FileDescriptor getDescriptor(int fileID) throws RemoteException,
100 			SecurityException, ItemNotFoundException;
101 }