1 /*** 2 * 3 */ 4 package twcsckernel.projectbase.common; 5 6 import java.io.FileNotFoundException; 7 import java.io.IOException; 8 import java.rmi.Remote; 9 import java.rmi.RemoteException; 10 11 import twcsckernel.projectbase.io.RemoteFile; 12 import twcsckernel.projectbase.io.RemoteFileInputStream; 13 import twcsckernel.projectbase.io.RemoteFileOutputStream; 14 15 public interface RemoteFileSystem extends Remote { 16 17 /*** 18 * Tworzy nowy obiekt pliku zdalnego na serwerze o podanej ścieżce. 19 * 20 * @param path 21 * ścieżka pliku zdalnego na serwerze (licząc od katalogu root 22 * użytkownika) 23 * @return obiekt pliku zdalnego 24 * @throws RemoteException 25 * @throws IOException - 26 * wyjątek jest rzucany jeśli serwer nie może utworzyć ścieżki 27 * kanonicznej dla podanej ścieżki 28 * @throws SecurityException - 29 * próba dostępu do zabronionego lub nieprawidłowego pliku 30 */ 31 public RemoteFile newRemoteFile(String path) throws RemoteException, 32 SecurityException, IOException; 33 34 /*** 35 * Metoda tworzy nowy zdalny strumień wyjścia. 36 * 37 * @param filePath - 38 * ścieżka pliku na serwerze sprawdzana przez odpowiedni manager 39 * bezpieczeństwa użytkownika 40 * @return - zdalny strumień wyjścia 41 * @throws RemoteException - 42 * standardowy wyjątek zdalny 43 * @throws FileNotFoundException - 44 * nie odnaleziono pliku (podana ściezka jest katalogiem) 45 * @throws SecurityException - 46 * próba dostępu do zabronionego lub nieprawidłowego pliku 47 */ 48 public RemoteFileOutputStream newFileOutputStream(String filePath) 49 throws RemoteException, FileNotFoundException, SecurityException; 50 51 /*** 52 * Metoda tworzy nowy zdalny strumień wejścia. 53 * 54 * @param filePath - 55 * ścieżka pliku na serwerze sprawdzana przez odpowiedni manager 56 * bezpieczeństwa użytkownika 57 * @return - zdalny strumień wejścia 58 * @throws RemoteException - 59 * standardowy wyjątek zdalny 60 * @throws FileNotFoundException - 61 * nie odnaleziono pliku 62 * @throws SecurityException - 63 * próba dostępu do zabronionego lub nieprawidłowego 64 * pliku/katalogu 65 */ 66 public RemoteFileInputStream newFileInputStream(String filePath) 67 throws RemoteException, FileNotFoundException, SecurityException; 68 }