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 }